openapi: 3.0.0
paths:
  /health:
    get:
      operationId: liveness[0]
      parameters: []
      responses:
        '200':
          description: The Health Check is successful
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    example: ok
                  info:
                    type: object
                    example: &ref_0
                      database: &ref_1
                        status: up
                    additionalProperties:
                      type: object
                      required:
                        - status
                      properties:
                        status:
                          type: string
                      additionalProperties: true
                    nullable: true
                  error:
                    type: object
                    example: {}
                    additionalProperties:
                      type: object
                      required:
                        - status
                      properties:
                        status:
                          type: string
                      additionalProperties: true
                    nullable: true
                  details:
                    type: object
                    example: *ref_0
                    additionalProperties:
                      type: object
                      required:
                        - status
                      properties:
                        status:
                          type: string
                      additionalProperties: true
        '503':
          description: The Health Check is not successful
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    example: error
                  info:
                    type: object
                    example: *ref_0
                    additionalProperties:
                      type: object
                      required:
                        - status
                      properties:
                        status:
                          type: string
                      additionalProperties: true
                    nullable: true
                  error:
                    type: object
                    example:
                      redis: &ref_2
                        status: down
                        message: Could not connect
                    additionalProperties:
                      type: object
                      required:
                        - status
                      properties:
                        status:
                          type: string
                      additionalProperties: true
                    nullable: true
                  details:
                    type: object
                    example:
                      database: *ref_1
                      redis: *ref_2
                    additionalProperties:
                      type: object
                      required:
                        - status
                      properties:
                        status:
                          type: string
                      additionalProperties: true
      tags: &ref_6
        - Health
  /health/live:
    get:
      operationId: liveness[1]
      parameters: []
      responses:
        '200':
          description: The Health Check is successful
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    example: ok
                  info:
                    type: object
                    example: &ref_3
                      database: &ref_4
                        status: up
                    additionalProperties:
                      type: object
                      required:
                        - status
                      properties:
                        status:
                          type: string
                      additionalProperties: true
                    nullable: true
                  error:
                    type: object
                    example: {}
                    additionalProperties:
                      type: object
                      required:
                        - status
                      properties:
                        status:
                          type: string
                      additionalProperties: true
                    nullable: true
                  details:
                    type: object
                    example: *ref_3
                    additionalProperties:
                      type: object
                      required:
                        - status
                      properties:
                        status:
                          type: string
                      additionalProperties: true
        '503':
          description: The Health Check is not successful
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    example: error
                  info:
                    type: object
                    example: *ref_3
                    additionalProperties:
                      type: object
                      required:
                        - status
                      properties:
                        status:
                          type: string
                      additionalProperties: true
                    nullable: true
                  error:
                    type: object
                    example:
                      redis: &ref_5
                        status: down
                        message: Could not connect
                    additionalProperties:
                      type: object
                      required:
                        - status
                      properties:
                        status:
                          type: string
                      additionalProperties: true
                    nullable: true
                  details:
                    type: object
                    example:
                      database: *ref_4
                      redis: *ref_5
                    additionalProperties:
                      type: object
                      required:
                        - status
                      properties:
                        status:
                          type: string
                      additionalProperties: true
      tags: *ref_6
  /health/ready:
    get:
      operationId: readiness
      parameters: []
      responses:
        '200':
          description: The Health Check is successful
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    example: ok
                  info:
                    type: object
                    example: &ref_7
                      database: &ref_8
                        status: up
                    additionalProperties:
                      type: object
                      required:
                        - status
                      properties:
                        status:
                          type: string
                      additionalProperties: true
                    nullable: true
                  error:
                    type: object
                    example: {}
                    additionalProperties:
                      type: object
                      required:
                        - status
                      properties:
                        status:
                          type: string
                      additionalProperties: true
                    nullable: true
                  details:
                    type: object
                    example: *ref_7
                    additionalProperties:
                      type: object
                      required:
                        - status
                      properties:
                        status:
                          type: string
                      additionalProperties: true
        '503':
          description: The Health Check is not successful
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    example: error
                  info:
                    type: object
                    example: *ref_7
                    additionalProperties:
                      type: object
                      required:
                        - status
                      properties:
                        status:
                          type: string
                      additionalProperties: true
                    nullable: true
                  error:
                    type: object
                    example:
                      redis: &ref_9
                        status: down
                        message: Could not connect
                    additionalProperties:
                      type: object
                      required:
                        - status
                      properties:
                        status:
                          type: string
                      additionalProperties: true
                    nullable: true
                  details:
                    type: object
                    example:
                      database: *ref_8
                      redis: *ref_9
                    additionalProperties:
                      type: object
                      required:
                        - status
                      properties:
                        status:
                          type: string
                      additionalProperties: true
      tags: *ref_6
  /api/data-product:
    get:
      description: Search data products in the marketplace using the provided filters
      operationId: searchDataProducts
      parameters:
        - name: nextToken
          required: false
          in: query
          description: Pagination token to fetch the next page of results
          schema:
            type: string
        - name: limit
          required: false
          in: query
          description: The number of items to return per page
          schema:
            minimum: 1
            maximum: 100
            default: 10
            type: number
        - name: sortOrder
          required: false
          in: query
          schema:
            default: asc
            type: string
            enum:
              - asc
              - desc
        - name: sortBy
          required: false
          in: query
          schema:
            type: string
            enum:
              - name
        - name: nameFilter
          required: false
          in: query
          schema:
            type: string
        - name: statusFilter
          required: false
          in: query
          schema:
            type: array
            items:
              type: string
              enum:
                - APPROVED
                - CANCELED
                - DENIED
                - PENDING
                - NONE
                - PUBLISHER
                - REVOKED
                - EXPIRED
        - name: roleFilter
          required: false
          in: query
          schema:
            type: array
            items:
              type: string
              enum:
                - manager
                - member
                - noRole
                - steward
        - name: expiration
          required: false
          in: query
          description: Filter data products by whether data access has an expiration.
          schema:
            type: boolean
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedDataProduct'
      security: &ref_10
        - bearer: []
      summary: Search data products across the marketplace
      tags: &ref_11
        - Data Product
    post:
      description: Add one or more data products to the marketplace
      operationId: createDataProduct
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateDataProduct'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataProduct'
        '409':
          description: Data Product name in use.
      security: *ref_10
      summary: Add new data products to the marketplace
      tags: *ref_11
  /api/data-product/{id}:
    get:
      description: Get data product metadata for the specified data product ID
      operationId: getDataProductById
      parameters:
        - name: id
          required: true
          in: path
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataProduct'
      security: *ref_10
      summary: Get data product by ID
      tags: *ref_11
    put:
      description: Update an existing data product by ID
      operationId: updateDataProduct
      parameters:
        - name: id
          required: true
          in: path
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateDataProduct'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataProduct'
      security: *ref_10
      summary: Update an existing data product
      tags: *ref_11
    delete:
      description: Delete the specified data product from the system
      operationId: deleteDataProduct
      parameters:
        - name: id
          required: true
          in: path
          schema:
            type: string
      responses:
        '200':
          description: ''
      security: *ref_10
      summary: Delete data product by ID
      tags: *ref_11
  /api/data-product/{name}/byName:
    get:
      description: Get data product metadata for the specified data product name
      operationId: getDataProductByName
      parameters:
        - name: name
          required: true
          in: path
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataProduct'
      security: *ref_10
      summary: Get data product by name
      tags: *ref_11
  /api/data-product/{id}/datasources:
    put:
      description: >-
        Update the data sources associated with the data product. Any currently
        associated data sources not included in the payload will be removed.
      operationId: updateDataSources
      parameters:
        - name: id
          required: true
          in: path
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateDataSources'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataProduct'
      security: *ref_10
      summary: Update the data product's data sources
      tags:
        - Data Product
        - Data Source
    get:
      description: Search all data sources for the data product using the provided filters
      operationId: searchDataSources
      parameters:
        - name: id
          required: true
          in: path
          schema:
            type: string
        - name: nextToken
          required: false
          in: query
          description: Pagination token to fetch the next page of results
          schema:
            type: string
        - name: limit
          required: false
          in: query
          description: The number of items to return per page
          schema:
            minimum: 1
            maximum: 100
            default: 10
            type: number
        - name: user
          required: false
          in: query
          description: The global user ID to search data source access status for
          schema:
            format: uuid
            type: string
        - name: nameFilter
          required: false
          in: query
          description: Data source name to filter by
          schema:
            default: ''
            oneOf:
              - type: string
                description: Data source name to filter by
              - type: string
                minLength: 0
                maxLength: 0
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedDataSourceWithStatus'
      security: *ref_10
      summary: Search all data sources in the data product
      tags:
        - Data Product
        - Data Source
  /api/data-product/{id}/request:
    get:
      description: >-
        Search all access requests for the data product using the provided
        filters
      operationId: searchDataProductAccessRequests
      parameters:
        - name: id
          required: true
          in: path
          schema:
            type: string
        - name: searchText
          required: false
          in: query
          schema:
            type: string
        - name: status
          required: false
          in: query
          schema:
            type: array
            items:
              type: string
              enum:
                - APPROVED
                - CANCELED
                - DENIED
                - PENDING
                - NONE
                - PUBLISHER
                - REVOKED
                - EXPIRED
              example: PENDING
        - name: type
          required: false
          in: query
          schema:
            type: array
            items:
              type: string
              enum:
                - DATA_ACCESS
                - MASKING_EXCEPTION
              example: DATA_ACCESS
        - name: userIds
          required: false
          in: query
          schema:
            type: array
            items:
              type: string
        - name: historical
          required: false
          in: query
          description: Whether to include historical access requests
          schema:
            default: true
            type: boolean
        - name: includeTemporary
          required: false
          in: query
          description: Whether to include temporary access requests
          deprecated: true
          schema:
            default: false
            type: boolean
        - name: expiration
          required: false
          in: query
          description: Filter access requests by whether it has an expiration
          schema:
            type: boolean
        - name: dataProductId
          required: false
          in: query
          description: The ID of the data product to filter requests by
          schema:
            oneOf:
              - type: string
                format: cuid
                description: The ID of the data product to filter requests by
              - type: string
                format: uuid
        - name: assetId
          required: false
          in: query
          description: The ID of the asset to filter requests by
          schema:
            format: uuid
            type: string
        - name: assetType
          required: false
          in: query
          description: Filter access requests by asset type
          schema:
            type: array
            items:
              type: string
              enum:
                - DATA_PRODUCT
                - DATA_OBJECT
        - name: reviewStatus
          required: false
          in: query
          description: Filter access requests by review status
          schema:
            type: array
            items:
              type: string
              enum:
                - noReviews
                - reviewedByYou
                - awaitingReviewFromYou
        - name: offset
          required: false
          in: query
          schema:
            minimum: 0
            default: 0
            type: number
        - name: limit
          required: false
          in: query
          schema:
            minimum: 1
            default: 10
            type: number
        - name: sortOrder
          required: false
          in: query
          schema:
            default: desc
            type: string
            enum:
              - asc
              - desc
        - name: sortBy
          required: false
          in: query
          schema:
            default: createdAt
            type: string
            enum:
              - status
              - dataProduct
              - createdAt
              - updatedAt
              - expiration
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedAccessRequest'
      security: *ref_10
      summary: Search all access requests for the data product
      tags:
        - Data Product
        - Access Request
    post:
      description: Create a new data access request for the specified data product
      operationId: requestAccess
      parameters:
        - name: id
          required: true
          in: path
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateAccessRequest'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HydratedAccessRequest'
      security: *ref_10
      summary: Request access to a data product
      tags:
        - Data Product
        - Access Request
  /api/data-product/{id}/members:
    get:
      description: Search all approved access requests for the data product
      operationId: searchDataProductMembers
      parameters:
        - name: id
          required: true
          in: path
          schema:
            type: string
        - name: searchText
          required: false
          in: query
          schema:
            type: string
        - name: status
          required: false
          in: query
          schema:
            type: array
            items:
              type: string
              enum:
                - APPROVED
                - CANCELED
                - DENIED
                - PENDING
                - NONE
                - PUBLISHER
                - REVOKED
                - EXPIRED
              example: PENDING
        - name: type
          required: false
          in: query
          schema:
            type: array
            items:
              type: string
              enum:
                - DATA_ACCESS
                - MASKING_EXCEPTION
              example: DATA_ACCESS
        - name: userIds
          required: false
          in: query
          schema:
            type: array
            items:
              type: string
        - name: expiration
          required: false
          in: query
          description: Filter access requests by whether it has an expiration
          schema:
            type: boolean
        - name: dataProductId
          required: false
          in: query
          description: The ID of the data product to filter requests by
          schema:
            oneOf:
              - type: string
                format: cuid
                description: The ID of the data product to filter requests by
              - type: string
                format: uuid
        - name: assetId
          required: false
          in: query
          description: The ID of the asset to filter requests by
          schema:
            format: uuid
            type: string
        - name: assetType
          required: false
          in: query
          description: Filter access requests by asset type
          schema:
            type: array
            items:
              type: string
              enum:
                - DATA_PRODUCT
                - DATA_OBJECT
        - name: reviewStatus
          required: false
          in: query
          description: Filter access requests by review status
          schema:
            type: array
            items:
              type: string
              enum:
                - noReviews
                - reviewedByYou
                - awaitingReviewFromYou
        - name: offset
          required: false
          in: query
          schema:
            minimum: 0
            default: 0
            type: number
        - name: limit
          required: false
          in: query
          schema:
            minimum: 1
            default: 10
            type: number
        - name: sortOrder
          required: false
          in: query
          schema:
            default: desc
            type: string
            enum:
              - asc
              - desc
        - name: sortBy
          required: false
          in: query
          schema:
            default: createdAt
            type: string
            enum:
              - status
              - dataProduct
              - createdAt
              - updatedAt
              - expiration
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedAccessRequest'
      security: *ref_10
      summary: Search all access requests for the data product
      tags:
        - Data Product
        - Access Request
  /api/data-product/{id}/request/masking-exception:
    post:
      description: >-
        Create a new masking exception request for specific columns in the
        specified data product
      operationId: requestMaskingException
      parameters:
        - name: id
          required: true
          in: path
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateMaskingExceptionRequest'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HydratedAccessRequest'
      security: *ref_10
      summary: Request masking exception to columns in a data product
      tags:
        - Data Product
        - Access Request
  /api/data-product/{id}/request/{requestId}:
    delete:
      description: >-
        Updates the specified access request to revoked and revokes access to
        data sources associated with the data product
      operationId: revokeAccess
      parameters:
        - name: id
          required: true
          in: path
          schema:
            type: string
        - name: requestId
          required: true
          in: path
          schema:
            type: string
      responses:
        '204':
          description: ''
      security: *ref_10
      summary: Revoke access to a data product
      tags:
        - Data Product
        - Access Request
  /api/data-product/{id}/datasources/all:
    get:
      description: Get all data sources in the data product
      operationId: getAllDataSources
      parameters:
        - name: id
          required: true
          in: path
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AllDataSources'
      security: *ref_10
      summary: Get all data sources in the data product
      tags:
        - Data Product
        - Data Source
  /api/data-product/{id}/recent-determinations:
    get:
      description: >-
        Returns 5 most recent data access requests with a terminal status as
        well as the approval records which contributed to that status.
      operationId: recentDeterminations
      parameters:
        - name: id
          required: true
          in: path
          schema:
            type: string
        - name: type
          required: false
          in: query
          schema:
            default: DATA_ACCESS
            type: string
            enum:
              - DATA_ACCESS
              - MASKING_EXCEPTION
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecentDeterminations'
      security: *ref_10
      summary: Returns 5 most recent manual access determinations
      tags:
        - Data Product
        - Access Request
  /api/data-product/{id}/request-forms:
    get:
      description: Get all the request forms for the specified data product
      operationId: getRequestForms
      parameters:
        - name: id
          required: true
          in: path
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequestForms'
      security: *ref_10
      summary: View all request forms for a data product
      tags:
        - Data Product
        - Request Form
  /api/data-product/{id}/columns:
    get:
      description: Search and filter columns in the data product using the provided filters
      operationId: searchDataProductColumns
      parameters:
        - name: id
          required: true
          in: path
          schema:
            type: string
        - name: offset
          required: false
          in: query
          schema:
            minimum: 0
            default: 0
            type: number
        - name: limit
          required: false
          in: query
          schema:
            minimum: 1
            default: 10
            type: number
        - name: sortOrder
          required: false
          in: query
          schema:
            default: asc
            type: string
            enum:
              - asc
              - desc
        - name: dataObjectId
          required: false
          in: query
          description: The data object ID to search columns for
          schema:
            format: uuid
            type: string
        - name: dataSourceIds
          required: false
          in: query
          schema:
            default: []
            type: array
            items:
              type: string
        - name: searchText
          required: false
          in: query
          description: Search text to filter data source columns
          schema:
            type: string
        - name: maskedOnly
          required: false
          in: query
          description: Whether to filter columns that have a masking policy applied to them
          schema:
            default: false
            type: boolean
        - name: tagIds
          required: false
          in: query
          schema:
            default: []
            type: array
            items:
              type: string
        - name: dir
          required: false
          in: query
          schema:
            default: ASC
            type: string
            enum:
              - ASC
              - DESC
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedImmutaDataSourceColumns'
      security: *ref_10
      summary: Search columns in data product
      tags: *ref_11
  /api/access-request:
    get:
      description: Search and filter access requests the current user can manage
      operationId: searchAccessRequests
      parameters:
        - name: searchText
          required: false
          in: query
          schema:
            type: string
        - name: status
          required: false
          in: query
          schema:
            type: array
            items:
              type: string
              enum:
                - APPROVED
                - CANCELED
                - DENIED
                - PENDING
                - NONE
                - PUBLISHER
                - REVOKED
                - EXPIRED
              example: PENDING
        - name: type
          required: false
          in: query
          schema:
            type: array
            items:
              type: string
              enum:
                - DATA_ACCESS
                - MASKING_EXCEPTION
              example: DATA_ACCESS
        - name: userIds
          required: false
          in: query
          schema:
            type: array
            items:
              type: string
        - name: historical
          required: false
          in: query
          description: Whether to include historical access requests
          schema:
            default: true
            type: boolean
        - name: includeTemporary
          required: false
          in: query
          description: Whether to include temporary access requests
          deprecated: true
          schema:
            default: false
            type: boolean
        - name: expiration
          required: false
          in: query
          description: Filter access requests by whether it has an expiration
          schema:
            type: boolean
        - name: role
          required: false
          in: query
          schema:
            default:
              - requestor
              - manager
              - steward
            type: array
            items:
              type: string
              enum:
                - requestor
                - manager
                - steward
        - name: dataProductId
          required: false
          in: query
          description: The ID of the data product to filter requests by
          schema:
            oneOf:
              - type: string
                format: cuid
                description: The ID of the data product to filter requests by
              - type: string
                format: uuid
        - name: assetId
          required: false
          in: query
          description: The ID of the asset to filter requests by
          schema:
            format: uuid
            type: string
        - name: assetType
          required: false
          in: query
          description: Filter access requests by asset type
          schema:
            type: array
            items:
              type: string
              enum:
                - DATA_PRODUCT
                - DATA_OBJECT
        - name: reviewStatus
          required: false
          in: query
          description: Filter access requests by review status
          schema:
            type: array
            items:
              type: string
              enum:
                - noReviews
                - reviewedByYou
                - awaitingReviewFromYou
        - name: offset
          required: false
          in: query
          schema:
            minimum: 0
            default: 0
            type: number
        - name: limit
          required: false
          in: query
          schema:
            minimum: 1
            default: 10
            type: number
        - name: sortOrder
          required: false
          in: query
          schema:
            default: desc
            type: string
            enum:
              - asc
              - desc
        - name: sortBy
          required: false
          in: query
          schema:
            default: createdAt
            type: string
            enum:
              - status
              - dataProduct
              - createdAt
              - updatedAt
              - expiration
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedAccessRequest'
      security: &ref_12
        - bearer: []
      summary: Search access requests
      tags: &ref_13
        - Access Request
  /api/access-request/approved-masking-exception-columns:
    get:
      description: >-
        Returns the list of approved masking exception columns for the specified
        user
      operationId: getApprovedMaskingExceptionColumns
      parameters:
        - name: userId
          required: true
          in: query
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequestedMaskingExceptionColumns'
      security: *ref_12
      summary: >-
        Get the list of approved masking exception columns for the specified
        user
      tags: *ref_13
  /api/access-request/{id}:
    get:
      description: Returns specific details for a specific access request
      operationId: getAccessRequestById
      parameters:
        - name: id
          required: true
          in: path
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HydratedAccessRequest'
      security: *ref_12
      summary: Get individual access request
      tags: *ref_13
    delete:
      description: >-
        Cancel the specified pending access request by ID, cascading the
        cancellation to any pending and blocked approval records.
      operationId: cancelAccessRequest
      parameters:
        - name: id
          required: true
          in: path
          schema:
            type: string
      responses:
        '204':
          description: ''
      security: *ref_12
      summary: Cancel a pending access request
      tags: *ref_13
  /api/access-request/{id}/records:
    get:
      description: Returns all approval records associated with a specific access request
      operationId: getAccessRequestRecords
      parameters:
        - name: id
          required: true
          in: path
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApprovalRecords'
      security: *ref_12
      summary: Get approval records associated with the a request
      tags: *ref_13
  /api/access-request/{id}/risk-assessment:
    get:
      description: Returns the risk assessment for a specific access request
      operationId: getRiskAssessment
      parameters:
        - name: id
          required: true
          in: path
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RiskAssessmentResponse'
      security: *ref_12
      summary: Get the risk assessment for a specific access request
      tags: *ref_13
  /api/access-request/{id}/masking-exception-columns:
    get:
      description: >-
        Search masking exception columns associated with a specific masking
        exception request
      operationId: searchAccessRequestMaskingExceptionColumns
      parameters:
        - name: id
          required: true
          in: path
          schema:
            type: string
        - name: offset
          required: false
          in: query
          schema:
            minimum: 0
            default: 0
            type: number
        - name: limit
          required: false
          in: query
          schema:
            minimum: 1
            default: 10
            type: number
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedMaskingExceptionColumns'
      security: *ref_12
      summary: >-
        Search masking exception columns associated with the masking exception
        request
      tags: *ref_13
  /api/metadata/domain:
    get:
      description: >-
        Search Immuta domains that can be used to create a data product in the
        marketplace
      operationId: getAvailableDomains
      parameters: []
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ImmutaDomainSchemaResponse'
      security: &ref_14
        - bearer: []
      summary: Get available Immuta Domains
      tags: &ref_15
        - Metadata
  /api/metadata/domain/{id}/datasources:
    get:
      description: >-
        Search data sources within the selected domain that can be included in a
        data product
      operationId: getDomainDataSources
      parameters:
        - name: id
          required: true
          in: path
          schema:
            type: string
        - name: offset
          required: false
          in: query
          schema:
            minimum: 0
            default: 0
            type: number
        - name: limit
          required: false
          in: query
          schema:
            minimum: 1
            default: 10
            type: number
        - name: searchText
          required: false
          in: query
          description: Search text to filter data sources
          schema:
            type: string
        - name: dataSourceIds
          required: false
          in: query
          description: Array of ids to filter data sources
          schema:
            type: array
            items:
              type: number
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedImmutaDataSource'
      security: *ref_14
      summary: Search data sources in domain
      tags: *ref_15
  /api/metadata/domain/{id}:
    get:
      description: Returns the Immuta domain specified in the request
      operationId: getDomain
      parameters:
        - name: id
          required: true
          in: path
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ImmutaDomain'
      security: *ref_14
      summary: Get the specified domain
      tags: *ref_15
  /api/metadata/users:
    get:
      description: Search across all users in Immuta
      operationId: getImmutaUsers
      parameters:
        - name: limit
          required: false
          in: query
          schema:
            default: 100
            type: number
        - name: filter
          required: false
          in: query
          schema:
            type: string
        - name: globalUserId
          required: false
          in: query
          schema:
            type: array
            items:
              type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ImmutaUserList'
      security: *ref_14
      summary: Search Immuta users
      tags: *ref_15
  /api/metadata/groups:
    get:
      description: Search across all groups in Immuta
      operationId: getImmutaGroups
      parameters:
        - name: limit
          required: false
          in: query
          schema:
            default: 100
            type: number
        - name: filter
          required: false
          in: query
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ImmutaGroupList'
      security: *ref_14
      summary: Search Immuta groups
      tags: *ref_15
  /api/metadata/attributes:
    get:
      description: Search across all attributes in Immuta
      operationId: getImmutaAttributes
      parameters:
        - name: search
          required: false
          in: query
          schema:
            type: string
        - name: type
          required: false
          in: query
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ImmutaAttributeList'
      security: *ref_14
      summary: Search Immuta attributes
      tags: *ref_15
  /api/metadata/tags:
    get:
      description: Search across all tags in Immuta
      operationId: getImmutaTags
      parameters:
        - name: searchText
          required: false
          in: query
          description: A string used to filter returned tags based on name.
          schema:
            type: string
        - name: fuzzySearch
          required: false
          in: query
          description: Whether to perform a fuzzy search.
          schema:
            type: boolean
        - name: limit
          required: false
          in: query
          description: The maximum number of search results that will be returned.
          schema:
            maximum: 200
            type: number
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ImmutaTagSearchResponse'
      security: *ref_14
      summary: Search Immuta tags
      tags: *ref_15
  /api/notification/user-preferences:
    get:
      operationId: getUserPreferences
      parameters: []
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetUserPreferencesResponse'
      security: &ref_16
        - bearer: []
      tags: &ref_17
        - Notification
      description: Get the user preferences for notifications
      summary: Get user preferences
    put:
      operationId: updateUserPreferences
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateUserPreferencesRequest'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateUserPreferencesResponse'
      security: *ref_16
      tags: *ref_17
      description: Update the user preferences for notifications
      summary: Update user preferences
  /api/notification/user-provider-configs:
    put:
      operationId: updateUserProviderConfigs
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateUserProviderConfigsRequest'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateUserProviderConfigsResponse'
      security: *ref_16
      tags: *ref_17
  /api/notification/inbox/messages:
    get:
      description: Get a list of inbox messages for the current user, with optional filters for read status
      summary: Get inbox messages
      operationId: getInboxMessages
      parameters:
        - name: offset
          required: false
          in: query
          schema:
            minimum: 0
            default: 0
            type: number
        - name: limit
          required: false
          in: query
          schema:
            minimum: 1
            default: 10
            type: number
        - name: read
          required: false
          in: query
          schema:
            type: boolean
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedInboxMessages'
      security: *ref_16
      tags: *ref_17
  /api/notification/inbox/messages/{id}:
    get:
      description: Get the details of a specific inbox message by ID
      summary: Get inbox message by ID
      operationId: getInboxMessage
      parameters:
        - name: id
          required: true
          in: path
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InboxMessage'
      security: *ref_16
      tags: *ref_17
    patch:
      description: Update the read status of a specific inbox message by ID
      summary: Set inbox message read status
      operationId: setInboxMessageReadStatus
      parameters:
        - name: id
          required: true
          in: path
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateInboxMessage'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InboxMessage'
      security: *ref_16
      tags: *ref_17
  /api/notification/inbox/messages/update-bulk:
    patch:
      description: Update the read status of multiple inbox messages by their IDs
      summary: Bulk update inbox message read status
      operationId: updateInboxMessages
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateInboxMessages'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/InboxMessage'
      security: *ref_16
      tags: *ref_17
  /api/notification/webhook:
    get:
      description: Get a list of webhooks
      summary: Get webhooks
      operationId: getWebhooks
      parameters: []
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Webhook'
      security: *ref_16
      tags: *ref_17
    post:
      description: Create a new webhook
      summary: Create webhook
      operationId: createWebhook
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateWebhook'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Webhook'
      security: *ref_16
      tags: *ref_17
  /api/notification/webhook/{id}:
    get:
      description: Get the details of a specific webhook by ID
      summary: Get webhook by ID
      operationId: getWebhook
      parameters:
        - name: id
          required: true
          in: path
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Webhook'
      security: *ref_16
      tags: *ref_17
    put:
      description: Update the details of a specific webhook by ID
      summary: Update webhook
      operationId: updateWebhook
      parameters:
        - name: id
          required: true
          in: path
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateWebhook'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Webhook'
      security: *ref_16
      tags: *ref_17
    delete:
      description: Delete a specific webhook by ID
      summary: Delete webhook
      operationId: deleteWebhook
      parameters:
        - name: id
          required: true
          in: path
          schema:
            type: string
      responses:
        '204':
          description: ''
      security: *ref_16
      tags: *ref_17
  /api/notification/webhook/{id}/history:
    get:
      description: Get the history of a specific webhook by ID
      summary: Get webhook history
      operationId: getWebhookHistory
      parameters:
        - name: id
          required: true
          in: path
          schema:
            type: string
        - name: offset
          required: false
          in: query
          schema:
            minimum: 0
            default: 0
            type: number
        - name: limit
          required: false
          in: query
          schema:
            minimum: 1
            default: 10
            type: number
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedWebhookHistory'
      security: *ref_16
      tags: *ref_17
  /api/notification/webhook/{id}/test:
    post:
      description: Test a specific webhook by ID
      summary: Test webhook
      operationId: testWebhook
      parameters:
        - name: id
          required: true
          in: path
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhookTestResult'
      security: *ref_16
      tags: *ref_17
  /api/notification/webhook/test:
    post:
      description: Test all webhook configurations
      summary: Test webhook configuration
      operationId: testWebhookConfig
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateWebhook'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhookTestResult'
      security: *ref_16
      tags: *ref_17
  /api/notification/slack/configuration:
    get:
      description: Get the Slack notifications configuration
      summary: Get Slack notifications configuration
      operationId: getSlackConfiguration
      parameters: []
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetSlackConfigurationResponse'
      security: *ref_16
      tags: *ref_17
    delete:
      description: Delete the Slack notifications configuration
      summary: Delete Slack notifications configuration
      operationId: deleteSlackConfiguration
      parameters: []
      responses:
        '200':
          description: ''
      security: *ref_16
      tags: *ref_17
  /api/notification/slack/test:
    get:
      description: Test the Slack notifications configuration
      summary: Test Slack notifications configuration
      operationId: testSlackConnection
      parameters: []
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TestSlackConnectionResponse'
      security: *ref_16
      tags: *ref_17
  /api/data-use-agreement:
    post:
      description: Create a new data use agreement
      operationId: createDataUseAgreement
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateDataUseAgreement'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataUseAgreement'
        '409':
          description: There is already a data use agreement with this name.
      security: &ref_20
        - bearer: []
      summary: Create data use agreement
      tags: &ref_21
        - Data Use Agreement
    get:
      description: Search data use agreements in the marketplace using the provided filters
      operationId: searchDataUseAgreements
      parameters:
        - name: offset
          required: false
          in: query
          schema:
            minimum: 0
            default: 0
            type: number
        - name: limit
          required: false
          in: query
          schema:
            minimum: 1
            default: 10
            type: number
        - name: sortOrder
          required: false
          in: query
          schema:
            default: asc
            type: string
            enum:
              - asc
              - desc
        - name: sortBy
          required: false
          in: query
          schema:
            default: name
            type: string
            enum:
              - name
              - createdAt
              - updatedAt
        - name: nameFilter
          required: false
          in: query
          description: Filter results by data use agreement name
          schema:
            default: ''
            type: string
        - name: exactMatch
          required: false
          in: query
          description: Whether the filter should be an exact match
          schema:
            default: false
            type: boolean
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedDataUseAgreement'
      security: *ref_20
      summary: Search data use agreements
      tags: *ref_21
  /api/data-use-agreement/{id}:
    delete:
      description: Delete the specified data use agreement
      operationId: deleteDataUseAgreement
      parameters:
        - name: id
          required: true
          in: path
          schema:
            type: string
      responses:
        '204':
          description: ''
      security: *ref_20
      summary: Delete data use agreement
      tags: *ref_21
    put:
      description: Update a data use agreement
      operationId: updateDataUseAgreement
      parameters:
        - name: id
          required: true
          in: path
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateDataUseAgreement'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataUseAgreement'
        '409':
          description: There is already a data use agreement with this name.
      security: *ref_20
      summary: Update data use agreement
      tags: *ref_21
    get:
      description: Get data use agreement by ID
      operationId: getDataUseAgreementById
      parameters:
        - name: id
          required: true
          in: path
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataUseAgreement'
      security: *ref_20
      summary: Get data use agreement by ID
      tags: *ref_21
  /api/data-use-agreement/{id}/request-forms:
    get:
      description: Get request forms associated with a data use agreement.
      operationId: getAssociatedRequestForms
      parameters:
        - name: id
          required: true
          in: path
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssociatedRequestForms'
      security: *ref_20
      summary: Get request forms associated with a data use agreement
      tags: *ref_21
  /api/approval-record/{id}:
    put:
      description: Modify a pending approval record as an approver
      operationId: updateApprovalRecord
      parameters:
        - name: id
          required: true
          in: path
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateApprovalRecordRequest'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApprovalRecord'
      security:
        - bearer: []
      summary: Approve or reject an approval record
      tags:
        - Access Request
  /api/auth/login:
    get:
      operationId: login
      parameters:
        - name: tenantPrefix
          required: true
          in: query
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthLoginResponse'
        '400':
          description: Tenant does not exist
      tags: &ref_22
        - Auth
  /api/auth/logout:
    get:
      operationId: logout
      parameters: []
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthLogoutResponse'
      tags: *ref_22
  /api/auth/callback:
    post:
      operationId: callback
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuthCallbackBody'
      responses:
        '201':
          description: ''
      tags: *ref_22
  /api/auth/user:
    get:
      operationId: user
      parameters: []
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserWithPermissionsAndEntitlements'
      tags: *ref_22
  /api/auth/tokens/{id}:
    get:
      operationId: getToken
      parameters:
        - name: id
          required: true
          in: path
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PersonalAccessToken'
      tags: *ref_22
    delete:
      operationId: deleteToken
      parameters:
        - name: id
          required: true
          in: path
          schema:
            type: string
      responses:
        '200':
          description: ''
      tags: *ref_22
  /api/auth/tokens:
    get:
      operationId: listTokens
      parameters: []
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PersonalAccessToken'
      tags: *ref_22
    post:
      operationId: createToken
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreatePersonalAccessToken'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreatePersonalAccessTokenResponse'
      tags: *ref_22
  /api/settings/frontend:
    get:
      description: Get the settings for the frontend marketplace application.
      operationId: getFrontendSettings
      parameters: []
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FrontendSettings'
      summary: Frontend settings
      tags:
        - Settings
  /api/request-form:
    post:
      description: Create a request form
      operationId: createRequestForm
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateRequestForm'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequestForm'
        '409':
          description: Request form with name already exists.
      security: &ref_23
        - bearer: []
      summary: Create request form
      tags: &ref_24
        - Request Form
    get:
      description: Search request forms in the marketplace using the provided filters
      operationId: searchRequestForms
      parameters:
        - name: offset
          required: false
          in: query
          schema:
            minimum: 0
            default: 0
            type: number
        - name: limit
          required: false
          in: query
          schema:
            minimum: 1
            default: 10
            type: number
        - name: sortOrder
          required: false
          in: query
          schema:
            default: asc
            type: string
            enum:
              - asc
              - desc
        - name: sortBy
          required: false
          in: query
          schema:
            default: name
            type: string
            enum:
              - name
              - createdAt
              - updatedAt
        - name: nameFilter
          required: false
          in: query
          description: Filter results by request form name
          schema:
            default: ''
            type: string
        - name: exactMatch
          required: false
          in: query
          description: Whether the filter should be an exact match
          schema:
            default: false
            type: boolean
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedRequestForm'
      security: *ref_23
      summary: Search request forms
      tags: *ref_24
  /api/request-form/{id}:
    get:
      description: Get request form by ID
      operationId: getRequestFormById
      parameters:
        - name: id
          required: true
          in: path
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequestForm'
      security: *ref_23
      summary: Get request form by ID
      tags: *ref_24
    delete:
      description: Delete a request form
      operationId: deleteRequestFormById
      parameters:
        - name: id
          required: true
          in: path
          schema:
            type: string
      responses:
        '204':
          description: ''
      security: *ref_23
      summary: Delete request form by ID
      tags: *ref_24
    put:
      description: Update a request form
      operationId: updateRequestForm
      parameters:
        - name: id
          required: true
          in: path
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateRequestForm'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequestForm'
      security: *ref_23
      summary: Update request form by ID
      tags: *ref_24
  /api/request-form/version/{version}:
    get:
      description: Get request form by its version
      operationId: getRequestFormByVersion
      parameters:
        - name: version
          required: true
          in: path
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequestForm'
      security: *ref_23
      summary: Get request form by version
      tags: *ref_24
  /api/request-form/{id}/data-products:
    get:
      description: Get the data products assigned to the request form
      operationId: getDataProducts
      parameters:
        - name: id
          required: true
          in: path
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LinkedDataProducts'
      security: *ref_23
      summary: Get data products assigned to the request form
      tags: *ref_24
  /api/request-form/{id}/assets:
    get:
      description: Get the assets assigned to the request form
      operationId: getAssets
      parameters:
        - name: id
          required: true
          in: path
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LinkedAssets'
      security: *ref_23
      summary: Get assets assigned to the request form
      tags: *ref_24
info:
  title: Immuta Data Marketplace
  description: >-
    This is the API for the Immuta Data Marketplace based on the OpenAPI 3.0
    specification. The API supports the discovery and management of data
    products as well as access to those products including both the request and
    approval process.
  version: '1.0'
  contact:
    name: Support
    url: https://support.immuta.com
    email: support@immuta.com
  termsOfService: https://www.immuta.com/terms-of-service
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0.html
tags:
  - name: Data Product
    description: APIs for managing data products
  - name: Access Request
    description: APIs for managing data access
  - name: Data Source
    description: APIs for managing data sources
  - name: Access Agreement
    description: APIs for managing access agreements
  - name: Health
    description: APIs for checking the health of the service
  - name: Metadata
    description: APIs used to retrieve metadata from Immuta to enrich the marketplace
  - name: Notification
    description: APIs for managing notifications
  - name: Settings
    description: APIs used to retrieve metadata settings
servers:
  - url: https://{global-segment}.api.immutacloud.com/marketplace
    description: Marketplace API Endpoint
    variables:
      global-segment:
        default: na
        enum:
          - na
          - eu
          - ap
        description: Marketplace API global segment
components:
  securitySchemes:
    bearer:
      scheme: bearer
      bearerFormat: JWT
      type: http
  schemas:
    PaginatedDataProduct:
      type: object
      properties:
        data:
          type: array
          items:
            type: object
            properties:
              id:
                oneOf:
                  - type: string
                    format: cuid
                  - type: string
                    format: uuid
              name:
                type: string
                minLength: 1
                maxLength: 255
                pattern: ^[a-zA-Z0-9)(\-_/\\\s]*$
                description: Data product name
              description:
                oneOf:
                  - type: string
                    description: Data product description
                    example: All sales records from the current fiscal year
                nullable: true
                description: Data product description
              domains:
                type: array
                items:
                  type: string
                minItems: 1
                example: &ref_25
                  - 4d004a3a-4568-4c1d-822e-30958ef898dc
              suspended:
                type: boolean
                description: Whether access to the data product's data sources is suspended
                example: false
              createdBy:
                type: string
                format: uuid
                description: Immuta global user ID of the user who created the data product
              createdAt:
                type: string
                format: date-time
              updatedAt:
                type: string
                format: date-time
              status:
                type: string
                enum:
                  - APPROVED
                  - CANCELED
                  - DENIED
                  - PENDING
                  - NONE
                  - PUBLISHER
                  - REVOKED
                  - EXPIRED
                example: PENDING
              expiration:
                oneOf:
                  - type: string
                    format: date-time
                nullable: true
              stats:
                type: object
                properties:
                  dataSourceCount:
                    type: integer
                    description: Count of data sources in a data product
                  pendingRequestCount:
                    type: integer
                    description: Count of pending requests for a data product
                  approvedRequestCount:
                    type: integer
                    description: Count of approved requests for a data product
                  revokedRequestCount:
                    type: integer
                    description: Count of revoked requests for a data product
                  canceledRequestCount:
                    type: integer
                    description: Count of canceled requests for a data product
                  deniedRequestCount:
                    type: integer
                    description: Count of denied requests for a data product
                  totalRequestCount:
                    type: integer
                    description: Count of total requests for a data product
                required:
                  - dataSourceCount
                  - pendingRequestCount
                  - approvedRequestCount
                  - revokedRequestCount
                  - canceledRequestCount
                  - deniedRequestCount
                  - totalRequestCount
                description: Data product statistics
                title: Data Product Stats
              requestId:
                type: string
                format: cuid
                description: >-
                  If requested, the ID of the access request for the data
                  product
              sourceTypes:
                type: array
                items:
                  type: string
                description: The types of data sources contained in the data product.
                example: &ref_26
                  - Databricks
                  - Redshift
                  - Snowflake
              metadata:
                oneOf:
                  - type: object
                    properties:
                      subjectMatterExpert:
                        type: object
                        properties:
                          id:
                            type: string
                            format: uuid
                            description: >-
                              Immuta global user ID of the subject matter expert
                              for this data product
                          username:
                            type: string
                          name:
                            type: string
                        required:
                          - id
                    required:
                      - subjectMatterExpert
                nullable: true
              dataAccessPolicy:
                default: &ref_27
                  rules: []
                  defaultEvent:
                    type: review
                    params:
                      stages:
                        - any:
                            - type: PERMISSION
                              permission: GOVERNANCE
                            - type: DOMAIN PERMISSION
                              permission: Manage Data Products
                type: object
                properties:
                  version:
                    type: string
                    description: Policy schema version
                  rules:
                    type: array
                    items:
                      type: object
                      properties:
                        conditions:
                          oneOf:
                            - type: object
                              properties:
                                all:
                                  type: array
                                  items: {}
                              required:
                                - all
                              additionalProperties: false
                            - type: object
                              properties:
                                any:
                                  type: array
                                  items: {}
                              required:
                                - any
                              additionalProperties: false
                            - type: object
                              properties:
                                not: {}
                              required:
                                - not
                              additionalProperties: false
                        event:
                          discriminator:
                            propertyName: type
                          oneOf:
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - approve
                                params:
                                  type: object
                                  properties:
                                    comment:
                                      type: string
                                    duration:
                                      type: number
                                      minimum: 1
                                    durationUnit:
                                      type: string
                                      enum:
                                        - HOURS
                                        - DAYS
                                        - WEEKS
                                        - MONTHS
                                        - YEARS
                                  additionalProperties: false
                              required:
                                - type
                                - params
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - deny
                                params:
                                  type: object
                                  properties:
                                    comment:
                                      type: string
                              required:
                                - type
                                - params
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - review
                                params:
                                  type: object
                                  properties:
                                    stages:
                                      type: array
                                      items:
                                        oneOf:
                                          - type: object
                                            properties:
                                              all:
                                                type: array
                                                items:
                                                  oneOf:
                                                    - type: object
                                                      properties:
                                                        type:
                                                          type: string
                                                          enum:
                                                            - USER
                                                          description: Entity type
                                                        id:
                                                          type: string
                                                          description: Entity ID
                                                        displayName:
                                                          type: string
                                                          description: Entity display name
                                                      required:
                                                        - type
                                                        - id
                                                    - type: object
                                                      properties:
                                                        type:
                                                          type: string
                                                          enum:
                                                            - GROUP
                                                          description: Entity type
                                                        id:
                                                          type: number
                                                          description: Entity ID
                                                        iamId:
                                                          type: string
                                                          description: IAM ID
                                                        name:
                                                          type: string
                                                          description: Entity display name
                                                      required:
                                                        - type
                                                        - name
                                                    - type: object
                                                      properties:
                                                        type:
                                                          type: string
                                                          enum:
                                                            - PERMISSION
                                                        permission:
                                                          type: string
                                                          enum:
                                                            - GOVERNANCE
                                                            - USER_ADMIN
                                                            - AUDIT
                                                          description: Global permission
                                                      required:
                                                        - type
                                                        - permission
                                                    - type: object
                                                      properties:
                                                        type:
                                                          type: string
                                                          enum:
                                                            - DOMAIN PERMISSION
                                                        permission:
                                                          type: string
                                                          enum:
                                                            - Manage Policies
                                                            - Audit Activity
                                                            - Manage Data Products
                                                            - Manage Identifiers
                                                          description: Domain permission
                                                        domainId:
                                                          type: string
                                                          description: Domain ID
                                                      required:
                                                        - type
                                                        - permission
                                                    - type: object
                                                      properties:
                                                        type:
                                                          type: string
                                                          enum:
                                                            - ATTRIBUTE
                                                        key:
                                                          type: string
                                                          description: Attribute key
                                                        value:
                                                          type: string
                                                          description: Attribute value
                                                      required:
                                                        - type
                                                        - key
                                                        - value
                                                minItems: 1
                                            required:
                                              - all
                                          - type: object
                                            properties:
                                              any:
                                                type: array
                                                items:
                                                  oneOf:
                                                    - type: object
                                                      properties:
                                                        type:
                                                          type: string
                                                          enum:
                                                            - USER
                                                          description: Entity type
                                                        id:
                                                          type: string
                                                          description: Entity ID
                                                        displayName:
                                                          type: string
                                                          description: Entity display name
                                                      required:
                                                        - type
                                                        - id
                                                    - type: object
                                                      properties:
                                                        type:
                                                          type: string
                                                          enum:
                                                            - GROUP
                                                          description: Entity type
                                                        id:
                                                          type: number
                                                          description: Entity ID
                                                        iamId:
                                                          type: string
                                                          description: IAM ID
                                                        name:
                                                          type: string
                                                          description: Entity display name
                                                      required:
                                                        - type
                                                        - name
                                                    - type: object
                                                      properties:
                                                        type:
                                                          type: string
                                                          enum:
                                                            - PERMISSION
                                                        permission:
                                                          type: string
                                                          enum:
                                                            - GOVERNANCE
                                                            - USER_ADMIN
                                                            - AUDIT
                                                          description: Global permission
                                                      required:
                                                        - type
                                                        - permission
                                                    - type: object
                                                      properties:
                                                        type:
                                                          type: string
                                                          enum:
                                                            - DOMAIN PERMISSION
                                                        permission:
                                                          type: string
                                                          enum:
                                                            - Manage Policies
                                                            - Audit Activity
                                                            - Manage Data Products
                                                            - Manage Identifiers
                                                          description: Domain permission
                                                        domainId:
                                                          type: string
                                                          description: Domain ID
                                                      required:
                                                        - type
                                                        - permission
                                                    - type: object
                                                      properties:
                                                        type:
                                                          type: string
                                                          enum:
                                                            - ATTRIBUTE
                                                        key:
                                                          type: string
                                                          description: Attribute key
                                                        value:
                                                          type: string
                                                          description: Attribute value
                                                      required:
                                                        - type
                                                        - key
                                                        - value
                                                minItems: 1
                                            required:
                                              - any
                                      description: Array of stages for manual review
                                  required:
                                    - stages
                              required:
                                - type
                                - params
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - dataProductPolicy
                              required:
                                - type
                      required:
                        - conditions
                        - event
                  defaultEvent:
                    discriminator:
                      propertyName: type
                    oneOf:
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - approve
                          params:
                            type: object
                            properties:
                              comment:
                                type: string
                              duration:
                                type: number
                                minimum: 1
                              durationUnit:
                                type: string
                                enum:
                                  - HOURS
                                  - DAYS
                                  - WEEKS
                                  - MONTHS
                                  - YEARS
                            additionalProperties: false
                        required:
                          - type
                          - params
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - review
                          params:
                            type: object
                            properties:
                              stages:
                                type: array
                                items:
                                  oneOf:
                                    - type: object
                                      properties:
                                        all:
                                          type: array
                                          items:
                                            oneOf:
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - USER
                                                    description: Entity type
                                                  id:
                                                    type: string
                                                    description: Entity ID
                                                  displayName:
                                                    type: string
                                                    description: Entity display name
                                                required:
                                                  - type
                                                  - id
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - GROUP
                                                    description: Entity type
                                                  id:
                                                    type: number
                                                    description: Entity ID
                                                  iamId:
                                                    type: string
                                                    description: IAM ID
                                                  name:
                                                    type: string
                                                    description: Entity display name
                                                required:
                                                  - type
                                                  - name
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - PERMISSION
                                                  permission:
                                                    type: string
                                                    enum:
                                                      - GOVERNANCE
                                                      - USER_ADMIN
                                                      - AUDIT
                                                    description: Global permission
                                                required:
                                                  - type
                                                  - permission
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - DOMAIN PERMISSION
                                                  permission:
                                                    type: string
                                                    enum:
                                                      - Manage Policies
                                                      - Audit Activity
                                                      - Manage Data Products
                                                      - Manage Identifiers
                                                    description: Domain permission
                                                  domainId:
                                                    type: string
                                                    description: Domain ID
                                                required:
                                                  - type
                                                  - permission
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - ATTRIBUTE
                                                  key:
                                                    type: string
                                                    description: Attribute key
                                                  value:
                                                    type: string
                                                    description: Attribute value
                                                required:
                                                  - type
                                                  - key
                                                  - value
                                          minItems: 1
                                      required:
                                        - all
                                    - type: object
                                      properties:
                                        any:
                                          type: array
                                          items:
                                            oneOf:
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - USER
                                                    description: Entity type
                                                  id:
                                                    type: string
                                                    description: Entity ID
                                                  displayName:
                                                    type: string
                                                    description: Entity display name
                                                required:
                                                  - type
                                                  - id
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - GROUP
                                                    description: Entity type
                                                  id:
                                                    type: number
                                                    description: Entity ID
                                                  iamId:
                                                    type: string
                                                    description: IAM ID
                                                  name:
                                                    type: string
                                                    description: Entity display name
                                                required:
                                                  - type
                                                  - name
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - PERMISSION
                                                  permission:
                                                    type: string
                                                    enum:
                                                      - GOVERNANCE
                                                      - USER_ADMIN
                                                      - AUDIT
                                                    description: Global permission
                                                required:
                                                  - type
                                                  - permission
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - DOMAIN PERMISSION
                                                  permission:
                                                    type: string
                                                    enum:
                                                      - Manage Policies
                                                      - Audit Activity
                                                      - Manage Data Products
                                                      - Manage Identifiers
                                                    description: Domain permission
                                                  domainId:
                                                    type: string
                                                    description: Domain ID
                                                required:
                                                  - type
                                                  - permission
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - ATTRIBUTE
                                                  key:
                                                    type: string
                                                    description: Attribute key
                                                  value:
                                                    type: string
                                                    description: Attribute value
                                                required:
                                                  - type
                                                  - key
                                                  - value
                                          minItems: 1
                                      required:
                                        - any
                                description: Array of stages for manual review
                            required:
                              - stages
                        required:
                          - type
                          - params
                required:
                  - rules
                  - defaultEvent
                description: Data product data access policy
                title: Data Product Data Access Policy
              maskingExceptionPolicy:
                default: &ref_28
                  rules: []
                  defaultEvent:
                    type: review
                    params:
                      stages:
                        - any:
                            - type: PERMISSION
                              permission: GOVERNANCE
                            - type: DOMAIN PERMISSION
                              permission: Manage Data Products
                type: object
                properties:
                  version:
                    type: string
                    description: Policy schema version
                  rules:
                    type: array
                    items:
                      type: object
                      properties:
                        conditions:
                          oneOf:
                            - type: object
                              properties:
                                all:
                                  type: array
                                  items: {}
                              required:
                                - all
                              additionalProperties: false
                            - type: object
                              properties:
                                any:
                                  type: array
                                  items: {}
                              required:
                                - any
                              additionalProperties: false
                            - type: object
                              properties:
                                not: {}
                              required:
                                - not
                              additionalProperties: false
                        event:
                          discriminator:
                            propertyName: type
                          oneOf:
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - approve
                                params:
                                  type: object
                                  properties:
                                    comment:
                                      type: string
                                    duration:
                                      type: number
                                      minimum: 1
                                    durationUnit:
                                      type: string
                                      enum:
                                        - HOURS
                                        - DAYS
                                        - WEEKS
                                        - MONTHS
                                        - YEARS
                                  additionalProperties: false
                              required:
                                - type
                                - params
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - deny
                                params:
                                  type: object
                                  properties:
                                    comment:
                                      type: string
                              required:
                                - type
                                - params
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - review
                                params:
                                  type: object
                                  properties:
                                    stages:
                                      type: array
                                      items:
                                        oneOf:
                                          - type: object
                                            properties:
                                              all:
                                                type: array
                                                items:
                                                  oneOf:
                                                    - type: object
                                                      properties:
                                                        type:
                                                          type: string
                                                          enum:
                                                            - USER
                                                          description: Entity type
                                                        id:
                                                          type: string
                                                          description: Entity ID
                                                        displayName:
                                                          type: string
                                                          description: Entity display name
                                                      required:
                                                        - type
                                                        - id
                                                    - type: object
                                                      properties:
                                                        type:
                                                          type: string
                                                          enum:
                                                            - GROUP
                                                          description: Entity type
                                                        id:
                                                          type: number
                                                          description: Entity ID
                                                        iamId:
                                                          type: string
                                                          description: IAM ID
                                                        name:
                                                          type: string
                                                          description: Entity display name
                                                      required:
                                                        - type
                                                        - name
                                                    - type: object
                                                      properties:
                                                        type:
                                                          type: string
                                                          enum:
                                                            - PERMISSION
                                                        permission:
                                                          type: string
                                                          enum:
                                                            - GOVERNANCE
                                                            - USER_ADMIN
                                                            - AUDIT
                                                          description: Global permission
                                                      required:
                                                        - type
                                                        - permission
                                                    - type: object
                                                      properties:
                                                        type:
                                                          type: string
                                                          enum:
                                                            - DOMAIN PERMISSION
                                                        permission:
                                                          type: string
                                                          enum:
                                                            - Manage Policies
                                                            - Audit Activity
                                                            - Manage Data Products
                                                            - Manage Identifiers
                                                          description: Domain permission
                                                        domainId:
                                                          type: string
                                                          description: Domain ID
                                                      required:
                                                        - type
                                                        - permission
                                                    - type: object
                                                      properties:
                                                        type:
                                                          type: string
                                                          enum:
                                                            - ATTRIBUTE
                                                        key:
                                                          type: string
                                                          description: Attribute key
                                                        value:
                                                          type: string
                                                          description: Attribute value
                                                      required:
                                                        - type
                                                        - key
                                                        - value
                                                minItems: 1
                                            required:
                                              - all
                                          - type: object
                                            properties:
                                              any:
                                                type: array
                                                items:
                                                  oneOf:
                                                    - type: object
                                                      properties:
                                                        type:
                                                          type: string
                                                          enum:
                                                            - USER
                                                          description: Entity type
                                                        id:
                                                          type: string
                                                          description: Entity ID
                                                        displayName:
                                                          type: string
                                                          description: Entity display name
                                                      required:
                                                        - type
                                                        - id
                                                    - type: object
                                                      properties:
                                                        type:
                                                          type: string
                                                          enum:
                                                            - GROUP
                                                          description: Entity type
                                                        id:
                                                          type: number
                                                          description: Entity ID
                                                        iamId:
                                                          type: string
                                                          description: IAM ID
                                                        name:
                                                          type: string
                                                          description: Entity display name
                                                      required:
                                                        - type
                                                        - name
                                                    - type: object
                                                      properties:
                                                        type:
                                                          type: string
                                                          enum:
                                                            - PERMISSION
                                                        permission:
                                                          type: string
                                                          enum:
                                                            - GOVERNANCE
                                                            - USER_ADMIN
                                                            - AUDIT
                                                          description: Global permission
                                                      required:
                                                        - type
                                                        - permission
                                                    - type: object
                                                      properties:
                                                        type:
                                                          type: string
                                                          enum:
                                                            - DOMAIN PERMISSION
                                                        permission:
                                                          type: string
                                                          enum:
                                                            - Manage Policies
                                                            - Audit Activity
                                                            - Manage Data Products
                                                            - Manage Identifiers
                                                          description: Domain permission
                                                        domainId:
                                                          type: string
                                                          description: Domain ID
                                                      required:
                                                        - type
                                                        - permission
                                                    - type: object
                                                      properties:
                                                        type:
                                                          type: string
                                                          enum:
                                                            - ATTRIBUTE
                                                        key:
                                                          type: string
                                                          description: Attribute key
                                                        value:
                                                          type: string
                                                          description: Attribute value
                                                      required:
                                                        - type
                                                        - key
                                                        - value
                                                minItems: 1
                                            required:
                                              - any
                                      description: Array of stages for manual review
                                  required:
                                    - stages
                              required:
                                - type
                                - params
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - dataProductPolicy
                              required:
                                - type
                      required:
                        - conditions
                        - event
                  defaultEvent:
                    discriminator:
                      propertyName: type
                    oneOf:
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - approve
                          params:
                            type: object
                            properties:
                              comment:
                                type: string
                              duration:
                                type: number
                                minimum: 1
                              durationUnit:
                                type: string
                                enum:
                                  - HOURS
                                  - DAYS
                                  - WEEKS
                                  - MONTHS
                                  - YEARS
                            additionalProperties: false
                        required:
                          - type
                          - params
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - review
                          params:
                            type: object
                            properties:
                              stages:
                                type: array
                                items:
                                  oneOf:
                                    - type: object
                                      properties:
                                        all:
                                          type: array
                                          items:
                                            oneOf:
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - USER
                                                    description: Entity type
                                                  id:
                                                    type: string
                                                    description: Entity ID
                                                  displayName:
                                                    type: string
                                                    description: Entity display name
                                                required:
                                                  - type
                                                  - id
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - GROUP
                                                    description: Entity type
                                                  id:
                                                    type: number
                                                    description: Entity ID
                                                  iamId:
                                                    type: string
                                                    description: IAM ID
                                                  name:
                                                    type: string
                                                    description: Entity display name
                                                required:
                                                  - type
                                                  - name
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - PERMISSION
                                                  permission:
                                                    type: string
                                                    enum:
                                                      - GOVERNANCE
                                                      - USER_ADMIN
                                                      - AUDIT
                                                    description: Global permission
                                                required:
                                                  - type
                                                  - permission
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - DOMAIN PERMISSION
                                                  permission:
                                                    type: string
                                                    enum:
                                                      - Manage Policies
                                                      - Audit Activity
                                                      - Manage Data Products
                                                      - Manage Identifiers
                                                    description: Domain permission
                                                  domainId:
                                                    type: string
                                                    description: Domain ID
                                                required:
                                                  - type
                                                  - permission
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - ATTRIBUTE
                                                  key:
                                                    type: string
                                                    description: Attribute key
                                                  value:
                                                    type: string
                                                    description: Attribute value
                                                required:
                                                  - type
                                                  - key
                                                  - value
                                          minItems: 1
                                      required:
                                        - all
                                    - type: object
                                      properties:
                                        any:
                                          type: array
                                          items:
                                            oneOf:
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - USER
                                                    description: Entity type
                                                  id:
                                                    type: string
                                                    description: Entity ID
                                                  displayName:
                                                    type: string
                                                    description: Entity display name
                                                required:
                                                  - type
                                                  - id
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - GROUP
                                                    description: Entity type
                                                  id:
                                                    type: number
                                                    description: Entity ID
                                                  iamId:
                                                    type: string
                                                    description: IAM ID
                                                  name:
                                                    type: string
                                                    description: Entity display name
                                                required:
                                                  - type
                                                  - name
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - PERMISSION
                                                  permission:
                                                    type: string
                                                    enum:
                                                      - GOVERNANCE
                                                      - USER_ADMIN
                                                      - AUDIT
                                                    description: Global permission
                                                required:
                                                  - type
                                                  - permission
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - DOMAIN PERMISSION
                                                  permission:
                                                    type: string
                                                    enum:
                                                      - Manage Policies
                                                      - Audit Activity
                                                      - Manage Data Products
                                                      - Manage Identifiers
                                                    description: Domain permission
                                                  domainId:
                                                    type: string
                                                    description: Domain ID
                                                required:
                                                  - type
                                                  - permission
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - ATTRIBUTE
                                                  key:
                                                    type: string
                                                    description: Attribute key
                                                  value:
                                                    type: string
                                                    description: Attribute value
                                                required:
                                                  - type
                                                  - key
                                                  - value
                                          minItems: 1
                                      required:
                                        - any
                                description: Array of stages for manual review
                            required:
                              - stages
                        required:
                          - type
                          - params
                required:
                  - rules
                  - defaultEvent
                description: Data product masking exception policy
                title: Data Product Masking Exception Policy
            required:
              - id
              - name
              - domains
              - suspended
              - createdBy
              - createdAt
              - updatedAt
              - metadata
        meta:
          type: object
          properties:
            nextToken:
              oneOf:
                - type: string
                  description: >-
                    Pagination token to fetch the next page of results, or null
                    if there are no more pages.
              nullable: true
              description: >-
                Pagination token to fetch the next page of results, or null if
                there are no more pages.
            limit:
              default: 10
              type: number
              minimum: 1
              maximum: 100
              description: The number of items to return per page
          required:
            - nextToken
      required:
        - data
        - meta
    DataProduct:
      type: object
      properties:
        id:
          oneOf:
            - type: string
              format: cuid
            - type: string
              format: uuid
        name:
          type: string
          minLength: 1
          maxLength: 255
          pattern: ^[a-zA-Z0-9)(\-_/\\\s]*$
          description: Data product name
        description:
          oneOf:
            - type: string
              description: Data product description
              example: All sales records from the current fiscal year
          nullable: true
          description: Data product description
        domains:
          type: array
          items:
            type: string
          minItems: 1
          example: *ref_25
        suspended:
          type: boolean
          description: Whether access to the data product's data sources is suspended
          example: false
        createdBy:
          type: string
          format: uuid
          description: Immuta global user ID of the user who created the data product
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        status:
          type: string
          enum:
            - APPROVED
            - CANCELED
            - DENIED
            - PENDING
            - NONE
            - PUBLISHER
            - REVOKED
            - EXPIRED
          example: PENDING
        expiration:
          oneOf:
            - type: string
              format: date-time
          nullable: true
        stats:
          type: object
          properties:
            dataSourceCount:
              type: integer
              description: Count of data sources in a data product
            pendingRequestCount:
              type: integer
              description: Count of pending requests for a data product
            approvedRequestCount:
              type: integer
              description: Count of approved requests for a data product
            revokedRequestCount:
              type: integer
              description: Count of revoked requests for a data product
            canceledRequestCount:
              type: integer
              description: Count of canceled requests for a data product
            deniedRequestCount:
              type: integer
              description: Count of denied requests for a data product
            totalRequestCount:
              type: integer
              description: Count of total requests for a data product
          required:
            - dataSourceCount
            - pendingRequestCount
            - approvedRequestCount
            - revokedRequestCount
            - canceledRequestCount
            - deniedRequestCount
            - totalRequestCount
          description: Data product statistics
          title: Data Product Stats
        requestId:
          type: string
          format: cuid
          description: If requested, the ID of the access request for the data product
        sourceTypes:
          type: array
          items:
            type: string
          description: The types of data sources contained in the data product.
          example: *ref_26
        metadata:
          oneOf:
            - type: object
              properties:
                subjectMatterExpert:
                  type: object
                  properties:
                    id:
                      type: string
                      format: uuid
                      description: >-
                        Immuta global user ID of the subject matter expert for
                        this data product
                    username:
                      type: string
                    name:
                      type: string
                  required:
                    - id
              required:
                - subjectMatterExpert
          nullable: true
        dataAccessPolicy:
          default: *ref_27
          type: object
          properties:
            version:
              type: string
              description: Policy schema version
            rules:
              type: array
              items:
                type: object
                properties:
                  conditions:
                    oneOf:
                      - type: object
                        properties:
                          all:
                            type: array
                            items: {}
                        required:
                          - all
                        additionalProperties: false
                      - type: object
                        properties:
                          any:
                            type: array
                            items: {}
                        required:
                          - any
                        additionalProperties: false
                      - type: object
                        properties:
                          not: {}
                        required:
                          - not
                        additionalProperties: false
                  event:
                    discriminator:
                      propertyName: type
                    oneOf:
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - approve
                          params:
                            type: object
                            properties:
                              comment:
                                type: string
                              duration:
                                type: number
                                minimum: 1
                              durationUnit:
                                type: string
                                enum:
                                  - HOURS
                                  - DAYS
                                  - WEEKS
                                  - MONTHS
                                  - YEARS
                            additionalProperties: false
                        required:
                          - type
                          - params
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - deny
                          params:
                            type: object
                            properties:
                              comment:
                                type: string
                        required:
                          - type
                          - params
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - review
                          params:
                            type: object
                            properties:
                              stages:
                                type: array
                                items:
                                  oneOf:
                                    - type: object
                                      properties:
                                        all:
                                          type: array
                                          items:
                                            oneOf:
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - USER
                                                    description: Entity type
                                                  id:
                                                    type: string
                                                    description: Entity ID
                                                  displayName:
                                                    type: string
                                                    description: Entity display name
                                                required:
                                                  - type
                                                  - id
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - GROUP
                                                    description: Entity type
                                                  id:
                                                    type: number
                                                    description: Entity ID
                                                  iamId:
                                                    type: string
                                                    description: IAM ID
                                                  name:
                                                    type: string
                                                    description: Entity display name
                                                required:
                                                  - type
                                                  - name
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - PERMISSION
                                                  permission:
                                                    type: string
                                                    enum:
                                                      - GOVERNANCE
                                                      - USER_ADMIN
                                                      - AUDIT
                                                    description: Global permission
                                                required:
                                                  - type
                                                  - permission
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - DOMAIN PERMISSION
                                                  permission:
                                                    type: string
                                                    enum:
                                                      - Manage Policies
                                                      - Audit Activity
                                                      - Manage Data Products
                                                      - Manage Identifiers
                                                    description: Domain permission
                                                  domainId:
                                                    type: string
                                                    description: Domain ID
                                                required:
                                                  - type
                                                  - permission
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - ATTRIBUTE
                                                  key:
                                                    type: string
                                                    description: Attribute key
                                                  value:
                                                    type: string
                                                    description: Attribute value
                                                required:
                                                  - type
                                                  - key
                                                  - value
                                          minItems: 1
                                      required:
                                        - all
                                    - type: object
                                      properties:
                                        any:
                                          type: array
                                          items:
                                            oneOf:
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - USER
                                                    description: Entity type
                                                  id:
                                                    type: string
                                                    description: Entity ID
                                                  displayName:
                                                    type: string
                                                    description: Entity display name
                                                required:
                                                  - type
                                                  - id
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - GROUP
                                                    description: Entity type
                                                  id:
                                                    type: number
                                                    description: Entity ID
                                                  iamId:
                                                    type: string
                                                    description: IAM ID
                                                  name:
                                                    type: string
                                                    description: Entity display name
                                                required:
                                                  - type
                                                  - name
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - PERMISSION
                                                  permission:
                                                    type: string
                                                    enum:
                                                      - GOVERNANCE
                                                      - USER_ADMIN
                                                      - AUDIT
                                                    description: Global permission
                                                required:
                                                  - type
                                                  - permission
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - DOMAIN PERMISSION
                                                  permission:
                                                    type: string
                                                    enum:
                                                      - Manage Policies
                                                      - Audit Activity
                                                      - Manage Data Products
                                                      - Manage Identifiers
                                                    description: Domain permission
                                                  domainId:
                                                    type: string
                                                    description: Domain ID
                                                required:
                                                  - type
                                                  - permission
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - ATTRIBUTE
                                                  key:
                                                    type: string
                                                    description: Attribute key
                                                  value:
                                                    type: string
                                                    description: Attribute value
                                                required:
                                                  - type
                                                  - key
                                                  - value
                                          minItems: 1
                                      required:
                                        - any
                                description: Array of stages for manual review
                            required:
                              - stages
                        required:
                          - type
                          - params
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - dataProductPolicy
                        required:
                          - type
                required:
                  - conditions
                  - event
            defaultEvent:
              discriminator:
                propertyName: type
              oneOf:
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - approve
                    params:
                      type: object
                      properties:
                        comment:
                          type: string
                        duration:
                          type: number
                          minimum: 1
                        durationUnit:
                          type: string
                          enum:
                            - HOURS
                            - DAYS
                            - WEEKS
                            - MONTHS
                            - YEARS
                      additionalProperties: false
                  required:
                    - type
                    - params
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - review
                    params:
                      type: object
                      properties:
                        stages:
                          type: array
                          items:
                            oneOf:
                              - type: object
                                properties:
                                  all:
                                    type: array
                                    items:
                                      oneOf:
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - USER
                                              description: Entity type
                                            id:
                                              type: string
                                              description: Entity ID
                                            displayName:
                                              type: string
                                              description: Entity display name
                                          required:
                                            - type
                                            - id
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - GROUP
                                              description: Entity type
                                            id:
                                              type: number
                                              description: Entity ID
                                            iamId:
                                              type: string
                                              description: IAM ID
                                            name:
                                              type: string
                                              description: Entity display name
                                          required:
                                            - type
                                            - name
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - PERMISSION
                                            permission:
                                              type: string
                                              enum:
                                                - GOVERNANCE
                                                - USER_ADMIN
                                                - AUDIT
                                              description: Global permission
                                          required:
                                            - type
                                            - permission
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - DOMAIN PERMISSION
                                            permission:
                                              type: string
                                              enum:
                                                - Manage Policies
                                                - Audit Activity
                                                - Manage Data Products
                                                - Manage Identifiers
                                              description: Domain permission
                                            domainId:
                                              type: string
                                              description: Domain ID
                                          required:
                                            - type
                                            - permission
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - ATTRIBUTE
                                            key:
                                              type: string
                                              description: Attribute key
                                            value:
                                              type: string
                                              description: Attribute value
                                          required:
                                            - type
                                            - key
                                            - value
                                    minItems: 1
                                required:
                                  - all
                              - type: object
                                properties:
                                  any:
                                    type: array
                                    items:
                                      oneOf:
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - USER
                                              description: Entity type
                                            id:
                                              type: string
                                              description: Entity ID
                                            displayName:
                                              type: string
                                              description: Entity display name
                                          required:
                                            - type
                                            - id
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - GROUP
                                              description: Entity type
                                            id:
                                              type: number
                                              description: Entity ID
                                            iamId:
                                              type: string
                                              description: IAM ID
                                            name:
                                              type: string
                                              description: Entity display name
                                          required:
                                            - type
                                            - name
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - PERMISSION
                                            permission:
                                              type: string
                                              enum:
                                                - GOVERNANCE
                                                - USER_ADMIN
                                                - AUDIT
                                              description: Global permission
                                          required:
                                            - type
                                            - permission
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - DOMAIN PERMISSION
                                            permission:
                                              type: string
                                              enum:
                                                - Manage Policies
                                                - Audit Activity
                                                - Manage Data Products
                                                - Manage Identifiers
                                              description: Domain permission
                                            domainId:
                                              type: string
                                              description: Domain ID
                                          required:
                                            - type
                                            - permission
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - ATTRIBUTE
                                            key:
                                              type: string
                                              description: Attribute key
                                            value:
                                              type: string
                                              description: Attribute value
                                          required:
                                            - type
                                            - key
                                            - value
                                    minItems: 1
                                required:
                                  - any
                          description: Array of stages for manual review
                      required:
                        - stages
                  required:
                    - type
                    - params
          required:
            - rules
            - defaultEvent
          description: Data product data access policy
          title: Data Product Data Access Policy
        maskingExceptionPolicy:
          default: *ref_28
          type: object
          properties:
            version:
              type: string
              description: Policy schema version
            rules:
              type: array
              items:
                type: object
                properties:
                  conditions:
                    oneOf:
                      - type: object
                        properties:
                          all:
                            type: array
                            items: {}
                        required:
                          - all
                        additionalProperties: false
                      - type: object
                        properties:
                          any:
                            type: array
                            items: {}
                        required:
                          - any
                        additionalProperties: false
                      - type: object
                        properties:
                          not: {}
                        required:
                          - not
                        additionalProperties: false
                  event:
                    discriminator:
                      propertyName: type
                    oneOf:
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - approve
                          params:
                            type: object
                            properties:
                              comment:
                                type: string
                              duration:
                                type: number
                                minimum: 1
                              durationUnit:
                                type: string
                                enum:
                                  - HOURS
                                  - DAYS
                                  - WEEKS
                                  - MONTHS
                                  - YEARS
                            additionalProperties: false
                        required:
                          - type
                          - params
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - deny
                          params:
                            type: object
                            properties:
                              comment:
                                type: string
                        required:
                          - type
                          - params
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - review
                          params:
                            type: object
                            properties:
                              stages:
                                type: array
                                items:
                                  oneOf:
                                    - type: object
                                      properties:
                                        all:
                                          type: array
                                          items:
                                            oneOf:
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - USER
                                                    description: Entity type
                                                  id:
                                                    type: string
                                                    description: Entity ID
                                                  displayName:
                                                    type: string
                                                    description: Entity display name
                                                required:
                                                  - type
                                                  - id
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - GROUP
                                                    description: Entity type
                                                  id:
                                                    type: number
                                                    description: Entity ID
                                                  iamId:
                                                    type: string
                                                    description: IAM ID
                                                  name:
                                                    type: string
                                                    description: Entity display name
                                                required:
                                                  - type
                                                  - name
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - PERMISSION
                                                  permission:
                                                    type: string
                                                    enum:
                                                      - GOVERNANCE
                                                      - USER_ADMIN
                                                      - AUDIT
                                                    description: Global permission
                                                required:
                                                  - type
                                                  - permission
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - DOMAIN PERMISSION
                                                  permission:
                                                    type: string
                                                    enum:
                                                      - Manage Policies
                                                      - Audit Activity
                                                      - Manage Data Products
                                                      - Manage Identifiers
                                                    description: Domain permission
                                                  domainId:
                                                    type: string
                                                    description: Domain ID
                                                required:
                                                  - type
                                                  - permission
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - ATTRIBUTE
                                                  key:
                                                    type: string
                                                    description: Attribute key
                                                  value:
                                                    type: string
                                                    description: Attribute value
                                                required:
                                                  - type
                                                  - key
                                                  - value
                                          minItems: 1
                                      required:
                                        - all
                                    - type: object
                                      properties:
                                        any:
                                          type: array
                                          items:
                                            oneOf:
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - USER
                                                    description: Entity type
                                                  id:
                                                    type: string
                                                    description: Entity ID
                                                  displayName:
                                                    type: string
                                                    description: Entity display name
                                                required:
                                                  - type
                                                  - id
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - GROUP
                                                    description: Entity type
                                                  id:
                                                    type: number
                                                    description: Entity ID
                                                  iamId:
                                                    type: string
                                                    description: IAM ID
                                                  name:
                                                    type: string
                                                    description: Entity display name
                                                required:
                                                  - type
                                                  - name
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - PERMISSION
                                                  permission:
                                                    type: string
                                                    enum:
                                                      - GOVERNANCE
                                                      - USER_ADMIN
                                                      - AUDIT
                                                    description: Global permission
                                                required:
                                                  - type
                                                  - permission
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - DOMAIN PERMISSION
                                                  permission:
                                                    type: string
                                                    enum:
                                                      - Manage Policies
                                                      - Audit Activity
                                                      - Manage Data Products
                                                      - Manage Identifiers
                                                    description: Domain permission
                                                  domainId:
                                                    type: string
                                                    description: Domain ID
                                                required:
                                                  - type
                                                  - permission
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - ATTRIBUTE
                                                  key:
                                                    type: string
                                                    description: Attribute key
                                                  value:
                                                    type: string
                                                    description: Attribute value
                                                required:
                                                  - type
                                                  - key
                                                  - value
                                          minItems: 1
                                      required:
                                        - any
                                description: Array of stages for manual review
                            required:
                              - stages
                        required:
                          - type
                          - params
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - dataProductPolicy
                        required:
                          - type
                required:
                  - conditions
                  - event
            defaultEvent:
              discriminator:
                propertyName: type
              oneOf:
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - approve
                    params:
                      type: object
                      properties:
                        comment:
                          type: string
                        duration:
                          type: number
                          minimum: 1
                        durationUnit:
                          type: string
                          enum:
                            - HOURS
                            - DAYS
                            - WEEKS
                            - MONTHS
                            - YEARS
                      additionalProperties: false
                  required:
                    - type
                    - params
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - review
                    params:
                      type: object
                      properties:
                        stages:
                          type: array
                          items:
                            oneOf:
                              - type: object
                                properties:
                                  all:
                                    type: array
                                    items:
                                      oneOf:
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - USER
                                              description: Entity type
                                            id:
                                              type: string
                                              description: Entity ID
                                            displayName:
                                              type: string
                                              description: Entity display name
                                          required:
                                            - type
                                            - id
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - GROUP
                                              description: Entity type
                                            id:
                                              type: number
                                              description: Entity ID
                                            iamId:
                                              type: string
                                              description: IAM ID
                                            name:
                                              type: string
                                              description: Entity display name
                                          required:
                                            - type
                                            - name
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - PERMISSION
                                            permission:
                                              type: string
                                              enum:
                                                - GOVERNANCE
                                                - USER_ADMIN
                                                - AUDIT
                                              description: Global permission
                                          required:
                                            - type
                                            - permission
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - DOMAIN PERMISSION
                                            permission:
                                              type: string
                                              enum:
                                                - Manage Policies
                                                - Audit Activity
                                                - Manage Data Products
                                                - Manage Identifiers
                                              description: Domain permission
                                            domainId:
                                              type: string
                                              description: Domain ID
                                          required:
                                            - type
                                            - permission
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - ATTRIBUTE
                                            key:
                                              type: string
                                              description: Attribute key
                                            value:
                                              type: string
                                              description: Attribute value
                                          required:
                                            - type
                                            - key
                                            - value
                                    minItems: 1
                                required:
                                  - all
                              - type: object
                                properties:
                                  any:
                                    type: array
                                    items:
                                      oneOf:
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - USER
                                              description: Entity type
                                            id:
                                              type: string
                                              description: Entity ID
                                            displayName:
                                              type: string
                                              description: Entity display name
                                          required:
                                            - type
                                            - id
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - GROUP
                                              description: Entity type
                                            id:
                                              type: number
                                              description: Entity ID
                                            iamId:
                                              type: string
                                              description: IAM ID
                                            name:
                                              type: string
                                              description: Entity display name
                                          required:
                                            - type
                                            - name
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - PERMISSION
                                            permission:
                                              type: string
                                              enum:
                                                - GOVERNANCE
                                                - USER_ADMIN
                                                - AUDIT
                                              description: Global permission
                                          required:
                                            - type
                                            - permission
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - DOMAIN PERMISSION
                                            permission:
                                              type: string
                                              enum:
                                                - Manage Policies
                                                - Audit Activity
                                                - Manage Data Products
                                                - Manage Identifiers
                                              description: Domain permission
                                            domainId:
                                              type: string
                                              description: Domain ID
                                          required:
                                            - type
                                            - permission
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - ATTRIBUTE
                                            key:
                                              type: string
                                              description: Attribute key
                                            value:
                                              type: string
                                              description: Attribute value
                                          required:
                                            - type
                                            - key
                                            - value
                                    minItems: 1
                                required:
                                  - any
                          description: Array of stages for manual review
                      required:
                        - stages
                  required:
                    - type
                    - params
          required:
            - rules
            - defaultEvent
          description: Data product masking exception policy
          title: Data Product Masking Exception Policy
      required:
        - id
        - name
        - domains
        - suspended
        - createdBy
        - createdAt
        - updatedAt
        - metadata
    CreateDataProduct:
      type: object
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 255
          pattern: ^[a-zA-Z0-9)(\-_/\\\s]*$
          description: Data product name
        description:
          oneOf:
            - type: string
              description: Data product description
              example: All sales records from the current fiscal year
          nullable: true
          description: Data product description
        metadata:
          oneOf:
            - type: object
              properties:
                subjectMatterExpert:
                  type: object
                  properties:
                    id:
                      type: string
                      format: uuid
                      description: >-
                        Immuta global user ID of the subject matter expert for
                        this data product
                    username:
                      type: string
                    name:
                      type: string
                  required:
                    - id
              required:
                - subjectMatterExpert
          nullable: true
        domains:
          type: array
          items:
            type: string
          minItems: 1
          example: *ref_25
        dataAccessPolicy:
          default: *ref_27
          type: object
          properties:
            version:
              type: string
              description: Policy schema version
            rules:
              type: array
              items:
                type: object
                properties:
                  conditions:
                    oneOf:
                      - type: object
                        properties:
                          all:
                            type: array
                            items: {}
                        required:
                          - all
                        additionalProperties: false
                      - type: object
                        properties:
                          any:
                            type: array
                            items: {}
                        required:
                          - any
                        additionalProperties: false
                      - type: object
                        properties:
                          not: {}
                        required:
                          - not
                        additionalProperties: false
                  event:
                    discriminator:
                      propertyName: type
                    oneOf:
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - approve
                          params:
                            type: object
                            properties:
                              comment:
                                type: string
                              duration:
                                type: number
                                minimum: 1
                              durationUnit:
                                type: string
                                enum:
                                  - HOURS
                                  - DAYS
                                  - WEEKS
                                  - MONTHS
                                  - YEARS
                            additionalProperties: false
                        required:
                          - type
                          - params
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - deny
                          params:
                            type: object
                            properties:
                              comment:
                                type: string
                        required:
                          - type
                          - params
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - review
                          params:
                            type: object
                            properties:
                              stages:
                                type: array
                                items:
                                  oneOf:
                                    - type: object
                                      properties:
                                        all:
                                          type: array
                                          items:
                                            oneOf:
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - USER
                                                    description: Entity type
                                                  id:
                                                    type: string
                                                    description: Entity ID
                                                  displayName:
                                                    type: string
                                                    description: Entity display name
                                                required:
                                                  - type
                                                  - id
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - GROUP
                                                    description: Entity type
                                                  id:
                                                    type: number
                                                    description: Entity ID
                                                  iamId:
                                                    type: string
                                                    description: IAM ID
                                                  name:
                                                    type: string
                                                    description: Entity display name
                                                required:
                                                  - type
                                                  - name
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - PERMISSION
                                                  permission:
                                                    type: string
                                                    enum:
                                                      - GOVERNANCE
                                                      - USER_ADMIN
                                                      - AUDIT
                                                    description: Global permission
                                                required:
                                                  - type
                                                  - permission
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - DOMAIN PERMISSION
                                                  permission:
                                                    type: string
                                                    enum:
                                                      - Manage Policies
                                                      - Audit Activity
                                                      - Manage Data Products
                                                      - Manage Identifiers
                                                    description: Domain permission
                                                  domainId:
                                                    type: string
                                                    description: Domain ID
                                                required:
                                                  - type
                                                  - permission
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - ATTRIBUTE
                                                  key:
                                                    type: string
                                                    description: Attribute key
                                                  value:
                                                    type: string
                                                    description: Attribute value
                                                required:
                                                  - type
                                                  - key
                                                  - value
                                          minItems: 1
                                      required:
                                        - all
                                    - type: object
                                      properties:
                                        any:
                                          type: array
                                          items:
                                            oneOf:
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - USER
                                                    description: Entity type
                                                  id:
                                                    type: string
                                                    description: Entity ID
                                                  displayName:
                                                    type: string
                                                    description: Entity display name
                                                required:
                                                  - type
                                                  - id
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - GROUP
                                                    description: Entity type
                                                  id:
                                                    type: number
                                                    description: Entity ID
                                                  iamId:
                                                    type: string
                                                    description: IAM ID
                                                  name:
                                                    type: string
                                                    description: Entity display name
                                                required:
                                                  - type
                                                  - name
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - PERMISSION
                                                  permission:
                                                    type: string
                                                    enum:
                                                      - GOVERNANCE
                                                      - USER_ADMIN
                                                      - AUDIT
                                                    description: Global permission
                                                required:
                                                  - type
                                                  - permission
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - DOMAIN PERMISSION
                                                  permission:
                                                    type: string
                                                    enum:
                                                      - Manage Policies
                                                      - Audit Activity
                                                      - Manage Data Products
                                                      - Manage Identifiers
                                                    description: Domain permission
                                                  domainId:
                                                    type: string
                                                    description: Domain ID
                                                required:
                                                  - type
                                                  - permission
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - ATTRIBUTE
                                                  key:
                                                    type: string
                                                    description: Attribute key
                                                  value:
                                                    type: string
                                                    description: Attribute value
                                                required:
                                                  - type
                                                  - key
                                                  - value
                                          minItems: 1
                                      required:
                                        - any
                                description: Array of stages for manual review
                            required:
                              - stages
                        required:
                          - type
                          - params
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - dataProductPolicy
                        required:
                          - type
                required:
                  - conditions
                  - event
            defaultEvent:
              discriminator:
                propertyName: type
              oneOf:
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - approve
                    params:
                      type: object
                      properties:
                        comment:
                          type: string
                        duration:
                          type: number
                          minimum: 1
                        durationUnit:
                          type: string
                          enum:
                            - HOURS
                            - DAYS
                            - WEEKS
                            - MONTHS
                            - YEARS
                      additionalProperties: false
                  required:
                    - type
                    - params
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - review
                    params:
                      type: object
                      properties:
                        stages:
                          type: array
                          items:
                            oneOf:
                              - type: object
                                properties:
                                  all:
                                    type: array
                                    items:
                                      oneOf:
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - USER
                                              description: Entity type
                                            id:
                                              type: string
                                              description: Entity ID
                                            displayName:
                                              type: string
                                              description: Entity display name
                                          required:
                                            - type
                                            - id
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - GROUP
                                              description: Entity type
                                            id:
                                              type: number
                                              description: Entity ID
                                            iamId:
                                              type: string
                                              description: IAM ID
                                            name:
                                              type: string
                                              description: Entity display name
                                          required:
                                            - type
                                            - name
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - PERMISSION
                                            permission:
                                              type: string
                                              enum:
                                                - GOVERNANCE
                                                - USER_ADMIN
                                                - AUDIT
                                              description: Global permission
                                          required:
                                            - type
                                            - permission
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - DOMAIN PERMISSION
                                            permission:
                                              type: string
                                              enum:
                                                - Manage Policies
                                                - Audit Activity
                                                - Manage Data Products
                                                - Manage Identifiers
                                              description: Domain permission
                                            domainId:
                                              type: string
                                              description: Domain ID
                                          required:
                                            - type
                                            - permission
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - ATTRIBUTE
                                            key:
                                              type: string
                                              description: Attribute key
                                            value:
                                              type: string
                                              description: Attribute value
                                          required:
                                            - type
                                            - key
                                            - value
                                    minItems: 1
                                required:
                                  - all
                              - type: object
                                properties:
                                  any:
                                    type: array
                                    items:
                                      oneOf:
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - USER
                                              description: Entity type
                                            id:
                                              type: string
                                              description: Entity ID
                                            displayName:
                                              type: string
                                              description: Entity display name
                                          required:
                                            - type
                                            - id
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - GROUP
                                              description: Entity type
                                            id:
                                              type: number
                                              description: Entity ID
                                            iamId:
                                              type: string
                                              description: IAM ID
                                            name:
                                              type: string
                                              description: Entity display name
                                          required:
                                            - type
                                            - name
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - PERMISSION
                                            permission:
                                              type: string
                                              enum:
                                                - GOVERNANCE
                                                - USER_ADMIN
                                                - AUDIT
                                              description: Global permission
                                          required:
                                            - type
                                            - permission
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - DOMAIN PERMISSION
                                            permission:
                                              type: string
                                              enum:
                                                - Manage Policies
                                                - Audit Activity
                                                - Manage Data Products
                                                - Manage Identifiers
                                              description: Domain permission
                                            domainId:
                                              type: string
                                              description: Domain ID
                                          required:
                                            - type
                                            - permission
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - ATTRIBUTE
                                            key:
                                              type: string
                                              description: Attribute key
                                            value:
                                              type: string
                                              description: Attribute value
                                          required:
                                            - type
                                            - key
                                            - value
                                    minItems: 1
                                required:
                                  - any
                          description: Array of stages for manual review
                      required:
                        - stages
                  required:
                    - type
                    - params
          required:
            - rules
            - defaultEvent
          description: Data product data access policy
          title: Data Product Data Access Policy
        maskingExceptionPolicy:
          default: *ref_28
          type: object
          properties:
            version:
              type: string
              description: Policy schema version
            rules:
              type: array
              items:
                type: object
                properties:
                  conditions:
                    oneOf:
                      - type: object
                        properties:
                          all:
                            type: array
                            items: {}
                        required:
                          - all
                        additionalProperties: false
                      - type: object
                        properties:
                          any:
                            type: array
                            items: {}
                        required:
                          - any
                        additionalProperties: false
                      - type: object
                        properties:
                          not: {}
                        required:
                          - not
                        additionalProperties: false
                  event:
                    discriminator:
                      propertyName: type
                    oneOf:
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - approve
                          params:
                            type: object
                            properties:
                              comment:
                                type: string
                              duration:
                                type: number
                                minimum: 1
                              durationUnit:
                                type: string
                                enum:
                                  - HOURS
                                  - DAYS
                                  - WEEKS
                                  - MONTHS
                                  - YEARS
                            additionalProperties: false
                        required:
                          - type
                          - params
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - deny
                          params:
                            type: object
                            properties:
                              comment:
                                type: string
                        required:
                          - type
                          - params
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - review
                          params:
                            type: object
                            properties:
                              stages:
                                type: array
                                items:
                                  oneOf:
                                    - type: object
                                      properties:
                                        all:
                                          type: array
                                          items:
                                            oneOf:
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - USER
                                                    description: Entity type
                                                  id:
                                                    type: string
                                                    description: Entity ID
                                                  displayName:
                                                    type: string
                                                    description: Entity display name
                                                required:
                                                  - type
                                                  - id
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - GROUP
                                                    description: Entity type
                                                  id:
                                                    type: number
                                                    description: Entity ID
                                                  iamId:
                                                    type: string
                                                    description: IAM ID
                                                  name:
                                                    type: string
                                                    description: Entity display name
                                                required:
                                                  - type
                                                  - name
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - PERMISSION
                                                  permission:
                                                    type: string
                                                    enum:
                                                      - GOVERNANCE
                                                      - USER_ADMIN
                                                      - AUDIT
                                                    description: Global permission
                                                required:
                                                  - type
                                                  - permission
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - DOMAIN PERMISSION
                                                  permission:
                                                    type: string
                                                    enum:
                                                      - Manage Policies
                                                      - Audit Activity
                                                      - Manage Data Products
                                                      - Manage Identifiers
                                                    description: Domain permission
                                                  domainId:
                                                    type: string
                                                    description: Domain ID
                                                required:
                                                  - type
                                                  - permission
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - ATTRIBUTE
                                                  key:
                                                    type: string
                                                    description: Attribute key
                                                  value:
                                                    type: string
                                                    description: Attribute value
                                                required:
                                                  - type
                                                  - key
                                                  - value
                                          minItems: 1
                                      required:
                                        - all
                                    - type: object
                                      properties:
                                        any:
                                          type: array
                                          items:
                                            oneOf:
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - USER
                                                    description: Entity type
                                                  id:
                                                    type: string
                                                    description: Entity ID
                                                  displayName:
                                                    type: string
                                                    description: Entity display name
                                                required:
                                                  - type
                                                  - id
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - GROUP
                                                    description: Entity type
                                                  id:
                                                    type: number
                                                    description: Entity ID
                                                  iamId:
                                                    type: string
                                                    description: IAM ID
                                                  name:
                                                    type: string
                                                    description: Entity display name
                                                required:
                                                  - type
                                                  - name
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - PERMISSION
                                                  permission:
                                                    type: string
                                                    enum:
                                                      - GOVERNANCE
                                                      - USER_ADMIN
                                                      - AUDIT
                                                    description: Global permission
                                                required:
                                                  - type
                                                  - permission
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - DOMAIN PERMISSION
                                                  permission:
                                                    type: string
                                                    enum:
                                                      - Manage Policies
                                                      - Audit Activity
                                                      - Manage Data Products
                                                      - Manage Identifiers
                                                    description: Domain permission
                                                  domainId:
                                                    type: string
                                                    description: Domain ID
                                                required:
                                                  - type
                                                  - permission
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - ATTRIBUTE
                                                  key:
                                                    type: string
                                                    description: Attribute key
                                                  value:
                                                    type: string
                                                    description: Attribute value
                                                required:
                                                  - type
                                                  - key
                                                  - value
                                          minItems: 1
                                      required:
                                        - any
                                description: Array of stages for manual review
                            required:
                              - stages
                        required:
                          - type
                          - params
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - dataProductPolicy
                        required:
                          - type
                required:
                  - conditions
                  - event
            defaultEvent:
              discriminator:
                propertyName: type
              oneOf:
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - approve
                    params:
                      type: object
                      properties:
                        comment:
                          type: string
                        duration:
                          type: number
                          minimum: 1
                        durationUnit:
                          type: string
                          enum:
                            - HOURS
                            - DAYS
                            - WEEKS
                            - MONTHS
                            - YEARS
                      additionalProperties: false
                  required:
                    - type
                    - params
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - review
                    params:
                      type: object
                      properties:
                        stages:
                          type: array
                          items:
                            oneOf:
                              - type: object
                                properties:
                                  all:
                                    type: array
                                    items:
                                      oneOf:
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - USER
                                              description: Entity type
                                            id:
                                              type: string
                                              description: Entity ID
                                            displayName:
                                              type: string
                                              description: Entity display name
                                          required:
                                            - type
                                            - id
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - GROUP
                                              description: Entity type
                                            id:
                                              type: number
                                              description: Entity ID
                                            iamId:
                                              type: string
                                              description: IAM ID
                                            name:
                                              type: string
                                              description: Entity display name
                                          required:
                                            - type
                                            - name
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - PERMISSION
                                            permission:
                                              type: string
                                              enum:
                                                - GOVERNANCE
                                                - USER_ADMIN
                                                - AUDIT
                                              description: Global permission
                                          required:
                                            - type
                                            - permission
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - DOMAIN PERMISSION
                                            permission:
                                              type: string
                                              enum:
                                                - Manage Policies
                                                - Audit Activity
                                                - Manage Data Products
                                                - Manage Identifiers
                                              description: Domain permission
                                            domainId:
                                              type: string
                                              description: Domain ID
                                          required:
                                            - type
                                            - permission
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - ATTRIBUTE
                                            key:
                                              type: string
                                              description: Attribute key
                                            value:
                                              type: string
                                              description: Attribute value
                                          required:
                                            - type
                                            - key
                                            - value
                                    minItems: 1
                                required:
                                  - all
                              - type: object
                                properties:
                                  any:
                                    type: array
                                    items:
                                      oneOf:
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - USER
                                              description: Entity type
                                            id:
                                              type: string
                                              description: Entity ID
                                            displayName:
                                              type: string
                                              description: Entity display name
                                          required:
                                            - type
                                            - id
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - GROUP
                                              description: Entity type
                                            id:
                                              type: number
                                              description: Entity ID
                                            iamId:
                                              type: string
                                              description: IAM ID
                                            name:
                                              type: string
                                              description: Entity display name
                                          required:
                                            - type
                                            - name
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - PERMISSION
                                            permission:
                                              type: string
                                              enum:
                                                - GOVERNANCE
                                                - USER_ADMIN
                                                - AUDIT
                                              description: Global permission
                                          required:
                                            - type
                                            - permission
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - DOMAIN PERMISSION
                                            permission:
                                              type: string
                                              enum:
                                                - Manage Policies
                                                - Audit Activity
                                                - Manage Data Products
                                                - Manage Identifiers
                                              description: Domain permission
                                            domainId:
                                              type: string
                                              description: Domain ID
                                          required:
                                            - type
                                            - permission
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - ATTRIBUTE
                                            key:
                                              type: string
                                              description: Attribute key
                                            value:
                                              type: string
                                              description: Attribute value
                                          required:
                                            - type
                                            - key
                                            - value
                                    minItems: 1
                                required:
                                  - any
                          description: Array of stages for manual review
                      required:
                        - stages
                  required:
                    - type
                    - params
          required:
            - rules
            - defaultEvent
          description: Data product masking exception policy
          title: Data Product Masking Exception Policy
        id:
          type: string
          format: uuid
          description: Data product ID
        dataSources:
          type: array
          items:
            type: object
            properties:
              sourceId:
                type: string
            required:
              - sourceId
        requestFormId:
          oneOf:
            - type: string
              format: cuid
            - type: string
              format: uuid
      required:
        - name
        - metadata
        - domains
        - dataSources
        - requestFormId
    UpdateDataProduct:
      type: object
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 255
          pattern: ^[a-zA-Z0-9)(\-_/\\\s]*$
          description: Data product name
        description:
          oneOf:
            - type: string
              description: Data product description
              example: All sales records from the current fiscal year
          nullable: true
          description: Data product description
        metadata:
          oneOf:
            - type: object
              properties:
                subjectMatterExpert:
                  type: object
                  properties:
                    id:
                      type: string
                      format: uuid
                      description: >-
                        Immuta global user ID of the subject matter expert for
                        this data product
                    username:
                      type: string
                    name:
                      type: string
                  required:
                    - id
              required:
                - subjectMatterExpert
          nullable: true
        domains:
          type: array
          items:
            type: string
          minItems: 1
          example: *ref_25
        dataAccessPolicy:
          type: object
          properties:
            version:
              type: string
              description: Policy schema version
            rules:
              type: array
              items:
                type: object
                properties:
                  conditions:
                    oneOf:
                      - type: object
                        properties:
                          all:
                            type: array
                            items: {}
                        required:
                          - all
                        additionalProperties: false
                      - type: object
                        properties:
                          any:
                            type: array
                            items: {}
                        required:
                          - any
                        additionalProperties: false
                      - type: object
                        properties:
                          not: {}
                        required:
                          - not
                        additionalProperties: false
                  event:
                    discriminator:
                      propertyName: type
                    oneOf:
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - approve
                          params:
                            type: object
                            properties:
                              comment:
                                type: string
                              duration:
                                type: number
                                minimum: 1
                              durationUnit:
                                type: string
                                enum:
                                  - HOURS
                                  - DAYS
                                  - WEEKS
                                  - MONTHS
                                  - YEARS
                            additionalProperties: false
                        required:
                          - type
                          - params
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - deny
                          params:
                            type: object
                            properties:
                              comment:
                                type: string
                        required:
                          - type
                          - params
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - review
                          params:
                            type: object
                            properties:
                              stages:
                                type: array
                                items:
                                  oneOf:
                                    - type: object
                                      properties:
                                        all:
                                          type: array
                                          items:
                                            oneOf:
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - USER
                                                    description: Entity type
                                                  id:
                                                    type: string
                                                    description: Entity ID
                                                  displayName:
                                                    type: string
                                                    description: Entity display name
                                                required:
                                                  - type
                                                  - id
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - GROUP
                                                    description: Entity type
                                                  id:
                                                    type: number
                                                    description: Entity ID
                                                  iamId:
                                                    type: string
                                                    description: IAM ID
                                                  name:
                                                    type: string
                                                    description: Entity display name
                                                required:
                                                  - type
                                                  - name
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - PERMISSION
                                                  permission:
                                                    type: string
                                                    enum:
                                                      - GOVERNANCE
                                                      - USER_ADMIN
                                                      - AUDIT
                                                    description: Global permission
                                                required:
                                                  - type
                                                  - permission
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - DOMAIN PERMISSION
                                                  permission:
                                                    type: string
                                                    enum:
                                                      - Manage Policies
                                                      - Audit Activity
                                                      - Manage Data Products
                                                      - Manage Identifiers
                                                    description: Domain permission
                                                  domainId:
                                                    type: string
                                                    description: Domain ID
                                                required:
                                                  - type
                                                  - permission
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - ATTRIBUTE
                                                  key:
                                                    type: string
                                                    description: Attribute key
                                                  value:
                                                    type: string
                                                    description: Attribute value
                                                required:
                                                  - type
                                                  - key
                                                  - value
                                          minItems: 1
                                      required:
                                        - all
                                    - type: object
                                      properties:
                                        any:
                                          type: array
                                          items:
                                            oneOf:
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - USER
                                                    description: Entity type
                                                  id:
                                                    type: string
                                                    description: Entity ID
                                                  displayName:
                                                    type: string
                                                    description: Entity display name
                                                required:
                                                  - type
                                                  - id
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - GROUP
                                                    description: Entity type
                                                  id:
                                                    type: number
                                                    description: Entity ID
                                                  iamId:
                                                    type: string
                                                    description: IAM ID
                                                  name:
                                                    type: string
                                                    description: Entity display name
                                                required:
                                                  - type
                                                  - name
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - PERMISSION
                                                  permission:
                                                    type: string
                                                    enum:
                                                      - GOVERNANCE
                                                      - USER_ADMIN
                                                      - AUDIT
                                                    description: Global permission
                                                required:
                                                  - type
                                                  - permission
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - DOMAIN PERMISSION
                                                  permission:
                                                    type: string
                                                    enum:
                                                      - Manage Policies
                                                      - Audit Activity
                                                      - Manage Data Products
                                                      - Manage Identifiers
                                                    description: Domain permission
                                                  domainId:
                                                    type: string
                                                    description: Domain ID
                                                required:
                                                  - type
                                                  - permission
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - ATTRIBUTE
                                                  key:
                                                    type: string
                                                    description: Attribute key
                                                  value:
                                                    type: string
                                                    description: Attribute value
                                                required:
                                                  - type
                                                  - key
                                                  - value
                                          minItems: 1
                                      required:
                                        - any
                                description: Array of stages for manual review
                            required:
                              - stages
                        required:
                          - type
                          - params
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - dataProductPolicy
                        required:
                          - type
                required:
                  - conditions
                  - event
            defaultEvent:
              discriminator:
                propertyName: type
              oneOf:
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - approve
                    params:
                      type: object
                      properties:
                        comment:
                          type: string
                        duration:
                          type: number
                          minimum: 1
                        durationUnit:
                          type: string
                          enum:
                            - HOURS
                            - DAYS
                            - WEEKS
                            - MONTHS
                            - YEARS
                      additionalProperties: false
                  required:
                    - type
                    - params
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - review
                    params:
                      type: object
                      properties:
                        stages:
                          type: array
                          items:
                            oneOf:
                              - type: object
                                properties:
                                  all:
                                    type: array
                                    items:
                                      oneOf:
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - USER
                                              description: Entity type
                                            id:
                                              type: string
                                              description: Entity ID
                                            displayName:
                                              type: string
                                              description: Entity display name
                                          required:
                                            - type
                                            - id
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - GROUP
                                              description: Entity type
                                            id:
                                              type: number
                                              description: Entity ID
                                            iamId:
                                              type: string
                                              description: IAM ID
                                            name:
                                              type: string
                                              description: Entity display name
                                          required:
                                            - type
                                            - name
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - PERMISSION
                                            permission:
                                              type: string
                                              enum:
                                                - GOVERNANCE
                                                - USER_ADMIN
                                                - AUDIT
                                              description: Global permission
                                          required:
                                            - type
                                            - permission
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - DOMAIN PERMISSION
                                            permission:
                                              type: string
                                              enum:
                                                - Manage Policies
                                                - Audit Activity
                                                - Manage Data Products
                                                - Manage Identifiers
                                              description: Domain permission
                                            domainId:
                                              type: string
                                              description: Domain ID
                                          required:
                                            - type
                                            - permission
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - ATTRIBUTE
                                            key:
                                              type: string
                                              description: Attribute key
                                            value:
                                              type: string
                                              description: Attribute value
                                          required:
                                            - type
                                            - key
                                            - value
                                    minItems: 1
                                required:
                                  - all
                              - type: object
                                properties:
                                  any:
                                    type: array
                                    items:
                                      oneOf:
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - USER
                                              description: Entity type
                                            id:
                                              type: string
                                              description: Entity ID
                                            displayName:
                                              type: string
                                              description: Entity display name
                                          required:
                                            - type
                                            - id
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - GROUP
                                              description: Entity type
                                            id:
                                              type: number
                                              description: Entity ID
                                            iamId:
                                              type: string
                                              description: IAM ID
                                            name:
                                              type: string
                                              description: Entity display name
                                          required:
                                            - type
                                            - name
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - PERMISSION
                                            permission:
                                              type: string
                                              enum:
                                                - GOVERNANCE
                                                - USER_ADMIN
                                                - AUDIT
                                              description: Global permission
                                          required:
                                            - type
                                            - permission
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - DOMAIN PERMISSION
                                            permission:
                                              type: string
                                              enum:
                                                - Manage Policies
                                                - Audit Activity
                                                - Manage Data Products
                                                - Manage Identifiers
                                              description: Domain permission
                                            domainId:
                                              type: string
                                              description: Domain ID
                                          required:
                                            - type
                                            - permission
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - ATTRIBUTE
                                            key:
                                              type: string
                                              description: Attribute key
                                            value:
                                              type: string
                                              description: Attribute value
                                          required:
                                            - type
                                            - key
                                            - value
                                    minItems: 1
                                required:
                                  - any
                          description: Array of stages for manual review
                      required:
                        - stages
                  required:
                    - type
                    - params
          required:
            - rules
            - defaultEvent
        maskingExceptionPolicy:
          type: object
          properties:
            version:
              type: string
              description: Policy schema version
            rules:
              type: array
              items:
                type: object
                properties:
                  conditions:
                    oneOf:
                      - type: object
                        properties:
                          all:
                            type: array
                            items: {}
                        required:
                          - all
                        additionalProperties: false
                      - type: object
                        properties:
                          any:
                            type: array
                            items: {}
                        required:
                          - any
                        additionalProperties: false
                      - type: object
                        properties:
                          not: {}
                        required:
                          - not
                        additionalProperties: false
                  event:
                    discriminator:
                      propertyName: type
                    oneOf:
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - approve
                          params:
                            type: object
                            properties:
                              comment:
                                type: string
                              duration:
                                type: number
                                minimum: 1
                              durationUnit:
                                type: string
                                enum:
                                  - HOURS
                                  - DAYS
                                  - WEEKS
                                  - MONTHS
                                  - YEARS
                            additionalProperties: false
                        required:
                          - type
                          - params
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - deny
                          params:
                            type: object
                            properties:
                              comment:
                                type: string
                        required:
                          - type
                          - params
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - review
                          params:
                            type: object
                            properties:
                              stages:
                                type: array
                                items:
                                  oneOf:
                                    - type: object
                                      properties:
                                        all:
                                          type: array
                                          items:
                                            oneOf:
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - USER
                                                    description: Entity type
                                                  id:
                                                    type: string
                                                    description: Entity ID
                                                  displayName:
                                                    type: string
                                                    description: Entity display name
                                                required:
                                                  - type
                                                  - id
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - GROUP
                                                    description: Entity type
                                                  id:
                                                    type: number
                                                    description: Entity ID
                                                  iamId:
                                                    type: string
                                                    description: IAM ID
                                                  name:
                                                    type: string
                                                    description: Entity display name
                                                required:
                                                  - type
                                                  - name
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - PERMISSION
                                                  permission:
                                                    type: string
                                                    enum:
                                                      - GOVERNANCE
                                                      - USER_ADMIN
                                                      - AUDIT
                                                    description: Global permission
                                                required:
                                                  - type
                                                  - permission
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - DOMAIN PERMISSION
                                                  permission:
                                                    type: string
                                                    enum:
                                                      - Manage Policies
                                                      - Audit Activity
                                                      - Manage Data Products
                                                      - Manage Identifiers
                                                    description: Domain permission
                                                  domainId:
                                                    type: string
                                                    description: Domain ID
                                                required:
                                                  - type
                                                  - permission
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - ATTRIBUTE
                                                  key:
                                                    type: string
                                                    description: Attribute key
                                                  value:
                                                    type: string
                                                    description: Attribute value
                                                required:
                                                  - type
                                                  - key
                                                  - value
                                          minItems: 1
                                      required:
                                        - all
                                    - type: object
                                      properties:
                                        any:
                                          type: array
                                          items:
                                            oneOf:
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - USER
                                                    description: Entity type
                                                  id:
                                                    type: string
                                                    description: Entity ID
                                                  displayName:
                                                    type: string
                                                    description: Entity display name
                                                required:
                                                  - type
                                                  - id
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - GROUP
                                                    description: Entity type
                                                  id:
                                                    type: number
                                                    description: Entity ID
                                                  iamId:
                                                    type: string
                                                    description: IAM ID
                                                  name:
                                                    type: string
                                                    description: Entity display name
                                                required:
                                                  - type
                                                  - name
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - PERMISSION
                                                  permission:
                                                    type: string
                                                    enum:
                                                      - GOVERNANCE
                                                      - USER_ADMIN
                                                      - AUDIT
                                                    description: Global permission
                                                required:
                                                  - type
                                                  - permission
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - DOMAIN PERMISSION
                                                  permission:
                                                    type: string
                                                    enum:
                                                      - Manage Policies
                                                      - Audit Activity
                                                      - Manage Data Products
                                                      - Manage Identifiers
                                                    description: Domain permission
                                                  domainId:
                                                    type: string
                                                    description: Domain ID
                                                required:
                                                  - type
                                                  - permission
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - ATTRIBUTE
                                                  key:
                                                    type: string
                                                    description: Attribute key
                                                  value:
                                                    type: string
                                                    description: Attribute value
                                                required:
                                                  - type
                                                  - key
                                                  - value
                                          minItems: 1
                                      required:
                                        - any
                                description: Array of stages for manual review
                            required:
                              - stages
                        required:
                          - type
                          - params
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - dataProductPolicy
                        required:
                          - type
                required:
                  - conditions
                  - event
            defaultEvent:
              discriminator:
                propertyName: type
              oneOf:
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - approve
                    params:
                      type: object
                      properties:
                        comment:
                          type: string
                        duration:
                          type: number
                          minimum: 1
                        durationUnit:
                          type: string
                          enum:
                            - HOURS
                            - DAYS
                            - WEEKS
                            - MONTHS
                            - YEARS
                      additionalProperties: false
                  required:
                    - type
                    - params
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - review
                    params:
                      type: object
                      properties:
                        stages:
                          type: array
                          items:
                            oneOf:
                              - type: object
                                properties:
                                  all:
                                    type: array
                                    items:
                                      oneOf:
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - USER
                                              description: Entity type
                                            id:
                                              type: string
                                              description: Entity ID
                                            displayName:
                                              type: string
                                              description: Entity display name
                                          required:
                                            - type
                                            - id
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - GROUP
                                              description: Entity type
                                            id:
                                              type: number
                                              description: Entity ID
                                            iamId:
                                              type: string
                                              description: IAM ID
                                            name:
                                              type: string
                                              description: Entity display name
                                          required:
                                            - type
                                            - name
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - PERMISSION
                                            permission:
                                              type: string
                                              enum:
                                                - GOVERNANCE
                                                - USER_ADMIN
                                                - AUDIT
                                              description: Global permission
                                          required:
                                            - type
                                            - permission
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - DOMAIN PERMISSION
                                            permission:
                                              type: string
                                              enum:
                                                - Manage Policies
                                                - Audit Activity
                                                - Manage Data Products
                                                - Manage Identifiers
                                              description: Domain permission
                                            domainId:
                                              type: string
                                              description: Domain ID
                                          required:
                                            - type
                                            - permission
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - ATTRIBUTE
                                            key:
                                              type: string
                                              description: Attribute key
                                            value:
                                              type: string
                                              description: Attribute value
                                          required:
                                            - type
                                            - key
                                            - value
                                    minItems: 1
                                required:
                                  - all
                              - type: object
                                properties:
                                  any:
                                    type: array
                                    items:
                                      oneOf:
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - USER
                                              description: Entity type
                                            id:
                                              type: string
                                              description: Entity ID
                                            displayName:
                                              type: string
                                              description: Entity display name
                                          required:
                                            - type
                                            - id
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - GROUP
                                              description: Entity type
                                            id:
                                              type: number
                                              description: Entity ID
                                            iamId:
                                              type: string
                                              description: IAM ID
                                            name:
                                              type: string
                                              description: Entity display name
                                          required:
                                            - type
                                            - name
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - PERMISSION
                                            permission:
                                              type: string
                                              enum:
                                                - GOVERNANCE
                                                - USER_ADMIN
                                                - AUDIT
                                              description: Global permission
                                          required:
                                            - type
                                            - permission
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - DOMAIN PERMISSION
                                            permission:
                                              type: string
                                              enum:
                                                - Manage Policies
                                                - Audit Activity
                                                - Manage Data Products
                                                - Manage Identifiers
                                              description: Domain permission
                                            domainId:
                                              type: string
                                              description: Domain ID
                                          required:
                                            - type
                                            - permission
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - ATTRIBUTE
                                            key:
                                              type: string
                                              description: Attribute key
                                            value:
                                              type: string
                                              description: Attribute value
                                          required:
                                            - type
                                            - key
                                            - value
                                    minItems: 1
                                required:
                                  - any
                          description: Array of stages for manual review
                      required:
                        - stages
                  required:
                    - type
                    - params
          required:
            - rules
            - defaultEvent
        id:
          type: string
          format: uuid
          description: Data product ID
        dataSources:
          type: array
          items:
            type: object
            properties:
              sourceId:
                type: string
            required:
              - sourceId
        requestFormId:
          oneOf:
            - type: string
              format: cuid
            - type: string
              format: uuid
        suspended:
          type: boolean
          description: Whether access to the data product's data sources is suspended
          example: false
    UpdateDataSources:
      type: object
      properties:
        dataSources:
          type: array
          items:
            type: object
            properties:
              sourceId:
                type: string
            required:
              - sourceId
      required:
        - dataSources
    PaginatedAccessRequest:
      type: object
      properties:
        data:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
                format: cuid
              requestingUser:
                type: object
                properties:
                  id:
                    type: number
                  iamId:
                    type: string
                    description: ID of the IAM the user is associated with
                  globalUserId:
                    type: string
                    format: uuid
                    description: Immuta global user ID
                  username:
                    type: string
                    description: Username/login name for the user
                  name:
                    type: string
                    description: Display name
                  email:
                    type: string
                    description: Email address
                    nullable: true
                  authorizations:
                    type: object
                    additionalProperties:
                      type: array
                      items:
                        type: string
                required:
                  - id
                  - iamId
                  - globalUserId
                  - username
                  - name
                title: Immuta User
              user:
                type: object
                properties:
                  id:
                    type: number
                  iamId:
                    type: string
                    description: ID of the IAM the user is associated with
                  globalUserId:
                    type: string
                    format: uuid
                    description: Immuta global user ID
                  username:
                    type: string
                    description: Username/login name for the user
                  name:
                    type: string
                    description: Display name
                  email:
                    type: string
                    description: Email address
                    nullable: true
                  authorizations:
                    type: object
                    additionalProperties:
                      type: array
                      items:
                        type: string
                required:
                  - id
                  - iamId
                  - globalUserId
                  - username
                  - name
                title: Immuta User
              formVersion:
                type: string
              form:
                description: The request form submission
              type:
                type: string
                enum:
                  - DATA_ACCESS
                  - MASKING_EXCEPTION
                example: DATA_ACCESS
              metadata:
                description: Metadata associated with the access request
              status:
                type: string
                enum:
                  - APPROVED
                  - CANCELED
                  - DENIED
                  - PENDING
                  - NONE
                  - PUBLISHER
                  - REVOKED
                  - EXPIRED
                example: PENDING
              expiration:
                type: string
                format: date-time
                description: When the temporary access will expire
              createdAt:
                type: string
                format: date-time
              updatedAt:
                type: string
                format: date-time
              dataProduct:
                type: object
                properties:
                  id:
                    oneOf:
                      - type: string
                        format: cuid
                      - type: string
                        format: uuid
                  name:
                    type: string
                    minLength: 1
                    maxLength: 255
                    pattern: ^[a-zA-Z0-9)(\-_/\\\s]*$
                    description: Data product name
                  description:
                    oneOf:
                      - type: string
                        description: Data product description
                        example: All sales records from the current fiscal year
                    nullable: true
                    description: Data product description
                required:
                  - id
                  - name
              asset:
                discriminator:
                  propertyName: type
                oneOf:
                  - type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                        description: Asset ID
                      name:
                        type: string
                        minLength: 1
                        description: Asset name
                      type:
                        type: string
                        enum:
                          - DATA_PRODUCT
                      createdAt:
                        oneOf:
                          - type: string
                            format: date-time
                          - type: string
                            format: date-time
                      updatedAt:
                        oneOf:
                          - type: string
                            format: date-time
                          - type: string
                            format: date-time
                      dagTagId:
                        oneOf:
                          - type: number
                        nullable: true
                      requestId:
                        type: string
                        format: cuid
                        description: >-
                          If requested, the ID of the access request for the
                          asset
                      status:
                        type: string
                        enum:
                          - APPROVED
                          - CANCELED
                          - DENIED
                          - PENDING
                          - NONE
                          - PUBLISHER
                          - REVOKED
                          - EXPIRED
                        example: PENDING
                      metadata:
                        type: object
                        properties:
                          subjectMatterExperts:
                            default: &ref_29 []
                            type: array
                            items:
                              type: object
                              properties:
                                id:
                                  type: string
                                  format: uuid
                                  description: >-
                                    Immuta global user ID of the subject matter
                                    expert
                                username:
                                  type: string
                                name:
                                  type: string
                              required:
                                - id
                          domains:
                            type: array
                            items:
                              type: string
                              format: uuid
                            minItems: 1
                            description: >-
                              Array of domain IDs associated with the data
                              product
                          description:
                            oneOf:
                              - type: string
                                description: Data product description
                                example: All sales records from the current fiscal year
                            nullable: true
                            description: Data product description
                        required:
                          - domains
                        description: Data product asset metadata
                      createdBy:
                        type: string
                        format: uuid
                        description: >-
                          Immuta global user ID of the user who created the data
                          product
                    required:
                      - id
                      - name
                      - type
                      - metadata
                      - createdBy
                    title: Data Product Asset
                  - type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                        description: Asset ID
                      name:
                        type: string
                        minLength: 1
                        description: Asset name
                      type:
                        type: string
                        enum:
                          - DATA_OBJECT
                      createdAt:
                        oneOf:
                          - type: string
                            format: date-time
                          - type: string
                            format: date-time
                      updatedAt:
                        oneOf:
                          - type: string
                            format: date-time
                          - type: string
                            format: date-time
                      dagTagId:
                        oneOf:
                          - type: number
                        nullable: true
                      requestId:
                        type: string
                        format: cuid
                        description: >-
                          If requested, the ID of the access request for the
                          asset
                      status:
                        type: string
                        enum:
                          - APPROVED
                          - CANCELED
                          - DENIED
                          - PENDING
                          - NONE
                          - PUBLISHER
                          - REVOKED
                          - EXPIRED
                        example: PENDING
                      metadata:
                        type: object
                        properties:
                          subjectMatterExperts:
                            default: *ref_29
                            type: array
                            items:
                              type: object
                              properties:
                                id:
                                  type: string
                                  format: uuid
                                  description: >-
                                    Immuta global user ID of the subject matter
                                    expert
                                username:
                                  type: string
                                name:
                                  type: string
                              required:
                                - id
                          objectPath:
                            type: array
                            items:
                              type: string
                          technology:
                            type: string
                            enum:
                              - Snowflake
                              - PostgreSQL
                              - Databricks
                              - Glue
                              - MySQL
                              - Teradata
                              - MariaDB
                              - Oracle
                              - SQLServer
                              - Trino
                              - Redshift
                          legacyType:
                            type: string
                          dataSourceId:
                            type: number
                          description:
                            oneOf:
                              - type: string
                            nullable: true
                          externalLink:
                            oneOf:
                              - type: string
                            nullable: true
                        required:
                          - objectPath
                        description: Data object asset metadata
                      registered:
                        default: true
                        type: boolean
                        description: Whether the asset has been registered
                    required:
                      - id
                      - name
                      - type
                      - metadata
                    title: Data Object Asset
                title: Asset
            required:
              - id
              - requestingUser
              - user
              - formVersion
              - type
              - status
              - createdAt
              - updatedAt
            title: Hydrated Access Request
            description: Access request with user and data product metadata
        meta:
          type: object
          properties:
            offset:
              default: 0
              type: number
              minimum: 0
            limit:
              default: 10
              type: number
              minimum: 1
            totalCount:
              type: number
            pageCount:
              type: number
            currentPage:
              type: number
            totalPages:
              type: number
          required:
            - totalCount
            - pageCount
            - currentPage
            - totalPages
      required:
        - data
        - meta
    CreateAccessRequest:
      type: object
      properties:
        user:
          type: string
          format: uuid
          description: Immuta global user ID of the user for whom access is being requested
        form:
          description: The request form submission
      required:
        - user
    HydratedAccessRequest:
      type: object
      properties:
        id:
          type: string
          format: cuid
        requestingUser:
          type: object
          properties:
            id:
              type: number
            iamId:
              type: string
              description: ID of the IAM the user is associated with
            globalUserId:
              type: string
              format: uuid
              description: Immuta global user ID
            username:
              type: string
              description: Username/login name for the user
            name:
              type: string
              description: Display name
            email:
              type: string
              description: Email address
              nullable: true
            authorizations:
              type: object
              additionalProperties:
                type: array
                items:
                  type: string
          required:
            - id
            - iamId
            - globalUserId
            - username
            - name
          title: Immuta User
        user:
          type: object
          properties:
            id:
              type: number
            iamId:
              type: string
              description: ID of the IAM the user is associated with
            globalUserId:
              type: string
              format: uuid
              description: Immuta global user ID
            username:
              type: string
              description: Username/login name for the user
            name:
              type: string
              description: Display name
            email:
              type: string
              description: Email address
              nullable: true
            authorizations:
              type: object
              additionalProperties:
                type: array
                items:
                  type: string
          required:
            - id
            - iamId
            - globalUserId
            - username
            - name
          title: Immuta User
        formVersion:
          type: string
        form:
          description: The request form submission
        type:
          type: string
          enum:
            - DATA_ACCESS
            - MASKING_EXCEPTION
          example: DATA_ACCESS
        metadata:
          description: Metadata associated with the access request
        status:
          type: string
          enum:
            - APPROVED
            - CANCELED
            - DENIED
            - PENDING
            - NONE
            - PUBLISHER
            - REVOKED
            - EXPIRED
          example: PENDING
        expiration:
          type: string
          format: date-time
          description: When the temporary access will expire
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        dataProduct:
          type: object
          properties:
            id:
              oneOf:
                - type: string
                  format: cuid
                - type: string
                  format: uuid
            name:
              type: string
              minLength: 1
              maxLength: 255
              pattern: ^[a-zA-Z0-9)(\-_/\\\s]*$
              description: Data product name
            description:
              oneOf:
                - type: string
                  description: Data product description
                  example: All sales records from the current fiscal year
              nullable: true
              description: Data product description
          required:
            - id
            - name
        asset:
          discriminator:
            propertyName: type
          oneOf:
            - type: object
              properties:
                id:
                  type: string
                  format: uuid
                  description: Asset ID
                name:
                  type: string
                  minLength: 1
                  description: Asset name
                type:
                  type: string
                  enum:
                    - DATA_PRODUCT
                createdAt:
                  oneOf:
                    - type: string
                      format: date-time
                    - type: string
                      format: date-time
                updatedAt:
                  oneOf:
                    - type: string
                      format: date-time
                    - type: string
                      format: date-time
                dagTagId:
                  oneOf:
                    - type: number
                  nullable: true
                requestId:
                  type: string
                  format: cuid
                  description: If requested, the ID of the access request for the asset
                status:
                  type: string
                  enum:
                    - APPROVED
                    - CANCELED
                    - DENIED
                    - PENDING
                    - NONE
                    - PUBLISHER
                    - REVOKED
                    - EXPIRED
                  example: PENDING
                metadata:
                  type: object
                  properties:
                    subjectMatterExperts:
                      default: *ref_29
                      type: array
                      items:
                        type: object
                        properties:
                          id:
                            type: string
                            format: uuid
                            description: Immuta global user ID of the subject matter expert
                          username:
                            type: string
                          name:
                            type: string
                        required:
                          - id
                    domains:
                      type: array
                      items:
                        type: string
                        format: uuid
                      minItems: 1
                      description: Array of domain IDs associated with the data product
                    description:
                      oneOf:
                        - type: string
                          description: Data product description
                          example: All sales records from the current fiscal year
                      nullable: true
                      description: Data product description
                  required:
                    - domains
                  description: Data product asset metadata
                createdBy:
                  type: string
                  format: uuid
                  description: >-
                    Immuta global user ID of the user who created the data
                    product
              required:
                - id
                - name
                - type
                - metadata
                - createdBy
              title: Data Product Asset
            - type: object
              properties:
                id:
                  type: string
                  format: uuid
                  description: Asset ID
                name:
                  type: string
                  minLength: 1
                  description: Asset name
                type:
                  type: string
                  enum:
                    - DATA_OBJECT
                createdAt:
                  oneOf:
                    - type: string
                      format: date-time
                    - type: string
                      format: date-time
                updatedAt:
                  oneOf:
                    - type: string
                      format: date-time
                    - type: string
                      format: date-time
                dagTagId:
                  oneOf:
                    - type: number
                  nullable: true
                requestId:
                  type: string
                  format: cuid
                  description: If requested, the ID of the access request for the asset
                status:
                  type: string
                  enum:
                    - APPROVED
                    - CANCELED
                    - DENIED
                    - PENDING
                    - NONE
                    - PUBLISHER
                    - REVOKED
                    - EXPIRED
                  example: PENDING
                metadata:
                  type: object
                  properties:
                    subjectMatterExperts:
                      default: *ref_29
                      type: array
                      items:
                        type: object
                        properties:
                          id:
                            type: string
                            format: uuid
                            description: Immuta global user ID of the subject matter expert
                          username:
                            type: string
                          name:
                            type: string
                        required:
                          - id
                    objectPath:
                      type: array
                      items:
                        type: string
                    technology:
                      type: string
                      enum:
                        - Snowflake
                        - PostgreSQL
                        - Databricks
                        - Glue
                        - MySQL
                        - Teradata
                        - MariaDB
                        - Oracle
                        - SQLServer
                        - Trino
                        - Redshift
                    legacyType:
                      type: string
                    dataSourceId:
                      type: number
                    description:
                      oneOf:
                        - type: string
                      nullable: true
                    externalLink:
                      oneOf:
                        - type: string
                      nullable: true
                  required:
                    - objectPath
                  description: Data object asset metadata
                registered:
                  default: true
                  type: boolean
                  description: Whether the asset has been registered
              required:
                - id
                - name
                - type
                - metadata
              title: Data Object Asset
          title: Asset
      required:
        - id
        - requestingUser
        - user
        - formVersion
        - type
        - status
        - createdAt
        - updatedAt
      title: Hydrated Access Request
      description: Access request with user and data product metadata
    CreateMaskingExceptionRequest:
      type: object
      properties:
        user:
          type: string
          format: uuid
          description: Immuta global user ID of the user for whom access is being requested
        form:
          description: The request form submission
        columns:
          type: array
          items:
            type: object
            properties:
              columnName:
                type: string
                description: The name of the column to request masking exception for
              sourceId:
                type: string
                description: The ID of the data source this column belongs to
            required:
              - columnName
              - sourceId
            description: Column in the data source to request masking exception for
          description: List of columns to request masking exception for
      required:
        - user
        - columns
    PaginatedDataSourceWithStatus:
      type: object
      properties:
        data:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
                format: cuid
              name:
                type: string
                example: Web Sales 2024
              type:
                type: string
              sourceId:
                type: string
              hostname:
                oneOf:
                  - type: string
                    description: Data source hostname
                nullable: true
                description: Data source hostname
              database:
                oneOf:
                  - type: string
                    description: Data source database name
                nullable: true
                description: Data source database name
              schema:
                oneOf:
                  - type: string
                    description: Data source schema name
                nullable: true
                description: Data source schema name
              table:
                oneOf:
                  - type: string
                    description: Data source table name
                nullable: true
                description: Data source table name
              prefix:
                oneOf:
                  - type: string
                    description: The native S3 prefix
                nullable: true
                description: The native S3 prefix
              status:
                type: string
                enum:
                  - NONE
                  - RESTRICTED
                  - SUBSCRIBED
                description: DAG Subscription Status
            required:
              - id
              - name
              - type
              - sourceId
              - status
        meta:
          type: object
          properties:
            nextToken:
              oneOf:
                - type: string
                  description: >-
                    Pagination token to fetch the next page of results, or null
                    if there are no more pages.
              nullable: true
              description: >-
                Pagination token to fetch the next page of results, or null if
                there are no more pages.
            limit:
              default: 10
              type: number
              minimum: 1
              maximum: 100
              description: The number of items to return per page
          required:
            - nextToken
      required:
        - data
        - meta
    AllDataSources:
      type: object
      properties:
        dataSources:
          type: array
          items:
            type: object
            properties:
              sourceId:
                type: string
            required:
              - sourceId
      required:
        - dataSources
    RecentDeterminations:
      type: object
      properties:
        determinations:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
                format: cuid
              requestingUser:
                type: object
                properties:
                  id:
                    type: number
                  iamId:
                    type: string
                    description: ID of the IAM the user is associated with
                  globalUserId:
                    type: string
                    format: uuid
                    description: Immuta global user ID
                  username:
                    type: string
                    description: Username/login name for the user
                  name:
                    type: string
                    description: Display name
                  email:
                    type: string
                    description: Email address
                    nullable: true
                  authorizations:
                    type: object
                    additionalProperties:
                      type: array
                      items:
                        type: string
                required:
                  - id
                  - iamId
                  - globalUserId
                  - username
                  - name
                title: Immuta User
              user:
                type: object
                properties:
                  id:
                    type: number
                  iamId:
                    type: string
                    description: ID of the IAM the user is associated with
                  globalUserId:
                    type: string
                    format: uuid
                    description: Immuta global user ID
                  username:
                    type: string
                    description: Username/login name for the user
                  name:
                    type: string
                    description: Display name
                  email:
                    type: string
                    description: Email address
                    nullable: true
                  authorizations:
                    type: object
                    additionalProperties:
                      type: array
                      items:
                        type: string
                required:
                  - id
                  - iamId
                  - globalUserId
                  - username
                  - name
                title: Immuta User
              actionBy:
                type: object
                properties:
                  id:
                    type: number
                  iamId:
                    type: string
                    description: ID of the IAM the user is associated with
                  globalUserId:
                    type: string
                    format: uuid
                    description: Immuta global user ID
                  username:
                    type: string
                    description: Username/login name for the user
                  name:
                    type: string
                    description: Display name
                  email:
                    type: string
                    description: Email address
                    nullable: true
                  authorizations:
                    type: object
                    additionalProperties:
                      type: array
                      items:
                        type: string
                required:
                  - id
                  - iamId
                  - globalUserId
                  - username
                  - name
                title: Immuta User
                nullable: true
              reason:
                type: string
              status:
                type: string
                enum:
                  - APPROVED
                  - BLOCKED
                  - CANCELED
                  - DENIED
                  - PENDING
                example: PENDING
              createdAt:
                type: string
                format: date-time
              updatedAt:
                type: string
                format: date-time
              expiration:
                type: string
                format: date-time
            required:
              - id
              - requestingUser
              - user
              - actionBy
              - status
              - createdAt
              - updatedAt
      required:
        - determinations
      title: Recent Data Product Manual Determinations
    RequestForms:
      type: array
      items:
        type: object
        properties:
          id:
            type: string
            format: uuid
          name:
            type: string
          fields:
            type: array
            items:
              discriminator:
                propertyName: type
              oneOf:
                - type: object
                  properties:
                    id:
                      type: string
                      format: uuid
                    type:
                      type: string
                      enum:
                        - DROPDOWN
                        - CHECKBOXES
                    label:
                      type: string
                    required:
                      default: true
                      type: boolean
                    options:
                      type: array
                      items:
                        type: object
                        properties:
                          value:
                            type: string
                        required:
                          - value
                  required:
                    - id
                    - type
                    - label
                    - options
                  title: Selection Form Field
                - type: object
                  properties:
                    id:
                      type: string
                      format: uuid
                    type:
                      type: string
                      enum:
                        - SHORT_ANSWER
                    label:
                      type: string
                    required:
                      default: true
                      type: boolean
                  required:
                    - id
                    - type
                    - label
                  title: Short Answer Form Field
                - type: object
                  properties:
                    id:
                      type: string
                      format: uuid
                    type:
                      type: string
                      enum:
                        - ACCESS_DURATION
                    label:
                      type: string
                      enum:
                        - How long do you need access to this data?
                    required:
                      type: boolean
                      enum:
                        - true
                  required:
                    - id
                    - type
                    - label
                    - required
                  title: Access Duration Form Field
            title: RequestFormFields
          policy:
            type: object
            properties:
              version:
                type: string
                description: Policy schema version
              rules:
                type: array
                items:
                  type: object
                  properties:
                    conditions:
                      oneOf:
                        - type: object
                          properties:
                            all:
                              type: array
                              items: {}
                          required:
                            - all
                          additionalProperties: false
                        - type: object
                          properties:
                            any:
                              type: array
                              items: {}
                          required:
                            - any
                          additionalProperties: false
                        - type: object
                          properties:
                            not: {}
                          required:
                            - not
                          additionalProperties: false
                    event:
                      discriminator:
                        propertyName: type
                      oneOf:
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - approve
                            params:
                              type: object
                              properties:
                                comment:
                                  type: string
                                duration:
                                  type: number
                                  minimum: 1
                                durationUnit:
                                  type: string
                                  enum:
                                    - HOURS
                                    - DAYS
                                    - WEEKS
                                    - MONTHS
                                    - YEARS
                              additionalProperties: false
                          required:
                            - type
                            - params
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - deny
                            params:
                              type: object
                              properties:
                                comment:
                                  type: string
                          required:
                            - type
                            - params
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - review
                            params:
                              type: object
                              properties:
                                stages:
                                  type: array
                                  items:
                                    oneOf:
                                      - type: object
                                        properties:
                                          all:
                                            type: array
                                            items:
                                              oneOf:
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - USER
                                                      description: Entity type
                                                    id:
                                                      type: string
                                                      description: Entity ID
                                                    displayName:
                                                      type: string
                                                      description: Entity display name
                                                  required:
                                                    - type
                                                    - id
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - GROUP
                                                      description: Entity type
                                                    id:
                                                      type: number
                                                      description: Entity ID
                                                    iamId:
                                                      type: string
                                                      description: IAM ID
                                                    name:
                                                      type: string
                                                      description: Entity display name
                                                  required:
                                                    - type
                                                    - name
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - PERMISSION
                                                    permission:
                                                      type: string
                                                      enum:
                                                        - GOVERNANCE
                                                        - USER_ADMIN
                                                        - AUDIT
                                                      description: Global permission
                                                  required:
                                                    - type
                                                    - permission
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - DOMAIN PERMISSION
                                                    permission:
                                                      type: string
                                                      enum:
                                                        - Manage Policies
                                                        - Audit Activity
                                                        - Manage Data Products
                                                        - Manage Identifiers
                                                      description: Domain permission
                                                    domainId:
                                                      type: string
                                                      description: Domain ID
                                                  required:
                                                    - type
                                                    - permission
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - ATTRIBUTE
                                                    key:
                                                      type: string
                                                      description: Attribute key
                                                    value:
                                                      type: string
                                                      description: Attribute value
                                                  required:
                                                    - type
                                                    - key
                                                    - value
                                            minItems: 1
                                        required:
                                          - all
                                      - type: object
                                        properties:
                                          any:
                                            type: array
                                            items:
                                              oneOf:
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - USER
                                                      description: Entity type
                                                    id:
                                                      type: string
                                                      description: Entity ID
                                                    displayName:
                                                      type: string
                                                      description: Entity display name
                                                  required:
                                                    - type
                                                    - id
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - GROUP
                                                      description: Entity type
                                                    id:
                                                      type: number
                                                      description: Entity ID
                                                    iamId:
                                                      type: string
                                                      description: IAM ID
                                                    name:
                                                      type: string
                                                      description: Entity display name
                                                  required:
                                                    - type
                                                    - name
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - PERMISSION
                                                    permission:
                                                      type: string
                                                      enum:
                                                        - GOVERNANCE
                                                        - USER_ADMIN
                                                        - AUDIT
                                                      description: Global permission
                                                  required:
                                                    - type
                                                    - permission
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - DOMAIN PERMISSION
                                                    permission:
                                                      type: string
                                                      enum:
                                                        - Manage Policies
                                                        - Audit Activity
                                                        - Manage Data Products
                                                        - Manage Identifiers
                                                      description: Domain permission
                                                    domainId:
                                                      type: string
                                                      description: Domain ID
                                                  required:
                                                    - type
                                                    - permission
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - ATTRIBUTE
                                                    key:
                                                      type: string
                                                      description: Attribute key
                                                    value:
                                                      type: string
                                                      description: Attribute value
                                                  required:
                                                    - type
                                                    - key
                                                    - value
                                            minItems: 1
                                        required:
                                          - any
                                  description: Array of stages for manual review
                              required:
                                - stages
                          required:
                            - type
                            - params
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - dataProductPolicy
                          required:
                            - type
                  required:
                    - conditions
                    - event
              defaultEvent:
                discriminator:
                  propertyName: type
                oneOf:
                  - type: object
                    properties:
                      type:
                        type: string
                        enum:
                          - approve
                      params:
                        type: object
                        properties:
                          comment:
                            type: string
                          duration:
                            type: number
                            minimum: 1
                          durationUnit:
                            type: string
                            enum:
                              - HOURS
                              - DAYS
                              - WEEKS
                              - MONTHS
                              - YEARS
                        additionalProperties: false
                    required:
                      - type
                      - params
                  - type: object
                    properties:
                      type:
                        type: string
                        enum:
                          - deny
                      params:
                        type: object
                        properties:
                          comment:
                            type: string
                    required:
                      - type
                      - params
                  - type: object
                    properties:
                      type:
                        type: string
                        enum:
                          - review
                      params:
                        type: object
                        properties:
                          stages:
                            type: array
                            items:
                              oneOf:
                                - type: object
                                  properties:
                                    all:
                                      type: array
                                      items:
                                        oneOf:
                                          - type: object
                                            properties:
                                              type:
                                                type: string
                                                enum:
                                                  - USER
                                                description: Entity type
                                              id:
                                                type: string
                                                description: Entity ID
                                              displayName:
                                                type: string
                                                description: Entity display name
                                            required:
                                              - type
                                              - id
                                          - type: object
                                            properties:
                                              type:
                                                type: string
                                                enum:
                                                  - GROUP
                                                description: Entity type
                                              id:
                                                type: number
                                                description: Entity ID
                                              iamId:
                                                type: string
                                                description: IAM ID
                                              name:
                                                type: string
                                                description: Entity display name
                                            required:
                                              - type
                                              - name
                                          - type: object
                                            properties:
                                              type:
                                                type: string
                                                enum:
                                                  - PERMISSION
                                              permission:
                                                type: string
                                                enum:
                                                  - GOVERNANCE
                                                  - USER_ADMIN
                                                  - AUDIT
                                                description: Global permission
                                            required:
                                              - type
                                              - permission
                                          - type: object
                                            properties:
                                              type:
                                                type: string
                                                enum:
                                                  - DOMAIN PERMISSION
                                              permission:
                                                type: string
                                                enum:
                                                  - Manage Policies
                                                  - Audit Activity
                                                  - Manage Data Products
                                                  - Manage Identifiers
                                                description: Domain permission
                                              domainId:
                                                type: string
                                                description: Domain ID
                                            required:
                                              - type
                                              - permission
                                          - type: object
                                            properties:
                                              type:
                                                type: string
                                                enum:
                                                  - ATTRIBUTE
                                              key:
                                                type: string
                                                description: Attribute key
                                              value:
                                                type: string
                                                description: Attribute value
                                            required:
                                              - type
                                              - key
                                              - value
                                      minItems: 1
                                  required:
                                    - all
                                - type: object
                                  properties:
                                    any:
                                      type: array
                                      items:
                                        oneOf:
                                          - type: object
                                            properties:
                                              type:
                                                type: string
                                                enum:
                                                  - USER
                                                description: Entity type
                                              id:
                                                type: string
                                                description: Entity ID
                                              displayName:
                                                type: string
                                                description: Entity display name
                                            required:
                                              - type
                                              - id
                                          - type: object
                                            properties:
                                              type:
                                                type: string
                                                enum:
                                                  - GROUP
                                                description: Entity type
                                              id:
                                                type: number
                                                description: Entity ID
                                              iamId:
                                                type: string
                                                description: IAM ID
                                              name:
                                                type: string
                                                description: Entity display name
                                            required:
                                              - type
                                              - name
                                          - type: object
                                            properties:
                                              type:
                                                type: string
                                                enum:
                                                  - PERMISSION
                                              permission:
                                                type: string
                                                enum:
                                                  - GOVERNANCE
                                                  - USER_ADMIN
                                                  - AUDIT
                                                description: Global permission
                                            required:
                                              - type
                                              - permission
                                          - type: object
                                            properties:
                                              type:
                                                type: string
                                                enum:
                                                  - DOMAIN PERMISSION
                                              permission:
                                                type: string
                                                enum:
                                                  - Manage Policies
                                                  - Audit Activity
                                                  - Manage Data Products
                                                  - Manage Identifiers
                                                description: Domain permission
                                              domainId:
                                                type: string
                                                description: Domain ID
                                            required:
                                              - type
                                              - permission
                                          - type: object
                                            properties:
                                              type:
                                                type: string
                                                enum:
                                                  - ATTRIBUTE
                                              key:
                                                type: string
                                                description: Attribute key
                                              value:
                                                type: string
                                                description: Attribute value
                                            required:
                                              - type
                                              - key
                                              - value
                                      minItems: 1
                                  required:
                                    - any
                            description: Array of stages for manual review
                        required:
                          - stages
                    required:
                      - type
                      - params
                  - type: object
                    properties:
                      type:
                        type: string
                        enum:
                          - dataProductPolicy
                    required:
                      - type
            required:
              - rules
              - defaultEvent
          dataUseAgreements:
            default: &ref_31 []
            type: array
            items:
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                name:
                  type: string
                  description: The name of data use agreement
                body:
                  type: string
                  description: The contents of data use agreement
              required:
                - id
                - name
                - body
            title: Request Form Data Use Agreements
          createdBy:
            type: object
            properties:
              globalUserId:
                type: string
                format: uuid
                description: Immuta global user ID
              name:
                type: string
                description: Display name
            required:
              - globalUserId
              - name
            description: The user who originally created the request form
          createdAt:
            oneOf:
              - type: string
                format: date-time
              - type: string
                format: date-time
          updatedBy:
            type: object
            properties:
              globalUserId:
                type: string
                format: uuid
                description: Immuta global user ID
              name:
                type: string
                description: Display name
            required:
              - globalUserId
              - name
            description: The user who last updated the request form
          updatedAt:
            oneOf:
              - type: string
                format: date-time
              - type: string
                format: date-time
          version:
            type: string
            format: cuid
            description: The current version of the request form
        required:
          - id
          - name
          - fields
          - policy
          - createdBy
          - createdAt
          - updatedBy
          - updatedAt
          - version
        title: Request Form
    PaginatedImmutaDataSourceColumns:
      type: object
      properties:
        data:
          type: array
          items:
            type: object
            properties:
              name:
                type: string
                description: Name of the column
              sourceId:
                type: string
                description: The ID of the data source containing the column
              sourceName:
                type: string
                description: The name of the data source containing the column
              tags:
                type: array
                items:
                  type: string
                description: Tags associated with the column
              type:
                type: string
                description: The data source technology/platform type
              masking:
                type: array
                items:
                  type: object
                  properties:
                    type:
                      type: string
                      description: Type of masking policy
                    global:
                      type: boolean
                      description: Indicates if the masking policy is global (or local)
                  required:
                    - type
                    - global
                description: Masking policies applied to the column
            required:
              - name
              - sourceId
              - sourceName
              - tags
              - masking
        meta:
          type: object
          properties:
            offset:
              default: 0
              type: number
              minimum: 0
            limit:
              default: 10
              type: number
              minimum: 1
            totalCount:
              type: number
            pageCount:
              type: number
            currentPage:
              type: number
            totalPages:
              type: number
          required:
            - totalCount
            - pageCount
            - currentPage
            - totalPages
      required:
        - data
        - meta
    RequestedMaskingExceptionColumns:
      type: array
      items:
        type: object
        properties:
          columnName:
            type: string
            description: The name of the column to request masking exception for
          sourceId:
            type: string
            description: The ID of the data source this column belongs to
        required:
          - columnName
          - sourceId
        description: Column in the data source to request masking exception for
      description: List of columns that have been requested for masking exception
    ApprovalRecords:
      type: object
      properties:
        approvalRecords:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
                format: cuid
              dataAccessRequestId:
                type: string
                format: cuid
              approvers:
                type: array
                items:
                  oneOf:
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - USER
                          description: Entity type
                        id:
                          type: string
                          description: Entity ID
                        displayName:
                          type: string
                          description: Entity display name
                      required:
                        - type
                        - id
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - GROUP
                          description: Entity type
                        id:
                          type: number
                          description: Entity ID
                        iamId:
                          type: string
                          description: IAM ID
                        name:
                          type: string
                          description: Entity display name
                      required:
                        - type
                        - name
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - PERMISSION
                        permission:
                          type: string
                          enum:
                            - GOVERNANCE
                            - USER_ADMIN
                            - AUDIT
                          description: Global permission
                      required:
                        - type
                        - permission
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - DOMAIN PERMISSION
                        permission:
                          type: string
                          enum:
                            - Manage Policies
                            - Audit Activity
                            - Manage Data Products
                            - Manage Identifiers
                          description: Domain permission
                        domainId:
                          type: string
                          description: Domain ID
                      required:
                        - type
                        - permission
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - ATTRIBUTE
                        key:
                          type: string
                          description: Attribute key
                        value:
                          type: string
                          description: Attribute value
                      required:
                        - type
                        - key
                        - value
              prerequisites:
                type: array
                items:
                  type: string
              actionBy:
                type: object
                properties:
                  id:
                    type: number
                  iamId:
                    type: string
                    description: ID of the IAM the user is associated with
                  globalUserId:
                    type: string
                    format: uuid
                    description: Immuta global user ID
                  username:
                    type: string
                    description: Username/login name for the user
                  name:
                    type: string
                    description: Display name
                  email:
                    type: string
                    description: Email address
                    nullable: true
                  authorizations:
                    type: object
                    additionalProperties:
                      type: array
                      items:
                        type: string
                required:
                  - id
                  - iamId
                  - globalUserId
                  - username
                  - name
                title: Immuta User
                description: The user who took action on this approval record
              status:
                type: string
                enum:
                  - APPROVED
                  - BLOCKED
                  - CANCELED
                  - DENIED
                  - PENDING
                example: PENDING
              reason:
                type: string
              createdAt:
                type: string
                format: date-time
              updatedAt:
                type: string
                format: date-time
              approverCriteriaMet:
                oneOf:
                  - type: array
                    items:
                      oneOf:
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - USER
                              description: Entity type
                            id:
                              type: string
                              description: Entity ID
                            displayName:
                              type: string
                              description: Entity display name
                          required:
                            - type
                            - id
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - GROUP
                              description: Entity type
                            id:
                              type: number
                              description: Entity ID
                            iamId:
                              type: string
                              description: IAM ID
                            name:
                              type: string
                              description: Entity display name
                          required:
                            - type
                            - name
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - PERMISSION
                            permission:
                              type: string
                              enum:
                                - GOVERNANCE
                                - USER_ADMIN
                                - AUDIT
                              description: Global permission
                          required:
                            - type
                            - permission
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - DOMAIN PERMISSION
                            permission:
                              type: string
                              enum:
                                - Manage Policies
                                - Audit Activity
                                - Manage Data Products
                                - Manage Identifiers
                              description: Domain permission
                            domainId:
                              type: string
                              description: Domain ID
                          required:
                            - type
                            - permission
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - ATTRIBUTE
                            key:
                              type: string
                              description: Attribute key
                            value:
                              type: string
                              description: Attribute value
                          required:
                            - type
                            - key
                            - value
                nullable: true
              duration:
                oneOf:
                  - type: number
                nullable: true
              durationUnit:
                oneOf:
                  - type: string
                nullable: true
            required:
              - id
              - dataAccessRequestId
              - approvers
              - prerequisites
              - status
              - createdAt
              - updatedAt
              - approverCriteriaMet
              - duration
              - durationUnit
      required:
        - approvalRecords
    RiskAssessmentResponse:
      oneOf:
        - type: object
          properties:
            conflictDetected:
              type: boolean
            approvalRisk:
              type: string
              enum:
                - HIGH
                - MODERATE
                - LOW
                - INDETERMINATE
            recommendation:
              type: string
              enum:
                - APPROVED
                - BLOCKED
                - CANCELED
                - DENIED
                - PENDING
            nAllowed:
              type: number
            nDenied:
              type: number
            riskValue:
              type: number
            cohort:
              type: object
              properties:
                literals:
                  type: array
                  items:
                    allOf:
                      - oneOf:
                          - type: object
                            properties:
                              name:
                                type: string
                            required:
                              - name
                          - type: object
                            properties:
                              name:
                                type: string
                              value:
                                type: string
                            required:
                              - name
                              - value
                          - type: object
                            properties:
                              label:
                                type: string
                              similarRequests:
                                type: object
                                additionalProperties:
                                  type: string
                            required:
                              - label
                      - type: object
                        properties:
                          negation:
                            type: boolean
              required:
                - literals
            medianApprovalTimeWindowInDays:
              type: number
            explanation:
              type: string
            approvalReasons:
              type: array
              items:
                type: string
            denialReasons:
              type: array
              items:
                type: string
          required:
            - conflictDetected
            - approvalRisk
            - recommendation
            - nAllowed
            - nDenied
            - riskValue
            - cohort
            - explanation
            - approvalReasons
            - denialReasons
        - type: object
          properties:
            approvalRisk:
              type: string
              enum:
                - HIGH
                - MODERATE
                - LOW
                - INDETERMINATE
          required:
            - approvalRisk
    PaginatedMaskingExceptionColumns:
      type: object
      properties:
        data:
          type: array
          items:
            type: object
            properties:
              name:
                type: string
                description: Name of the column
              sourceId:
                type: string
                description: The ID of the data source containing the column
              sourceName:
                type: string
                description: The name of the data source containing the column
              tags:
                type: array
                items:
                  type: string
                description: Tags associated with the column
              type:
                type: string
                description: The data source technology/platform type
              globalPolicyInfo:
                type: object
                properties:
                  maskingType:
                    type: string
                    description: The type of masking policy that was applied
                  matchingTag:
                    type: string
                    description: >-
                      The tag that caused the global masking policy to be
                      applied
                    nullable: true
                  matchingRegex:
                    type: string
                    description: >-
                      The regex that caused the global masking policy to be
                      applied
                    nullable: true
                required:
                  - maskingType
                nullable: true
            required:
              - name
              - sourceId
              - sourceName
              - tags
        meta:
          type: object
          properties:
            offset:
              default: 0
              type: number
              minimum: 0
            limit:
              default: 10
              type: number
              minimum: 1
            totalCount:
              type: number
            pageCount:
              type: number
            currentPage:
              type: number
            totalPages:
              type: number
          required:
            - totalCount
            - pageCount
            - currentPage
            - totalPages
      required:
        - data
        - meta
    ImmutaDomainSchemaResponse:
      type: object
      properties:
        domains:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
              name:
                type: string
                description: Domain name
                example: North American Sales
              description:
                type: string
                description: Domain description
                example: A collection of data sources relevant to North American sales
            required:
              - id
              - name
              - description
      required:
        - domains
    PaginatedImmutaDataSource:
      type: object
      properties:
        data:
          type: array
          items:
            type: object
            properties:
              dataSourceId:
                type: number
              name:
                type: string
                description: Data source name
                example: November 2023 Online
              platform:
                type: string
                description: Data source technology
                example: Databricks
              createdAt:
                type: string
                format: date-time
              prefix:
                oneOf:
                  - type: string
                    description: The native S3 prefix
                nullable: true
                description: The native S3 prefix
              hostname:
                oneOf:
                  - type: string
                    description: Data source hostname
                nullable: true
                description: Data source hostname
              database:
                oneOf:
                  - type: string
                    description: Data source database name
                nullable: true
                description: Data source database name
              schema:
                oneOf:
                  - type: string
                    description: Data source schema name
                nullable: true
                description: Data source schema name
              table:
                oneOf:
                  - type: string
                    description: Data source table name
                nullable: true
                description: Data source table name
            required:
              - dataSourceId
              - name
              - platform
              - createdAt
        meta:
          type: object
          properties:
            offset:
              default: 0
              type: number
              minimum: 0
            limit:
              default: 10
              type: number
              minimum: 1
            totalCount:
              type: number
            pageCount:
              type: number
            currentPage:
              type: number
            totalPages:
              type: number
          required:
            - totalCount
            - pageCount
            - currentPage
            - totalPages
      required:
        - data
        - meta
    ImmutaDomain:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
          description: Domain name
          example: North American Sales
        description:
          type: string
          description: Domain description
          example: A collection of data sources relevant to North American sales
      required:
        - id
        - name
        - description
    ImmutaUserList:
      type: object
      properties:
        users:
          type: array
          items:
            type: object
            properties:
              id:
                type: number
              iamId:
                type: string
                description: ID of the IAM the user is associated with
              globalUserId:
                type: string
                format: uuid
                description: Immuta global user ID
              username:
                type: string
                description: Username/login name for the user
              name:
                type: string
                description: Display name
              email:
                type: string
                description: Email address
                nullable: true
              authorizations:
                type: object
                additionalProperties:
                  type: array
                  items:
                    type: string
            required:
              - id
              - iamId
              - globalUserId
              - username
              - name
            title: Immuta User
      required:
        - users
    ImmutaGroupList:
      type: object
      properties:
        groups:
          type: array
          items:
            type: object
            properties:
              id:
                type: number
                description: Immuta group ID
              iamId:
                type: string
                description: ID of the IAM the group is associated with
                nullable: true
              name:
                type: string
                description: Group name
              email:
                type: string
                format: email
                description: Email address
                nullable: true
            required:
              - id
              - iamId
              - name
              - email
            title: Immuta Group
      required:
        - groups
    ImmutaAttributeList:
      type: object
      properties:
        attributes:
          type: array
          items:
            type: object
            properties:
              type:
                type: string
              value:
                type: string
            required:
              - type
              - value
            title: Immuta Attribute
      required:
        - attributes
    ImmutaTagSearchResponse:
      type: array
      items:
        type: object
        properties:
          addedBy:
            type: number
          color:
            type: string
          context:
            type: string
          createdAt:
            type: string
          createdBy:
            type: number
          dataProductName:
            type: string
          deleted:
            type: boolean
          description:
            type: string
          displayName:
            type: string
          hasLeafNodes:
            type: boolean
          id:
            type: number
          name:
            type: string
          protected:
            type: boolean
          source:
            type: string
          systemCreated:
            type: boolean
          updatedAt:
            type: string
        required:
          - name
    ImmutaDataObjectSearchBody:
      type: object
      properties:
        objectPath:
          type: string
      required:
        - objectPath
    PaginatedDataObject:
      type: object
      properties:
        data:
          type: array
          items:
            type: object
            properties:
              uniqueId:
                type: string
                format: uuid
              objectPath:
                type: array
                items:
                  type: string
              objectType:
                type: string
              technology:
                type: string
                enum:
                  - Snowflake
                  - PostgreSQL
                  - Databricks
                  - Glue
                  - MySQL
                  - Teradata
                  - MariaDB
                  - Oracle
                  - SQLServer
                  - Trino
                  - Redshift
              name:
                type: string
              dataSourceId:
                type: number
            required:
              - uniqueId
              - objectPath
              - technology
              - name
        meta:
          type: object
          properties:
            offset:
              default: 0
              type: number
              minimum: 0
            limit:
              default: 10
              type: number
              minimum: 1
            totalCount:
              type: number
            pageCount:
              type: number
            currentPage:
              type: number
            totalPages:
              type: number
          required:
            - totalCount
            - pageCount
            - currentPage
            - totalPages
      required:
        - data
        - meta
    ImmutaDataObject:
      type: object
      properties:
        uniqueId:
          type: string
          format: uuid
        objectPath:
          type: array
          items:
            type: string
        objectType:
          type: string
        technology:
          type: string
          enum:
            - Snowflake
            - PostgreSQL
            - Databricks
            - Glue
            - MySQL
            - Teradata
            - MariaDB
            - Oracle
            - SQLServer
            - Trino
            - Redshift
        name:
          type: string
        dataSourceId:
          type: number
      required:
        - uniqueId
        - objectPath
        - technology
        - name
    AppliedTagSearchRequest:
      type: object
      properties:
        dataProductId:
          type: string
          description: >-
            Data product ID to search for applied tags across all its data
            sources
        dataSourceIds:
          type: array
          items:
            type: integer
          description: Array of data source IDs to search for applied tags
        searchText:
          type: string
          description: A string used to filter returned tags based on name.
        fuzzySearch:
          type: boolean
          description: >-
            If true, the search will be more forgiving when tags with escaped
            periods are involved.
        modelType:
          default:
            - datasource
            - column
          oneOf:
            - type: string
              enum:
                - datasource
                - column
            - type: array
              items:
                type: string
                enum:
                  - datasource
                  - column
              minItems: 1
          description: >-
            Filter by model type. Can be a single model type or an array of
            model types.
        excludedHierarchies:
          type: array
          items:
            type: string
          description: Array of tag hierarchies to exclude from the search.
        offset:
          default: 0
          type: integer
          minimum: 0
          description: The number of results to skip
        limit:
          default: 10
          type: integer
          minimum: 1
          description: The maximum number of search results that will be returned
    AppliedTagSearchResponse:
      type: object
      properties:
        data:
          type: array
          items:
            type: object
            properties:
              tagId:
                type: integer
                description: The tag ID
              name:
                type: string
              displayName:
                type: string
                nullable: true
              color:
                type: string
                nullable: true
              source:
                type: string
              description:
                type: string
                nullable: true
              protected:
                type: boolean
              deleted:
                type: boolean
              systemCreated:
                type: boolean
              createdBy:
                type: integer
                nullable: true
              createdAt:
                type: string
                format: date-time
              updatedAt:
                type: string
                format: date-time
            required:
              - tagId
              - name
              - displayName
              - color
              - source
              - description
              - protected
              - deleted
              - systemCreated
              - createdBy
        total:
          type: integer
          description: Total number of results
      required:
        - data
        - total
    DataObjectSourceSearchBody:
      type: object
      properties:
        searchText:
          type: string
          description: A string used to filter returned data sources based on name.
        offset:
          default: 0
          type: integer
          minimum: 0
          description: The number of results to skip
        limit:
          default: 10
          type: integer
          minimum: 1
          description: The maximum number of search results that will be returned
    DataObjectSourceSearchResponse:
      type: object
      properties:
        data:
          type: array
          items:
            type: object
            properties:
              id:
                type: integer
                description: The data source ID
              name:
                type: string
                description: The data source name
            required:
              - id
              - name
        meta:
          type: object
          properties:
            offset:
              default: 0
              type: number
              minimum: 0
            limit:
              default: 10
              type: number
              minimum: 1
            totalCount:
              type: number
            pageCount:
              type: number
            currentPage:
              type: number
            totalPages:
              type: number
          required:
            - totalCount
            - pageCount
            - currentPage
            - totalPages
      required:
        - data
        - meta
    SearchDataObjectsRequest:
      type: object
      properties:
        connection:
          oneOf:
            - type: object
              properties:
                connectionKey:
                  type: string
              required:
                - connectionKey
              title: Connection By Key
            - type: object
              properties:
                host:
                  type: string
                port:
                  type: number
                technology:
                  type: string
                  enum:
                    - Snowflake
                    - PostgreSQL
                    - Databricks
                    - Glue
                    - MySQL
                    - Teradata
                    - MariaDB
                    - Oracle
                    - SQLServer
                    - Trino
                    - Redshift
              required:
                - host
                - port
                - technology
              title: Connection By Host
        dataObject:
          oneOf:
            - type: object
              properties:
                name:
                  type: string
              required:
                - name
              title: Data Object By Name
            - type: object
              properties:
                objectType:
                  type: string
                name:
                  type: string
              required:
                - objectType
                - name
              additionalProperties: true
              title: Data Object By Type and Name
            - type: object
              properties:
                remoteId:
                  type: string
              required:
                - remoteId
              title: Data Object By Remote ID
            - type: object
              properties:
                objectType:
                  type: string
                simpleObjectPath:
                  type: array
                  items:
                    type: string
              required:
                - objectType
                - simpleObjectPath
              additionalProperties: true
              title: Data Object By Type and Simple Object Path
            - type: object
              properties:
                simpleObjectPath:
                  type: array
                  items:
                    type: string
              required:
                - simpleObjectPath
              title: Data Object By Simple Object Path
            - type: object
              properties:
                objectPath:
                  type: object
                  properties:
                    name:
                      type: string
                    type:
                      type: string
                    child: {}
                  required:
                    - name
                    - type
              required:
                - objectPath
              title: Data Object By Object Path
            - type: object
              properties:
                objectType:
                  type: string
              required:
                - objectType
              title: Data Object By Type
        nextToken:
          type: string
          description: Pagination token to fetch the next page of results
        limit:
          default: 10
          type: number
          minimum: 1
          maximum: 100
          description: The number of items to return per page
        sortOrder:
          default: asc
          type: string
          enum:
            - asc
            - desc
        sortBy:
          default: createdAt
          type: string
          enum:
            - name
            - type
            - createdAt
            - updatedAt
            - lastSyncedAt
      required:
        - dataObject
    SearchDataObjectsResponse:
      type: object
      properties:
        data:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
              name:
                type: string
              type:
                type: string
              remoteId:
                type: string
              connectionKey:
                type: string
              objectPath:
                type: object
                properties:
                  name:
                    type: string
                  type:
                    type: string
                  child: {}
                required:
                  - name
                  - type
              lastSyncedAt:
                type: string
                format: date-time
              createdBy:
                type: string
              createdAt:
                type: string
                format: date-time
              updatedBy:
                type: string
              updatedAt:
                type: string
                format: date-time
            required:
              - id
              - name
              - type
              - connectionKey
              - objectPath
              - lastSyncedAt
              - createdBy
              - createdAt
              - updatedBy
              - updatedAt
        meta:
          type: object
          properties:
            nextToken:
              oneOf:
                - type: string
                  description: >-
                    Pagination token to fetch the next page of results, or null
                    if there are no more pages.
              nullable: true
              description: >-
                Pagination token to fetch the next page of results, or null if
                there are no more pages.
            limit:
              default: 10
              type: number
              minimum: 1
              maximum: 100
              description: The number of items to return per page
          required:
            - nextToken
      required:
        - data
        - meta
    GetUserPreferencesResponse:
      type: array
      items:
        type: object
        properties:
          provider:
            type: string
          enabled:
            type: boolean
          typePreferences:
            type: array
            items:
              type: object
              properties:
                notificationType:
                  type: string
                enabled:
                  type: boolean
              required:
                - notificationType
                - enabled
          metadata:
            type: object
            properties:
              authVerified:
                type: boolean
        required:
          - provider
          - enabled
          - typePreferences
    UpdateUserPreferencesRequest:
      type: object
      properties:
        preferences:
          type: array
          items:
            type: object
            properties:
              provider:
                type: string
              typePreferences:
                type: array
                items:
                  type: object
                  properties:
                    notificationType:
                      type: string
                    enabled:
                      type: boolean
                  required:
                    - notificationType
                    - enabled
            required:
              - provider
              - typePreferences
      required:
        - preferences
    UpdateUserPreferencesResponse:
      type: object
      properties:
        recipientId:
          type: string
          format: uuid
        preferences:
          type: array
          items:
            type: object
            properties:
              provider:
                type: string
              typePreferences:
                type: array
                items:
                  type: object
                  properties:
                    notificationType:
                      type: string
                    enabled:
                      type: boolean
                  required:
                    - notificationType
                    - enabled
            required:
              - provider
              - typePreferences
      required:
        - recipientId
        - preferences
    UpdateUserProviderConfigsRequest:
      type: object
      properties:
        configs:
          type: array
          items:
            type: object
            properties:
              provider:
                type: string
              enabled:
                type: boolean
            required:
              - provider
              - enabled
      required:
        - configs
    UpdateUserProviderConfigsResponse:
      type: object
      properties:
        recipientId:
          type: string
          format: uuid
        configs:
          type: array
          items:
            type: object
            properties:
              provider:
                type: string
              enabled:
                type: boolean
            required:
              - provider
              - enabled
      required:
        - recipientId
        - configs
    TenantProviderConfiguration:
      type: object
      properties:
        provider:
          type: string
        enabled:
          type: boolean
        recipientDefault:
          type: boolean
      required:
        - provider
        - enabled
        - recipientDefault
    UpdateTenantProviderConfiguration:
      type: object
      properties:
        enabled:
          type: boolean
        recipientDefault:
          type: boolean
    PaginatedInboxMessages:
      type: object
      properties:
        data:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
                format: uuid
              notificationId:
                type: string
                format: uuid
              notificationType:
                type: string
              message:
                type: string
              subject:
                type: string
              createdAt:
                type: string
                format: iso_format
                example: '2025-01-09T12:34:56.000Z'
              readAt:
                type: string
                format: iso_format
                example: '2025-01-09T12:34:56.000Z'
              data:
                type: object
                properties:
                  actionLink:
                    type: string
                    format: uri
            required:
              - id
              - notificationId
              - notificationType
              - message
              - subject
              - createdAt
        meta:
          type: object
          properties:
            offset:
              default: 0
              type: number
              minimum: 0
            limit:
              default: 10
              type: number
              minimum: 1
            totalCount:
              type: number
            pageCount:
              type: number
            currentPage:
              type: number
            totalPages:
              type: number
          required:
            - totalCount
            - pageCount
            - currentPage
            - totalPages
      required:
        - data
        - meta
    InboxMessage:
      type: object
      properties:
        id:
          type: string
          format: uuid
        notificationId:
          type: string
          format: uuid
        notificationType:
          type: string
        message:
          type: string
        subject:
          type: string
        createdAt:
          type: string
          format: iso_format
          example: '2025-01-09T12:34:56.000Z'
        readAt:
          type: string
          format: iso_format
          example: '2025-01-09T12:34:56.000Z'
        data:
          type: object
          properties:
            actionLink:
              type: string
              format: uri
      required:
        - id
        - notificationId
        - notificationType
        - message
        - subject
        - createdAt
    UpdateInboxMessages:
      type: array
      items:
        type: object
        properties:
          id:
            type: string
            format: uuid
          read:
            type: boolean
        required:
          - id
          - read
    UpdateInboxMessage:
      type: object
      properties:
        read:
          type: boolean
      required:
        - read
    Webhook:
      type: object
      properties:
        id:
          type: string
          format: uuid
        url:
          type: string
          format: uri
        verifyTls:
          default: true
          type: boolean
        signingKey:
          default: false
          type: boolean
        suppressed:
          default: false
          type: boolean
      required:
        - id
        - url
    PaginatedWebhookHistory:
      type: object
      properties:
        data:
          type: array
          items:
            type: object
            properties:
              webhookId:
                type: string
                format: uuid
              deliveryId:
                type: string
                format: uuid
              status:
                type: string
              httpStatusCode:
                type: number
              createdAt:
                type: string
                format: iso_format
                example: '2025-01-09T12:34:56.000Z'
              message:
                type: string
            required:
              - webhookId
              - deliveryId
              - status
              - httpStatusCode
              - createdAt
              - message
        meta:
          type: object
          properties:
            offset:
              default: 0
              type: number
              minimum: 0
            limit:
              default: 10
              type: number
              minimum: 1
            totalCount:
              type: number
            pageCount:
              type: number
            currentPage:
              type: number
            totalPages:
              type: number
          required:
            - totalCount
            - pageCount
            - currentPage
            - totalPages
      required:
        - data
        - meta
    CreateWebhook:
      type: object
      properties:
        url:
          type: string
          format: uri
        verifyTls:
          default: true
          type: boolean
        signingKey:
          type: string
      required:
        - url
    UpdateWebhook:
      type: object
      properties:
        url:
          type: string
          format: uri
        verifyTls:
          default: true
          type: boolean
        signingKey:
          type: string
    WebhookTestResult:
      type: object
      properties:
        status:
          type: string
          enum:
            - UNSPECIFIED
            - SUCCESS
            - FAILED
            - 0
            - 1
            - 2
        httpStatusCode:
          type: number
        errorMessage:
          type: string
      required:
        - status
        - httpStatusCode
    GetSlackAuthUrlResponse:
      type: object
      properties:
        redirectUrl:
          type: string
          format: uri
      required:
        - redirectUrl
    SlackAuthCallbackRequest:
      type: object
      properties:
        code:
          type: string
        state:
          type: string
      required:
        - code
        - state
    GetSlackConfigurationResponse:
      type: object
      properties:
        isConfigured:
          type: boolean
        configuration:
          type: object
          properties:
            teamName:
              type: string
            teamId:
              type: string
            botUserId:
              type: string
            enterpriseName:
              type: string
            enterpriseId:
              type: string
      required:
        - isConfigured
        - configuration
    TestSlackConnectionResponse:
      type: object
      properties:
        isValid:
          type: boolean
        errorMessage:
          type: string
      required:
        - isValid
    AssetDto:
      discriminator:
        propertyName: type
      oneOf:
        - type: object
          properties:
            id:
              type: string
              format: uuid
              description: Asset ID
            name:
              type: string
              minLength: 1
              description: Asset name
            type:
              type: string
              enum:
                - DATA_PRODUCT
            createdAt:
              oneOf:
                - type: string
                  format: date-time
                - type: string
                  format: date-time
            updatedAt:
              oneOf:
                - type: string
                  format: date-time
                - type: string
                  format: date-time
            dagTagId:
              oneOf:
                - type: number
              nullable: true
            requestId:
              type: string
              format: cuid
              description: If requested, the ID of the access request for the asset
            status:
              type: string
              enum:
                - APPROVED
                - CANCELED
                - DENIED
                - PENDING
                - NONE
                - PUBLISHER
                - REVOKED
                - EXPIRED
              example: PENDING
            metadata:
              type: object
              properties:
                subjectMatterExperts:
                  default: *ref_29
                  type: array
                  items:
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                        description: Immuta global user ID of the subject matter expert
                      username:
                        type: string
                      name:
                        type: string
                    required:
                      - id
                domains:
                  type: array
                  items:
                    type: string
                    format: uuid
                  minItems: 1
                  description: Array of domain IDs associated with the data product
                description:
                  oneOf:
                    - type: string
                      description: Data product description
                      example: All sales records from the current fiscal year
                  nullable: true
                  description: Data product description
              required:
                - domains
              description: Data product asset metadata
            createdBy:
              type: string
              format: uuid
              description: Immuta global user ID of the user who created the data product
          required:
            - id
            - name
            - type
            - metadata
            - createdBy
          title: Data Product Asset
        - type: object
          properties:
            id:
              type: string
              format: uuid
              description: Asset ID
            name:
              type: string
              minLength: 1
              description: Asset name
            type:
              type: string
              enum:
                - DATA_OBJECT
            createdAt:
              oneOf:
                - type: string
                  format: date-time
                - type: string
                  format: date-time
            updatedAt:
              oneOf:
                - type: string
                  format: date-time
                - type: string
                  format: date-time
            dagTagId:
              oneOf:
                - type: number
              nullable: true
            requestId:
              type: string
              format: cuid
              description: If requested, the ID of the access request for the asset
            status:
              type: string
              enum:
                - APPROVED
                - CANCELED
                - DENIED
                - PENDING
                - NONE
                - PUBLISHER
                - REVOKED
                - EXPIRED
              example: PENDING
            metadata:
              type: object
              properties:
                subjectMatterExperts:
                  default: *ref_29
                  type: array
                  items:
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                        description: Immuta global user ID of the subject matter expert
                      username:
                        type: string
                      name:
                        type: string
                    required:
                      - id
                objectPath:
                  type: array
                  items:
                    type: string
                technology:
                  type: string
                  enum:
                    - Snowflake
                    - PostgreSQL
                    - Databricks
                    - Glue
                    - MySQL
                    - Teradata
                    - MariaDB
                    - Oracle
                    - SQLServer
                    - Trino
                    - Redshift
                legacyType:
                  type: string
                dataSourceId:
                  type: number
                description:
                  oneOf:
                    - type: string
                  nullable: true
                externalLink:
                  oneOf:
                    - type: string
                  nullable: true
              required:
                - objectPath
              description: Data object asset metadata
            registered:
              default: true
              type: boolean
              description: Whether the asset has been registered
          required:
            - id
            - name
            - type
            - metadata
          title: Data Object Asset
      title: Asset
    CreateAssetDto:
      discriminator:
        propertyName: type
      oneOf:
        - type: object
          properties:
            type:
              type: string
              enum:
                - DATA_PRODUCT
            name:
              type: string
              minLength: 1
              description: Asset name
            metadata:
              type: object
              properties:
                subjectMatterExperts:
                  default: *ref_29
                  type: array
                  items:
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                        description: Immuta global user ID of the subject matter expert
                      username:
                        type: string
                      name:
                        type: string
                    required:
                      - id
                domains:
                  type: array
                  items:
                    type: string
                    format: uuid
                  minItems: 1
                  description: Array of domain IDs associated with the data product
                description:
                  oneOf:
                    - type: string
                      description: Data product description
                      example: All sales records from the current fiscal year
                  nullable: true
                  description: Data product description
              required:
                - domains
              description: Data product asset metadata
            id:
              type: string
              format: uuid
              description: Asset ID
            dataAccessRequestFormId:
              oneOf:
                - type: string
                  format: cuid
                - type: string
                  format: uuid
              description: >-
                Request form ID. If not provided, the asset will inherit from a
                parent asset.
            maskingExceptionRequestFormId:
              oneOf:
                - type: string
                  format: cuid
                - type: string
                  format: uuid
              description: >-
                Request form ID. If not provided, the asset will inherit from a
                parent asset.
            dataAccessReviewFlow:
              default: &ref_30
                rules: []
                defaultEvent:
                  type: review
                  params:
                    stages:
                      - any:
                          - type: PERMISSION
                            permission: GOVERNANCE
                          - type: DOMAIN PERMISSION
                            permission: Manage Data Products
              type: object
              properties:
                version:
                  type: string
                  description: Policy schema version
                rules:
                  type: array
                  items:
                    type: object
                    properties:
                      conditions:
                        oneOf:
                          - type: object
                            properties:
                              all:
                                type: array
                                items: {}
                            required:
                              - all
                            additionalProperties: false
                          - type: object
                            properties:
                              any:
                                type: array
                                items: {}
                            required:
                              - any
                            additionalProperties: false
                          - type: object
                            properties:
                              not: {}
                            required:
                              - not
                            additionalProperties: false
                      event:
                        discriminator:
                          propertyName: type
                        oneOf:
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - approve
                              params:
                                type: object
                                properties:
                                  comment:
                                    type: string
                                  duration:
                                    type: number
                                    minimum: 1
                                  durationUnit:
                                    type: string
                                    enum:
                                      - HOURS
                                      - DAYS
                                      - WEEKS
                                      - MONTHS
                                      - YEARS
                                additionalProperties: false
                            required:
                              - type
                              - params
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - deny
                              params:
                                type: object
                                properties:
                                  comment:
                                    type: string
                            required:
                              - type
                              - params
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - review
                              params:
                                type: object
                                properties:
                                  stages:
                                    type: array
                                    items:
                                      oneOf:
                                        - type: object
                                          properties:
                                            all:
                                              type: array
                                              items:
                                                oneOf:
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - USER
                                                        description: Entity type
                                                      id:
                                                        type: string
                                                        description: Entity ID
                                                      displayName:
                                                        type: string
                                                        description: Entity display name
                                                    required:
                                                      - type
                                                      - id
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - GROUP
                                                        description: Entity type
                                                      id:
                                                        type: number
                                                        description: Entity ID
                                                      iamId:
                                                        type: string
                                                        description: IAM ID
                                                      name:
                                                        type: string
                                                        description: Entity display name
                                                    required:
                                                      - type
                                                      - name
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - PERMISSION
                                                      permission:
                                                        type: string
                                                        enum:
                                                          - GOVERNANCE
                                                          - USER_ADMIN
                                                          - AUDIT
                                                        description: Global permission
                                                    required:
                                                      - type
                                                      - permission
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - DOMAIN PERMISSION
                                                      permission:
                                                        type: string
                                                        enum:
                                                          - Manage Policies
                                                          - Audit Activity
                                                          - Manage Data Products
                                                          - Manage Identifiers
                                                        description: Domain permission
                                                      domainId:
                                                        type: string
                                                        description: Domain ID
                                                    required:
                                                      - type
                                                      - permission
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - ATTRIBUTE
                                                      key:
                                                        type: string
                                                        description: Attribute key
                                                      value:
                                                        type: string
                                                        description: Attribute value
                                                    required:
                                                      - type
                                                      - key
                                                      - value
                                              minItems: 1
                                          required:
                                            - all
                                        - type: object
                                          properties:
                                            any:
                                              type: array
                                              items:
                                                oneOf:
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - USER
                                                        description: Entity type
                                                      id:
                                                        type: string
                                                        description: Entity ID
                                                      displayName:
                                                        type: string
                                                        description: Entity display name
                                                    required:
                                                      - type
                                                      - id
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - GROUP
                                                        description: Entity type
                                                      id:
                                                        type: number
                                                        description: Entity ID
                                                      iamId:
                                                        type: string
                                                        description: IAM ID
                                                      name:
                                                        type: string
                                                        description: Entity display name
                                                    required:
                                                      - type
                                                      - name
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - PERMISSION
                                                      permission:
                                                        type: string
                                                        enum:
                                                          - GOVERNANCE
                                                          - USER_ADMIN
                                                          - AUDIT
                                                        description: Global permission
                                                    required:
                                                      - type
                                                      - permission
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - DOMAIN PERMISSION
                                                      permission:
                                                        type: string
                                                        enum:
                                                          - Manage Policies
                                                          - Audit Activity
                                                          - Manage Data Products
                                                          - Manage Identifiers
                                                        description: Domain permission
                                                      domainId:
                                                        type: string
                                                        description: Domain ID
                                                    required:
                                                      - type
                                                      - permission
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - ATTRIBUTE
                                                      key:
                                                        type: string
                                                        description: Attribute key
                                                      value:
                                                        type: string
                                                        description: Attribute value
                                                    required:
                                                      - type
                                                      - key
                                                      - value
                                              minItems: 1
                                          required:
                                            - any
                                    description: Array of stages for manual review
                                required:
                                  - stages
                            required:
                              - type
                              - params
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - dataProductPolicy
                            required:
                              - type
                    required:
                      - conditions
                      - event
                defaultEvent:
                  discriminator:
                    propertyName: type
                  oneOf:
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - approve
                        params:
                          type: object
                          properties:
                            comment:
                              type: string
                            duration:
                              type: number
                              minimum: 1
                            durationUnit:
                              type: string
                              enum:
                                - HOURS
                                - DAYS
                                - WEEKS
                                - MONTHS
                                - YEARS
                          additionalProperties: false
                      required:
                        - type
                        - params
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - review
                        params:
                          type: object
                          properties:
                            stages:
                              type: array
                              items:
                                oneOf:
                                  - type: object
                                    properties:
                                      all:
                                        type: array
                                        items:
                                          oneOf:
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - USER
                                                  description: Entity type
                                                id:
                                                  type: string
                                                  description: Entity ID
                                                displayName:
                                                  type: string
                                                  description: Entity display name
                                              required:
                                                - type
                                                - id
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - GROUP
                                                  description: Entity type
                                                id:
                                                  type: number
                                                  description: Entity ID
                                                iamId:
                                                  type: string
                                                  description: IAM ID
                                                name:
                                                  type: string
                                                  description: Entity display name
                                              required:
                                                - type
                                                - name
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - PERMISSION
                                                permission:
                                                  type: string
                                                  enum:
                                                    - GOVERNANCE
                                                    - USER_ADMIN
                                                    - AUDIT
                                                  description: Global permission
                                              required:
                                                - type
                                                - permission
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - DOMAIN PERMISSION
                                                permission:
                                                  type: string
                                                  enum:
                                                    - Manage Policies
                                                    - Audit Activity
                                                    - Manage Data Products
                                                    - Manage Identifiers
                                                  description: Domain permission
                                                domainId:
                                                  type: string
                                                  description: Domain ID
                                              required:
                                                - type
                                                - permission
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - ATTRIBUTE
                                                key:
                                                  type: string
                                                  description: Attribute key
                                                value:
                                                  type: string
                                                  description: Attribute value
                                              required:
                                                - type
                                                - key
                                                - value
                                        minItems: 1
                                    required:
                                      - all
                                  - type: object
                                    properties:
                                      any:
                                        type: array
                                        items:
                                          oneOf:
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - USER
                                                  description: Entity type
                                                id:
                                                  type: string
                                                  description: Entity ID
                                                displayName:
                                                  type: string
                                                  description: Entity display name
                                              required:
                                                - type
                                                - id
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - GROUP
                                                  description: Entity type
                                                id:
                                                  type: number
                                                  description: Entity ID
                                                iamId:
                                                  type: string
                                                  description: IAM ID
                                                name:
                                                  type: string
                                                  description: Entity display name
                                              required:
                                                - type
                                                - name
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - PERMISSION
                                                permission:
                                                  type: string
                                                  enum:
                                                    - GOVERNANCE
                                                    - USER_ADMIN
                                                    - AUDIT
                                                  description: Global permission
                                              required:
                                                - type
                                                - permission
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - DOMAIN PERMISSION
                                                permission:
                                                  type: string
                                                  enum:
                                                    - Manage Policies
                                                    - Audit Activity
                                                    - Manage Data Products
                                                    - Manage Identifiers
                                                  description: Domain permission
                                                domainId:
                                                  type: string
                                                  description: Domain ID
                                              required:
                                                - type
                                                - permission
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - ATTRIBUTE
                                                key:
                                                  type: string
                                                  description: Attribute key
                                                value:
                                                  type: string
                                                  description: Attribute value
                                              required:
                                                - type
                                                - key
                                                - value
                                        minItems: 1
                                    required:
                                      - any
                              description: Array of stages for manual review
                          required:
                            - stages
                      required:
                        - type
                        - params
              required:
                - rules
                - defaultEvent
              description: Data access review flow
              title: Data Access Review Flow
            maskingExceptionReviewFlow:
              default: *ref_30
              type: object
              properties:
                version:
                  type: string
                  description: Policy schema version
                rules:
                  type: array
                  items:
                    type: object
                    properties:
                      conditions:
                        oneOf:
                          - type: object
                            properties:
                              all:
                                type: array
                                items: {}
                            required:
                              - all
                            additionalProperties: false
                          - type: object
                            properties:
                              any:
                                type: array
                                items: {}
                            required:
                              - any
                            additionalProperties: false
                          - type: object
                            properties:
                              not: {}
                            required:
                              - not
                            additionalProperties: false
                      event:
                        discriminator:
                          propertyName: type
                        oneOf:
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - approve
                              params:
                                type: object
                                properties:
                                  comment:
                                    type: string
                                  duration:
                                    type: number
                                    minimum: 1
                                  durationUnit:
                                    type: string
                                    enum:
                                      - HOURS
                                      - DAYS
                                      - WEEKS
                                      - MONTHS
                                      - YEARS
                                additionalProperties: false
                            required:
                              - type
                              - params
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - deny
                              params:
                                type: object
                                properties:
                                  comment:
                                    type: string
                            required:
                              - type
                              - params
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - review
                              params:
                                type: object
                                properties:
                                  stages:
                                    type: array
                                    items:
                                      oneOf:
                                        - type: object
                                          properties:
                                            all:
                                              type: array
                                              items:
                                                oneOf:
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - USER
                                                        description: Entity type
                                                      id:
                                                        type: string
                                                        description: Entity ID
                                                      displayName:
                                                        type: string
                                                        description: Entity display name
                                                    required:
                                                      - type
                                                      - id
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - GROUP
                                                        description: Entity type
                                                      id:
                                                        type: number
                                                        description: Entity ID
                                                      iamId:
                                                        type: string
                                                        description: IAM ID
                                                      name:
                                                        type: string
                                                        description: Entity display name
                                                    required:
                                                      - type
                                                      - name
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - PERMISSION
                                                      permission:
                                                        type: string
                                                        enum:
                                                          - GOVERNANCE
                                                          - USER_ADMIN
                                                          - AUDIT
                                                        description: Global permission
                                                    required:
                                                      - type
                                                      - permission
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - DOMAIN PERMISSION
                                                      permission:
                                                        type: string
                                                        enum:
                                                          - Manage Policies
                                                          - Audit Activity
                                                          - Manage Data Products
                                                          - Manage Identifiers
                                                        description: Domain permission
                                                      domainId:
                                                        type: string
                                                        description: Domain ID
                                                    required:
                                                      - type
                                                      - permission
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - ATTRIBUTE
                                                      key:
                                                        type: string
                                                        description: Attribute key
                                                      value:
                                                        type: string
                                                        description: Attribute value
                                                    required:
                                                      - type
                                                      - key
                                                      - value
                                              minItems: 1
                                          required:
                                            - all
                                        - type: object
                                          properties:
                                            any:
                                              type: array
                                              items:
                                                oneOf:
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - USER
                                                        description: Entity type
                                                      id:
                                                        type: string
                                                        description: Entity ID
                                                      displayName:
                                                        type: string
                                                        description: Entity display name
                                                    required:
                                                      - type
                                                      - id
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - GROUP
                                                        description: Entity type
                                                      id:
                                                        type: number
                                                        description: Entity ID
                                                      iamId:
                                                        type: string
                                                        description: IAM ID
                                                      name:
                                                        type: string
                                                        description: Entity display name
                                                    required:
                                                      - type
                                                      - name
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - PERMISSION
                                                      permission:
                                                        type: string
                                                        enum:
                                                          - GOVERNANCE
                                                          - USER_ADMIN
                                                          - AUDIT
                                                        description: Global permission
                                                    required:
                                                      - type
                                                      - permission
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - DOMAIN PERMISSION
                                                      permission:
                                                        type: string
                                                        enum:
                                                          - Manage Policies
                                                          - Audit Activity
                                                          - Manage Data Products
                                                          - Manage Identifiers
                                                        description: Domain permission
                                                      domainId:
                                                        type: string
                                                        description: Domain ID
                                                    required:
                                                      - type
                                                      - permission
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - ATTRIBUTE
                                                      key:
                                                        type: string
                                                        description: Attribute key
                                                      value:
                                                        type: string
                                                        description: Attribute value
                                                    required:
                                                      - type
                                                      - key
                                                      - value
                                              minItems: 1
                                          required:
                                            - any
                                    description: Array of stages for manual review
                                required:
                                  - stages
                            required:
                              - type
                              - params
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - dataProductPolicy
                            required:
                              - type
                    required:
                      - conditions
                      - event
                defaultEvent:
                  discriminator:
                    propertyName: type
                  oneOf:
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - approve
                        params:
                          type: object
                          properties:
                            comment:
                              type: string
                            duration:
                              type: number
                              minimum: 1
                            durationUnit:
                              type: string
                              enum:
                                - HOURS
                                - DAYS
                                - WEEKS
                                - MONTHS
                                - YEARS
                          additionalProperties: false
                      required:
                        - type
                        - params
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - review
                        params:
                          type: object
                          properties:
                            stages:
                              type: array
                              items:
                                oneOf:
                                  - type: object
                                    properties:
                                      all:
                                        type: array
                                        items:
                                          oneOf:
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - USER
                                                  description: Entity type
                                                id:
                                                  type: string
                                                  description: Entity ID
                                                displayName:
                                                  type: string
                                                  description: Entity display name
                                              required:
                                                - type
                                                - id
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - GROUP
                                                  description: Entity type
                                                id:
                                                  type: number
                                                  description: Entity ID
                                                iamId:
                                                  type: string
                                                  description: IAM ID
                                                name:
                                                  type: string
                                                  description: Entity display name
                                              required:
                                                - type
                                                - name
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - PERMISSION
                                                permission:
                                                  type: string
                                                  enum:
                                                    - GOVERNANCE
                                                    - USER_ADMIN
                                                    - AUDIT
                                                  description: Global permission
                                              required:
                                                - type
                                                - permission
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - DOMAIN PERMISSION
                                                permission:
                                                  type: string
                                                  enum:
                                                    - Manage Policies
                                                    - Audit Activity
                                                    - Manage Data Products
                                                    - Manage Identifiers
                                                  description: Domain permission
                                                domainId:
                                                  type: string
                                                  description: Domain ID
                                              required:
                                                - type
                                                - permission
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - ATTRIBUTE
                                                key:
                                                  type: string
                                                  description: Attribute key
                                                value:
                                                  type: string
                                                  description: Attribute value
                                              required:
                                                - type
                                                - key
                                                - value
                                        minItems: 1
                                    required:
                                      - all
                                  - type: object
                                    properties:
                                      any:
                                        type: array
                                        items:
                                          oneOf:
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - USER
                                                  description: Entity type
                                                id:
                                                  type: string
                                                  description: Entity ID
                                                displayName:
                                                  type: string
                                                  description: Entity display name
                                              required:
                                                - type
                                                - id
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - GROUP
                                                  description: Entity type
                                                id:
                                                  type: number
                                                  description: Entity ID
                                                iamId:
                                                  type: string
                                                  description: IAM ID
                                                name:
                                                  type: string
                                                  description: Entity display name
                                              required:
                                                - type
                                                - name
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - PERMISSION
                                                permission:
                                                  type: string
                                                  enum:
                                                    - GOVERNANCE
                                                    - USER_ADMIN
                                                    - AUDIT
                                                  description: Global permission
                                              required:
                                                - type
                                                - permission
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - DOMAIN PERMISSION
                                                permission:
                                                  type: string
                                                  enum:
                                                    - Manage Policies
                                                    - Audit Activity
                                                    - Manage Data Products
                                                    - Manage Identifiers
                                                  description: Domain permission
                                                domainId:
                                                  type: string
                                                  description: Domain ID
                                              required:
                                                - type
                                                - permission
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - ATTRIBUTE
                                                key:
                                                  type: string
                                                  description: Attribute key
                                                value:
                                                  type: string
                                                  description: Attribute value
                                              required:
                                                - type
                                                - key
                                                - value
                                        minItems: 1
                                    required:
                                      - any
                              description: Array of stages for manual review
                          required:
                            - stages
                      required:
                        - type
                        - params
              required:
                - rules
                - defaultEvent
              description: Masking exception review flow
              title: Masking Exception Review Flow
            dataSources:
              type: array
              items:
                type: object
                properties:
                  sourceId:
                    type: string
                required:
                  - sourceId
          required:
            - type
            - name
            - metadata
            - dataAccessRequestFormId
            - maskingExceptionRequestFormId
            - dataSources
          additionalProperties: false
          title: Create Data Product Asset
        - type: object
          properties:
            id:
              type: string
              format: uuid
              description: Asset ID
            type:
              type: string
              enum:
                - DATA_OBJECT
            metadata:
              type: object
              properties:
                subjectMatterExperts:
                  default: *ref_29
                  type: array
                  items:
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                        description: Immuta global user ID of the subject matter expert
                      username:
                        type: string
                      name:
                        type: string
                    required:
                      - id
                technology:
                  type: string
                  enum:
                    - Snowflake
                    - PostgreSQL
                    - Databricks
                    - Glue
                    - MySQL
                    - Teradata
                    - MariaDB
                    - Oracle
                    - SQLServer
                    - Trino
                    - Redshift
                legacyType:
                  type: string
                dataSourceId:
                  type: number
                description:
                  oneOf:
                    - type: string
                  nullable: true
                externalLink:
                  oneOf:
                    - type: string
                  nullable: true
            dataAccessRequestFormId:
              oneOf:
                - type: string
                  format: cuid
                - type: string
                  format: uuid
              description: >-
                Request form ID. If not provided, the asset will inherit from a
                parent asset.
            maskingExceptionRequestFormId:
              oneOf:
                - type: string
                  format: cuid
                - type: string
                  format: uuid
              description: >-
                Request form ID. If not provided, the asset will inherit from a
                parent asset.
            dataAccessReviewFlow:
              type: object
              properties:
                version:
                  type: string
                  description: Policy schema version
                rules:
                  type: array
                  items:
                    type: object
                    properties:
                      conditions:
                        oneOf:
                          - type: object
                            properties:
                              all:
                                type: array
                                items: {}
                            required:
                              - all
                            additionalProperties: false
                          - type: object
                            properties:
                              any:
                                type: array
                                items: {}
                            required:
                              - any
                            additionalProperties: false
                          - type: object
                            properties:
                              not: {}
                            required:
                              - not
                            additionalProperties: false
                      event:
                        discriminator:
                          propertyName: type
                        oneOf:
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - approve
                              params:
                                type: object
                                properties:
                                  comment:
                                    type: string
                                  duration:
                                    type: number
                                    minimum: 1
                                  durationUnit:
                                    type: string
                                    enum:
                                      - HOURS
                                      - DAYS
                                      - WEEKS
                                      - MONTHS
                                      - YEARS
                                additionalProperties: false
                            required:
                              - type
                              - params
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - deny
                              params:
                                type: object
                                properties:
                                  comment:
                                    type: string
                            required:
                              - type
                              - params
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - review
                              params:
                                type: object
                                properties:
                                  stages:
                                    type: array
                                    items:
                                      oneOf:
                                        - type: object
                                          properties:
                                            all:
                                              type: array
                                              items:
                                                oneOf:
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - USER
                                                        description: Entity type
                                                      id:
                                                        type: string
                                                        description: Entity ID
                                                      displayName:
                                                        type: string
                                                        description: Entity display name
                                                    required:
                                                      - type
                                                      - id
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - GROUP
                                                        description: Entity type
                                                      id:
                                                        type: number
                                                        description: Entity ID
                                                      iamId:
                                                        type: string
                                                        description: IAM ID
                                                      name:
                                                        type: string
                                                        description: Entity display name
                                                    required:
                                                      - type
                                                      - name
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - PERMISSION
                                                      permission:
                                                        type: string
                                                        enum:
                                                          - GOVERNANCE
                                                          - USER_ADMIN
                                                          - AUDIT
                                                        description: Global permission
                                                    required:
                                                      - type
                                                      - permission
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - DOMAIN PERMISSION
                                                      permission:
                                                        type: string
                                                        enum:
                                                          - Manage Policies
                                                          - Audit Activity
                                                          - Manage Data Products
                                                          - Manage Identifiers
                                                        description: Domain permission
                                                      domainId:
                                                        type: string
                                                        description: Domain ID
                                                    required:
                                                      - type
                                                      - permission
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - ATTRIBUTE
                                                      key:
                                                        type: string
                                                        description: Attribute key
                                                      value:
                                                        type: string
                                                        description: Attribute value
                                                    required:
                                                      - type
                                                      - key
                                                      - value
                                              minItems: 1
                                          required:
                                            - all
                                        - type: object
                                          properties:
                                            any:
                                              type: array
                                              items:
                                                oneOf:
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - USER
                                                        description: Entity type
                                                      id:
                                                        type: string
                                                        description: Entity ID
                                                      displayName:
                                                        type: string
                                                        description: Entity display name
                                                    required:
                                                      - type
                                                      - id
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - GROUP
                                                        description: Entity type
                                                      id:
                                                        type: number
                                                        description: Entity ID
                                                      iamId:
                                                        type: string
                                                        description: IAM ID
                                                      name:
                                                        type: string
                                                        description: Entity display name
                                                    required:
                                                      - type
                                                      - name
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - PERMISSION
                                                      permission:
                                                        type: string
                                                        enum:
                                                          - GOVERNANCE
                                                          - USER_ADMIN
                                                          - AUDIT
                                                        description: Global permission
                                                    required:
                                                      - type
                                                      - permission
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - DOMAIN PERMISSION
                                                      permission:
                                                        type: string
                                                        enum:
                                                          - Manage Policies
                                                          - Audit Activity
                                                          - Manage Data Products
                                                          - Manage Identifiers
                                                        description: Domain permission
                                                      domainId:
                                                        type: string
                                                        description: Domain ID
                                                    required:
                                                      - type
                                                      - permission
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - ATTRIBUTE
                                                      key:
                                                        type: string
                                                        description: Attribute key
                                                      value:
                                                        type: string
                                                        description: Attribute value
                                                    required:
                                                      - type
                                                      - key
                                                      - value
                                              minItems: 1
                                          required:
                                            - any
                                    description: Array of stages for manual review
                                required:
                                  - stages
                            required:
                              - type
                              - params
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - dataProductPolicy
                            required:
                              - type
                    required:
                      - conditions
                      - event
                defaultEvent:
                  discriminator:
                    propertyName: type
                  oneOf:
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - approve
                        params:
                          type: object
                          properties:
                            comment:
                              type: string
                            duration:
                              type: number
                              minimum: 1
                            durationUnit:
                              type: string
                              enum:
                                - HOURS
                                - DAYS
                                - WEEKS
                                - MONTHS
                                - YEARS
                          additionalProperties: false
                      required:
                        - type
                        - params
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - review
                        params:
                          type: object
                          properties:
                            stages:
                              type: array
                              items:
                                oneOf:
                                  - type: object
                                    properties:
                                      all:
                                        type: array
                                        items:
                                          oneOf:
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - USER
                                                  description: Entity type
                                                id:
                                                  type: string
                                                  description: Entity ID
                                                displayName:
                                                  type: string
                                                  description: Entity display name
                                              required:
                                                - type
                                                - id
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - GROUP
                                                  description: Entity type
                                                id:
                                                  type: number
                                                  description: Entity ID
                                                iamId:
                                                  type: string
                                                  description: IAM ID
                                                name:
                                                  type: string
                                                  description: Entity display name
                                              required:
                                                - type
                                                - name
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - PERMISSION
                                                permission:
                                                  type: string
                                                  enum:
                                                    - GOVERNANCE
                                                    - USER_ADMIN
                                                    - AUDIT
                                                  description: Global permission
                                              required:
                                                - type
                                                - permission
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - DOMAIN PERMISSION
                                                permission:
                                                  type: string
                                                  enum:
                                                    - Manage Policies
                                                    - Audit Activity
                                                    - Manage Data Products
                                                    - Manage Identifiers
                                                  description: Domain permission
                                                domainId:
                                                  type: string
                                                  description: Domain ID
                                              required:
                                                - type
                                                - permission
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - ATTRIBUTE
                                                key:
                                                  type: string
                                                  description: Attribute key
                                                value:
                                                  type: string
                                                  description: Attribute value
                                              required:
                                                - type
                                                - key
                                                - value
                                        minItems: 1
                                    required:
                                      - all
                                  - type: object
                                    properties:
                                      any:
                                        type: array
                                        items:
                                          oneOf:
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - USER
                                                  description: Entity type
                                                id:
                                                  type: string
                                                  description: Entity ID
                                                displayName:
                                                  type: string
                                                  description: Entity display name
                                              required:
                                                - type
                                                - id
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - GROUP
                                                  description: Entity type
                                                id:
                                                  type: number
                                                  description: Entity ID
                                                iamId:
                                                  type: string
                                                  description: IAM ID
                                                name:
                                                  type: string
                                                  description: Entity display name
                                              required:
                                                - type
                                                - name
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - PERMISSION
                                                permission:
                                                  type: string
                                                  enum:
                                                    - GOVERNANCE
                                                    - USER_ADMIN
                                                    - AUDIT
                                                  description: Global permission
                                              required:
                                                - type
                                                - permission
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - DOMAIN PERMISSION
                                                permission:
                                                  type: string
                                                  enum:
                                                    - Manage Policies
                                                    - Audit Activity
                                                    - Manage Data Products
                                                    - Manage Identifiers
                                                  description: Domain permission
                                                domainId:
                                                  type: string
                                                  description: Domain ID
                                              required:
                                                - type
                                                - permission
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - ATTRIBUTE
                                                key:
                                                  type: string
                                                  description: Attribute key
                                                value:
                                                  type: string
                                                  description: Attribute value
                                              required:
                                                - type
                                                - key
                                                - value
                                        minItems: 1
                                    required:
                                      - any
                              description: Array of stages for manual review
                          required:
                            - stages
                      required:
                        - type
                        - params
              required:
                - rules
                - defaultEvent
              description: >-
                Data access policy. If not provided, the asset will inherit from
                a parent asset.
            maskingExceptionReviewFlow:
              type: object
              properties:
                version:
                  type: string
                  description: Policy schema version
                rules:
                  type: array
                  items:
                    type: object
                    properties:
                      conditions:
                        oneOf:
                          - type: object
                            properties:
                              all:
                                type: array
                                items: {}
                            required:
                              - all
                            additionalProperties: false
                          - type: object
                            properties:
                              any:
                                type: array
                                items: {}
                            required:
                              - any
                            additionalProperties: false
                          - type: object
                            properties:
                              not: {}
                            required:
                              - not
                            additionalProperties: false
                      event:
                        discriminator:
                          propertyName: type
                        oneOf:
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - approve
                              params:
                                type: object
                                properties:
                                  comment:
                                    type: string
                                  duration:
                                    type: number
                                    minimum: 1
                                  durationUnit:
                                    type: string
                                    enum:
                                      - HOURS
                                      - DAYS
                                      - WEEKS
                                      - MONTHS
                                      - YEARS
                                additionalProperties: false
                            required:
                              - type
                              - params
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - deny
                              params:
                                type: object
                                properties:
                                  comment:
                                    type: string
                            required:
                              - type
                              - params
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - review
                              params:
                                type: object
                                properties:
                                  stages:
                                    type: array
                                    items:
                                      oneOf:
                                        - type: object
                                          properties:
                                            all:
                                              type: array
                                              items:
                                                oneOf:
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - USER
                                                        description: Entity type
                                                      id:
                                                        type: string
                                                        description: Entity ID
                                                      displayName:
                                                        type: string
                                                        description: Entity display name
                                                    required:
                                                      - type
                                                      - id
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - GROUP
                                                        description: Entity type
                                                      id:
                                                        type: number
                                                        description: Entity ID
                                                      iamId:
                                                        type: string
                                                        description: IAM ID
                                                      name:
                                                        type: string
                                                        description: Entity display name
                                                    required:
                                                      - type
                                                      - name
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - PERMISSION
                                                      permission:
                                                        type: string
                                                        enum:
                                                          - GOVERNANCE
                                                          - USER_ADMIN
                                                          - AUDIT
                                                        description: Global permission
                                                    required:
                                                      - type
                                                      - permission
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - DOMAIN PERMISSION
                                                      permission:
                                                        type: string
                                                        enum:
                                                          - Manage Policies
                                                          - Audit Activity
                                                          - Manage Data Products
                                                          - Manage Identifiers
                                                        description: Domain permission
                                                      domainId:
                                                        type: string
                                                        description: Domain ID
                                                    required:
                                                      - type
                                                      - permission
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - ATTRIBUTE
                                                      key:
                                                        type: string
                                                        description: Attribute key
                                                      value:
                                                        type: string
                                                        description: Attribute value
                                                    required:
                                                      - type
                                                      - key
                                                      - value
                                              minItems: 1
                                          required:
                                            - all
                                        - type: object
                                          properties:
                                            any:
                                              type: array
                                              items:
                                                oneOf:
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - USER
                                                        description: Entity type
                                                      id:
                                                        type: string
                                                        description: Entity ID
                                                      displayName:
                                                        type: string
                                                        description: Entity display name
                                                    required:
                                                      - type
                                                      - id
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - GROUP
                                                        description: Entity type
                                                      id:
                                                        type: number
                                                        description: Entity ID
                                                      iamId:
                                                        type: string
                                                        description: IAM ID
                                                      name:
                                                        type: string
                                                        description: Entity display name
                                                    required:
                                                      - type
                                                      - name
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - PERMISSION
                                                      permission:
                                                        type: string
                                                        enum:
                                                          - GOVERNANCE
                                                          - USER_ADMIN
                                                          - AUDIT
                                                        description: Global permission
                                                    required:
                                                      - type
                                                      - permission
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - DOMAIN PERMISSION
                                                      permission:
                                                        type: string
                                                        enum:
                                                          - Manage Policies
                                                          - Audit Activity
                                                          - Manage Data Products
                                                          - Manage Identifiers
                                                        description: Domain permission
                                                      domainId:
                                                        type: string
                                                        description: Domain ID
                                                    required:
                                                      - type
                                                      - permission
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - ATTRIBUTE
                                                      key:
                                                        type: string
                                                        description: Attribute key
                                                      value:
                                                        type: string
                                                        description: Attribute value
                                                    required:
                                                      - type
                                                      - key
                                                      - value
                                              minItems: 1
                                          required:
                                            - any
                                    description: Array of stages for manual review
                                required:
                                  - stages
                            required:
                              - type
                              - params
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - dataProductPolicy
                            required:
                              - type
                    required:
                      - conditions
                      - event
                defaultEvent:
                  discriminator:
                    propertyName: type
                  oneOf:
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - approve
                        params:
                          type: object
                          properties:
                            comment:
                              type: string
                            duration:
                              type: number
                              minimum: 1
                            durationUnit:
                              type: string
                              enum:
                                - HOURS
                                - DAYS
                                - WEEKS
                                - MONTHS
                                - YEARS
                          additionalProperties: false
                      required:
                        - type
                        - params
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - review
                        params:
                          type: object
                          properties:
                            stages:
                              type: array
                              items:
                                oneOf:
                                  - type: object
                                    properties:
                                      all:
                                        type: array
                                        items:
                                          oneOf:
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - USER
                                                  description: Entity type
                                                id:
                                                  type: string
                                                  description: Entity ID
                                                displayName:
                                                  type: string
                                                  description: Entity display name
                                              required:
                                                - type
                                                - id
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - GROUP
                                                  description: Entity type
                                                id:
                                                  type: number
                                                  description: Entity ID
                                                iamId:
                                                  type: string
                                                  description: IAM ID
                                                name:
                                                  type: string
                                                  description: Entity display name
                                              required:
                                                - type
                                                - name
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - PERMISSION
                                                permission:
                                                  type: string
                                                  enum:
                                                    - GOVERNANCE
                                                    - USER_ADMIN
                                                    - AUDIT
                                                  description: Global permission
                                              required:
                                                - type
                                                - permission
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - DOMAIN PERMISSION
                                                permission:
                                                  type: string
                                                  enum:
                                                    - Manage Policies
                                                    - Audit Activity
                                                    - Manage Data Products
                                                    - Manage Identifiers
                                                  description: Domain permission
                                                domainId:
                                                  type: string
                                                  description: Domain ID
                                              required:
                                                - type
                                                - permission
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - ATTRIBUTE
                                                key:
                                                  type: string
                                                  description: Attribute key
                                                value:
                                                  type: string
                                                  description: Attribute value
                                              required:
                                                - type
                                                - key
                                                - value
                                        minItems: 1
                                    required:
                                      - all
                                  - type: object
                                    properties:
                                      any:
                                        type: array
                                        items:
                                          oneOf:
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - USER
                                                  description: Entity type
                                                id:
                                                  type: string
                                                  description: Entity ID
                                                displayName:
                                                  type: string
                                                  description: Entity display name
                                              required:
                                                - type
                                                - id
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - GROUP
                                                  description: Entity type
                                                id:
                                                  type: number
                                                  description: Entity ID
                                                iamId:
                                                  type: string
                                                  description: IAM ID
                                                name:
                                                  type: string
                                                  description: Entity display name
                                              required:
                                                - type
                                                - name
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - PERMISSION
                                                permission:
                                                  type: string
                                                  enum:
                                                    - GOVERNANCE
                                                    - USER_ADMIN
                                                    - AUDIT
                                                  description: Global permission
                                              required:
                                                - type
                                                - permission
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - DOMAIN PERMISSION
                                                permission:
                                                  type: string
                                                  enum:
                                                    - Manage Policies
                                                    - Audit Activity
                                                    - Manage Data Products
                                                    - Manage Identifiers
                                                  description: Domain permission
                                                domainId:
                                                  type: string
                                                  description: Domain ID
                                              required:
                                                - type
                                                - permission
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - ATTRIBUTE
                                                key:
                                                  type: string
                                                  description: Attribute key
                                                value:
                                                  type: string
                                                  description: Attribute value
                                              required:
                                                - type
                                                - key
                                                - value
                                        minItems: 1
                                    required:
                                      - any
                              description: Array of stages for manual review
                          required:
                            - stages
                      required:
                        - type
                        - params
              required:
                - rules
                - defaultEvent
              description: >-
                Masking exception policy. If not provided, the asset will
                inherit from a parent asset.
          required:
            - id
            - type
            - metadata
          additionalProperties: false
          title: Create Data Object Asset
      title: Create Asset
    UpdateAssetDto:
      discriminator:
        propertyName: type
      oneOf:
        - type: object
          properties:
            type:
              type: string
              enum:
                - DATA_PRODUCT
            name:
              type: string
              minLength: 1
              description: Asset name
            metadata:
              type: object
              properties:
                subjectMatterExperts:
                  default: *ref_29
                  type: array
                  items:
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                        description: Immuta global user ID of the subject matter expert
                      username:
                        type: string
                      name:
                        type: string
                    required:
                      - id
                domains:
                  type: array
                  items:
                    type: string
                    format: uuid
                  minItems: 1
                  description: Array of domain IDs associated with the data product
                description:
                  oneOf:
                    - type: string
                      description: Data product description
                      example: All sales records from the current fiscal year
                  nullable: true
                  description: Data product description
              required:
                - domains
              description: Data product asset metadata
            id:
              type: string
              format: uuid
              description: Asset ID
            dataAccessRequestFormId:
              oneOf:
                - type: string
                  format: cuid
                - type: string
                  format: uuid
              description: >-
                Request form ID. If not provided, the asset will inherit from a
                parent asset.
            maskingExceptionRequestFormId:
              oneOf:
                - type: string
                  format: cuid
                - type: string
                  format: uuid
              description: >-
                Request form ID. If not provided, the asset will inherit from a
                parent asset.
            dataAccessReviewFlow:
              default: *ref_30
              type: object
              properties:
                version:
                  type: string
                  description: Policy schema version
                rules:
                  type: array
                  items:
                    type: object
                    properties:
                      conditions:
                        oneOf:
                          - type: object
                            properties:
                              all:
                                type: array
                                items: {}
                            required:
                              - all
                            additionalProperties: false
                          - type: object
                            properties:
                              any:
                                type: array
                                items: {}
                            required:
                              - any
                            additionalProperties: false
                          - type: object
                            properties:
                              not: {}
                            required:
                              - not
                            additionalProperties: false
                      event:
                        discriminator:
                          propertyName: type
                        oneOf:
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - approve
                              params:
                                type: object
                                properties:
                                  comment:
                                    type: string
                                  duration:
                                    type: number
                                    minimum: 1
                                  durationUnit:
                                    type: string
                                    enum:
                                      - HOURS
                                      - DAYS
                                      - WEEKS
                                      - MONTHS
                                      - YEARS
                                additionalProperties: false
                            required:
                              - type
                              - params
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - deny
                              params:
                                type: object
                                properties:
                                  comment:
                                    type: string
                            required:
                              - type
                              - params
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - review
                              params:
                                type: object
                                properties:
                                  stages:
                                    type: array
                                    items:
                                      oneOf:
                                        - type: object
                                          properties:
                                            all:
                                              type: array
                                              items:
                                                oneOf:
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - USER
                                                        description: Entity type
                                                      id:
                                                        type: string
                                                        description: Entity ID
                                                      displayName:
                                                        type: string
                                                        description: Entity display name
                                                    required:
                                                      - type
                                                      - id
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - GROUP
                                                        description: Entity type
                                                      id:
                                                        type: number
                                                        description: Entity ID
                                                      iamId:
                                                        type: string
                                                        description: IAM ID
                                                      name:
                                                        type: string
                                                        description: Entity display name
                                                    required:
                                                      - type
                                                      - name
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - PERMISSION
                                                      permission:
                                                        type: string
                                                        enum:
                                                          - GOVERNANCE
                                                          - USER_ADMIN
                                                          - AUDIT
                                                        description: Global permission
                                                    required:
                                                      - type
                                                      - permission
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - DOMAIN PERMISSION
                                                      permission:
                                                        type: string
                                                        enum:
                                                          - Manage Policies
                                                          - Audit Activity
                                                          - Manage Data Products
                                                          - Manage Identifiers
                                                        description: Domain permission
                                                      domainId:
                                                        type: string
                                                        description: Domain ID
                                                    required:
                                                      - type
                                                      - permission
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - ATTRIBUTE
                                                      key:
                                                        type: string
                                                        description: Attribute key
                                                      value:
                                                        type: string
                                                        description: Attribute value
                                                    required:
                                                      - type
                                                      - key
                                                      - value
                                              minItems: 1
                                          required:
                                            - all
                                        - type: object
                                          properties:
                                            any:
                                              type: array
                                              items:
                                                oneOf:
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - USER
                                                        description: Entity type
                                                      id:
                                                        type: string
                                                        description: Entity ID
                                                      displayName:
                                                        type: string
                                                        description: Entity display name
                                                    required:
                                                      - type
                                                      - id
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - GROUP
                                                        description: Entity type
                                                      id:
                                                        type: number
                                                        description: Entity ID
                                                      iamId:
                                                        type: string
                                                        description: IAM ID
                                                      name:
                                                        type: string
                                                        description: Entity display name
                                                    required:
                                                      - type
                                                      - name
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - PERMISSION
                                                      permission:
                                                        type: string
                                                        enum:
                                                          - GOVERNANCE
                                                          - USER_ADMIN
                                                          - AUDIT
                                                        description: Global permission
                                                    required:
                                                      - type
                                                      - permission
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - DOMAIN PERMISSION
                                                      permission:
                                                        type: string
                                                        enum:
                                                          - Manage Policies
                                                          - Audit Activity
                                                          - Manage Data Products
                                                          - Manage Identifiers
                                                        description: Domain permission
                                                      domainId:
                                                        type: string
                                                        description: Domain ID
                                                    required:
                                                      - type
                                                      - permission
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - ATTRIBUTE
                                                      key:
                                                        type: string
                                                        description: Attribute key
                                                      value:
                                                        type: string
                                                        description: Attribute value
                                                    required:
                                                      - type
                                                      - key
                                                      - value
                                              minItems: 1
                                          required:
                                            - any
                                    description: Array of stages for manual review
                                required:
                                  - stages
                            required:
                              - type
                              - params
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - dataProductPolicy
                            required:
                              - type
                    required:
                      - conditions
                      - event
                defaultEvent:
                  discriminator:
                    propertyName: type
                  oneOf:
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - approve
                        params:
                          type: object
                          properties:
                            comment:
                              type: string
                            duration:
                              type: number
                              minimum: 1
                            durationUnit:
                              type: string
                              enum:
                                - HOURS
                                - DAYS
                                - WEEKS
                                - MONTHS
                                - YEARS
                          additionalProperties: false
                      required:
                        - type
                        - params
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - review
                        params:
                          type: object
                          properties:
                            stages:
                              type: array
                              items:
                                oneOf:
                                  - type: object
                                    properties:
                                      all:
                                        type: array
                                        items:
                                          oneOf:
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - USER
                                                  description: Entity type
                                                id:
                                                  type: string
                                                  description: Entity ID
                                                displayName:
                                                  type: string
                                                  description: Entity display name
                                              required:
                                                - type
                                                - id
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - GROUP
                                                  description: Entity type
                                                id:
                                                  type: number
                                                  description: Entity ID
                                                iamId:
                                                  type: string
                                                  description: IAM ID
                                                name:
                                                  type: string
                                                  description: Entity display name
                                              required:
                                                - type
                                                - name
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - PERMISSION
                                                permission:
                                                  type: string
                                                  enum:
                                                    - GOVERNANCE
                                                    - USER_ADMIN
                                                    - AUDIT
                                                  description: Global permission
                                              required:
                                                - type
                                                - permission
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - DOMAIN PERMISSION
                                                permission:
                                                  type: string
                                                  enum:
                                                    - Manage Policies
                                                    - Audit Activity
                                                    - Manage Data Products
                                                    - Manage Identifiers
                                                  description: Domain permission
                                                domainId:
                                                  type: string
                                                  description: Domain ID
                                              required:
                                                - type
                                                - permission
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - ATTRIBUTE
                                                key:
                                                  type: string
                                                  description: Attribute key
                                                value:
                                                  type: string
                                                  description: Attribute value
                                              required:
                                                - type
                                                - key
                                                - value
                                        minItems: 1
                                    required:
                                      - all
                                  - type: object
                                    properties:
                                      any:
                                        type: array
                                        items:
                                          oneOf:
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - USER
                                                  description: Entity type
                                                id:
                                                  type: string
                                                  description: Entity ID
                                                displayName:
                                                  type: string
                                                  description: Entity display name
                                              required:
                                                - type
                                                - id
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - GROUP
                                                  description: Entity type
                                                id:
                                                  type: number
                                                  description: Entity ID
                                                iamId:
                                                  type: string
                                                  description: IAM ID
                                                name:
                                                  type: string
                                                  description: Entity display name
                                              required:
                                                - type
                                                - name
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - PERMISSION
                                                permission:
                                                  type: string
                                                  enum:
                                                    - GOVERNANCE
                                                    - USER_ADMIN
                                                    - AUDIT
                                                  description: Global permission
                                              required:
                                                - type
                                                - permission
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - DOMAIN PERMISSION
                                                permission:
                                                  type: string
                                                  enum:
                                                    - Manage Policies
                                                    - Audit Activity
                                                    - Manage Data Products
                                                    - Manage Identifiers
                                                  description: Domain permission
                                                domainId:
                                                  type: string
                                                  description: Domain ID
                                              required:
                                                - type
                                                - permission
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - ATTRIBUTE
                                                key:
                                                  type: string
                                                  description: Attribute key
                                                value:
                                                  type: string
                                                  description: Attribute value
                                              required:
                                                - type
                                                - key
                                                - value
                                        minItems: 1
                                    required:
                                      - any
                              description: Array of stages for manual review
                          required:
                            - stages
                      required:
                        - type
                        - params
              required:
                - rules
                - defaultEvent
              description: Data access review flow
              title: Data Access Review Flow
            maskingExceptionReviewFlow:
              default: *ref_30
              type: object
              properties:
                version:
                  type: string
                  description: Policy schema version
                rules:
                  type: array
                  items:
                    type: object
                    properties:
                      conditions:
                        oneOf:
                          - type: object
                            properties:
                              all:
                                type: array
                                items: {}
                            required:
                              - all
                            additionalProperties: false
                          - type: object
                            properties:
                              any:
                                type: array
                                items: {}
                            required:
                              - any
                            additionalProperties: false
                          - type: object
                            properties:
                              not: {}
                            required:
                              - not
                            additionalProperties: false
                      event:
                        discriminator:
                          propertyName: type
                        oneOf:
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - approve
                              params:
                                type: object
                                properties:
                                  comment:
                                    type: string
                                  duration:
                                    type: number
                                    minimum: 1
                                  durationUnit:
                                    type: string
                                    enum:
                                      - HOURS
                                      - DAYS
                                      - WEEKS
                                      - MONTHS
                                      - YEARS
                                additionalProperties: false
                            required:
                              - type
                              - params
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - deny
                              params:
                                type: object
                                properties:
                                  comment:
                                    type: string
                            required:
                              - type
                              - params
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - review
                              params:
                                type: object
                                properties:
                                  stages:
                                    type: array
                                    items:
                                      oneOf:
                                        - type: object
                                          properties:
                                            all:
                                              type: array
                                              items:
                                                oneOf:
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - USER
                                                        description: Entity type
                                                      id:
                                                        type: string
                                                        description: Entity ID
                                                      displayName:
                                                        type: string
                                                        description: Entity display name
                                                    required:
                                                      - type
                                                      - id
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - GROUP
                                                        description: Entity type
                                                      id:
                                                        type: number
                                                        description: Entity ID
                                                      iamId:
                                                        type: string
                                                        description: IAM ID
                                                      name:
                                                        type: string
                                                        description: Entity display name
                                                    required:
                                                      - type
                                                      - name
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - PERMISSION
                                                      permission:
                                                        type: string
                                                        enum:
                                                          - GOVERNANCE
                                                          - USER_ADMIN
                                                          - AUDIT
                                                        description: Global permission
                                                    required:
                                                      - type
                                                      - permission
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - DOMAIN PERMISSION
                                                      permission:
                                                        type: string
                                                        enum:
                                                          - Manage Policies
                                                          - Audit Activity
                                                          - Manage Data Products
                                                          - Manage Identifiers
                                                        description: Domain permission
                                                      domainId:
                                                        type: string
                                                        description: Domain ID
                                                    required:
                                                      - type
                                                      - permission
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - ATTRIBUTE
                                                      key:
                                                        type: string
                                                        description: Attribute key
                                                      value:
                                                        type: string
                                                        description: Attribute value
                                                    required:
                                                      - type
                                                      - key
                                                      - value
                                              minItems: 1
                                          required:
                                            - all
                                        - type: object
                                          properties:
                                            any:
                                              type: array
                                              items:
                                                oneOf:
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - USER
                                                        description: Entity type
                                                      id:
                                                        type: string
                                                        description: Entity ID
                                                      displayName:
                                                        type: string
                                                        description: Entity display name
                                                    required:
                                                      - type
                                                      - id
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - GROUP
                                                        description: Entity type
                                                      id:
                                                        type: number
                                                        description: Entity ID
                                                      iamId:
                                                        type: string
                                                        description: IAM ID
                                                      name:
                                                        type: string
                                                        description: Entity display name
                                                    required:
                                                      - type
                                                      - name
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - PERMISSION
                                                      permission:
                                                        type: string
                                                        enum:
                                                          - GOVERNANCE
                                                          - USER_ADMIN
                                                          - AUDIT
                                                        description: Global permission
                                                    required:
                                                      - type
                                                      - permission
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - DOMAIN PERMISSION
                                                      permission:
                                                        type: string
                                                        enum:
                                                          - Manage Policies
                                                          - Audit Activity
                                                          - Manage Data Products
                                                          - Manage Identifiers
                                                        description: Domain permission
                                                      domainId:
                                                        type: string
                                                        description: Domain ID
                                                    required:
                                                      - type
                                                      - permission
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - ATTRIBUTE
                                                      key:
                                                        type: string
                                                        description: Attribute key
                                                      value:
                                                        type: string
                                                        description: Attribute value
                                                    required:
                                                      - type
                                                      - key
                                                      - value
                                              minItems: 1
                                          required:
                                            - any
                                    description: Array of stages for manual review
                                required:
                                  - stages
                            required:
                              - type
                              - params
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - dataProductPolicy
                            required:
                              - type
                    required:
                      - conditions
                      - event
                defaultEvent:
                  discriminator:
                    propertyName: type
                  oneOf:
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - approve
                        params:
                          type: object
                          properties:
                            comment:
                              type: string
                            duration:
                              type: number
                              minimum: 1
                            durationUnit:
                              type: string
                              enum:
                                - HOURS
                                - DAYS
                                - WEEKS
                                - MONTHS
                                - YEARS
                          additionalProperties: false
                      required:
                        - type
                        - params
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - review
                        params:
                          type: object
                          properties:
                            stages:
                              type: array
                              items:
                                oneOf:
                                  - type: object
                                    properties:
                                      all:
                                        type: array
                                        items:
                                          oneOf:
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - USER
                                                  description: Entity type
                                                id:
                                                  type: string
                                                  description: Entity ID
                                                displayName:
                                                  type: string
                                                  description: Entity display name
                                              required:
                                                - type
                                                - id
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - GROUP
                                                  description: Entity type
                                                id:
                                                  type: number
                                                  description: Entity ID
                                                iamId:
                                                  type: string
                                                  description: IAM ID
                                                name:
                                                  type: string
                                                  description: Entity display name
                                              required:
                                                - type
                                                - name
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - PERMISSION
                                                permission:
                                                  type: string
                                                  enum:
                                                    - GOVERNANCE
                                                    - USER_ADMIN
                                                    - AUDIT
                                                  description: Global permission
                                              required:
                                                - type
                                                - permission
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - DOMAIN PERMISSION
                                                permission:
                                                  type: string
                                                  enum:
                                                    - Manage Policies
                                                    - Audit Activity
                                                    - Manage Data Products
                                                    - Manage Identifiers
                                                  description: Domain permission
                                                domainId:
                                                  type: string
                                                  description: Domain ID
                                              required:
                                                - type
                                                - permission
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - ATTRIBUTE
                                                key:
                                                  type: string
                                                  description: Attribute key
                                                value:
                                                  type: string
                                                  description: Attribute value
                                              required:
                                                - type
                                                - key
                                                - value
                                        minItems: 1
                                    required:
                                      - all
                                  - type: object
                                    properties:
                                      any:
                                        type: array
                                        items:
                                          oneOf:
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - USER
                                                  description: Entity type
                                                id:
                                                  type: string
                                                  description: Entity ID
                                                displayName:
                                                  type: string
                                                  description: Entity display name
                                              required:
                                                - type
                                                - id
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - GROUP
                                                  description: Entity type
                                                id:
                                                  type: number
                                                  description: Entity ID
                                                iamId:
                                                  type: string
                                                  description: IAM ID
                                                name:
                                                  type: string
                                                  description: Entity display name
                                              required:
                                                - type
                                                - name
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - PERMISSION
                                                permission:
                                                  type: string
                                                  enum:
                                                    - GOVERNANCE
                                                    - USER_ADMIN
                                                    - AUDIT
                                                  description: Global permission
                                              required:
                                                - type
                                                - permission
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - DOMAIN PERMISSION
                                                permission:
                                                  type: string
                                                  enum:
                                                    - Manage Policies
                                                    - Audit Activity
                                                    - Manage Data Products
                                                    - Manage Identifiers
                                                  description: Domain permission
                                                domainId:
                                                  type: string
                                                  description: Domain ID
                                              required:
                                                - type
                                                - permission
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - ATTRIBUTE
                                                key:
                                                  type: string
                                                  description: Attribute key
                                                value:
                                                  type: string
                                                  description: Attribute value
                                              required:
                                                - type
                                                - key
                                                - value
                                        minItems: 1
                                    required:
                                      - any
                              description: Array of stages for manual review
                          required:
                            - stages
                      required:
                        - type
                        - params
              required:
                - rules
                - defaultEvent
              description: Masking exception review flow
              title: Masking Exception Review Flow
            dataSources:
              type: array
              items:
                type: object
                properties:
                  sourceId:
                    type: string
                required:
                  - sourceId
          required:
            - type
            - name
            - metadata
            - dataAccessRequestFormId
            - maskingExceptionRequestFormId
            - dataSources
          additionalProperties: false
          title: Create Data Product Asset
        - type: object
          properties:
            type:
              type: string
              enum:
                - DATA_OBJECT
            metadata:
              type: object
              properties:
                subjectMatterExperts:
                  default: *ref_29
                  type: array
                  items:
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                        description: Immuta global user ID of the subject matter expert
                      username:
                        type: string
                      name:
                        type: string
                    required:
                      - id
                objectPath:
                  type: array
                  items:
                    type: string
                technology:
                  type: string
                  enum:
                    - Snowflake
                    - PostgreSQL
                    - Databricks
                    - Glue
                    - MySQL
                    - Teradata
                    - MariaDB
                    - Oracle
                    - SQLServer
                    - Trino
                    - Redshift
                legacyType:
                  type: string
                dataSourceId:
                  type: number
                description:
                  oneOf:
                    - type: string
                  nullable: true
                externalLink:
                  oneOf:
                    - type: string
                  nullable: true
              required:
                - objectPath
              description: Data object asset metadata
            dataAccessRequestFormId:
              oneOf:
                - oneOf:
                    - type: string
                      format: cuid
                    - type: string
                      format: uuid
                  description: >-
                    Request form ID. If not provided, the asset will inherit
                    from a parent asset.
              nullable: true
              description: >-
                Request form ID. If not provided, the asset will inherit from a
                parent asset.
            maskingExceptionRequestFormId:
              oneOf:
                - oneOf:
                    - type: string
                      format: cuid
                    - type: string
                      format: uuid
                  description: >-
                    Request form ID. If not provided, the asset will inherit
                    from a parent asset.
              nullable: true
              description: >-
                Request form ID. If not provided, the asset will inherit from a
                parent asset.
            dataAccessReviewFlow:
              oneOf:
                - type: object
                  properties:
                    version:
                      type: string
                      description: Policy schema version
                    rules:
                      type: array
                      items:
                        type: object
                        properties:
                          conditions:
                            oneOf:
                              - type: object
                                properties:
                                  all:
                                    type: array
                                    items: {}
                                required:
                                  - all
                                additionalProperties: false
                              - type: object
                                properties:
                                  any:
                                    type: array
                                    items: {}
                                required:
                                  - any
                                additionalProperties: false
                              - type: object
                                properties:
                                  not: {}
                                required:
                                  - not
                                additionalProperties: false
                          event:
                            discriminator:
                              propertyName: type
                            oneOf:
                              - type: object
                                properties:
                                  type:
                                    type: string
                                    enum:
                                      - approve
                                  params:
                                    type: object
                                    properties:
                                      comment:
                                        type: string
                                      duration:
                                        type: number
                                        minimum: 1
                                      durationUnit:
                                        type: string
                                        enum:
                                          - HOURS
                                          - DAYS
                                          - WEEKS
                                          - MONTHS
                                          - YEARS
                                    additionalProperties: false
                                required:
                                  - type
                                  - params
                              - type: object
                                properties:
                                  type:
                                    type: string
                                    enum:
                                      - deny
                                  params:
                                    type: object
                                    properties:
                                      comment:
                                        type: string
                                required:
                                  - type
                                  - params
                              - type: object
                                properties:
                                  type:
                                    type: string
                                    enum:
                                      - review
                                  params:
                                    type: object
                                    properties:
                                      stages:
                                        type: array
                                        items:
                                          oneOf:
                                            - type: object
                                              properties:
                                                all:
                                                  type: array
                                                  items:
                                                    oneOf:
                                                      - type: object
                                                        properties:
                                                          type:
                                                            type: string
                                                            enum:
                                                              - USER
                                                            description: Entity type
                                                          id:
                                                            type: string
                                                            description: Entity ID
                                                          displayName:
                                                            type: string
                                                            description: Entity display name
                                                        required:
                                                          - type
                                                          - id
                                                      - type: object
                                                        properties:
                                                          type:
                                                            type: string
                                                            enum:
                                                              - GROUP
                                                            description: Entity type
                                                          id:
                                                            type: number
                                                            description: Entity ID
                                                          iamId:
                                                            type: string
                                                            description: IAM ID
                                                          name:
                                                            type: string
                                                            description: Entity display name
                                                        required:
                                                          - type
                                                          - name
                                                      - type: object
                                                        properties:
                                                          type:
                                                            type: string
                                                            enum:
                                                              - PERMISSION
                                                          permission:
                                                            type: string
                                                            enum:
                                                              - GOVERNANCE
                                                              - USER_ADMIN
                                                              - AUDIT
                                                            description: Global permission
                                                        required:
                                                          - type
                                                          - permission
                                                      - type: object
                                                        properties:
                                                          type:
                                                            type: string
                                                            enum:
                                                              - DOMAIN PERMISSION
                                                          permission:
                                                            type: string
                                                            enum:
                                                              - Manage Policies
                                                              - Audit Activity
                                                              - Manage Data Products
                                                              - Manage Identifiers
                                                            description: Domain permission
                                                          domainId:
                                                            type: string
                                                            description: Domain ID
                                                        required:
                                                          - type
                                                          - permission
                                                      - type: object
                                                        properties:
                                                          type:
                                                            type: string
                                                            enum:
                                                              - ATTRIBUTE
                                                          key:
                                                            type: string
                                                            description: Attribute key
                                                          value:
                                                            type: string
                                                            description: Attribute value
                                                        required:
                                                          - type
                                                          - key
                                                          - value
                                                  minItems: 1
                                              required:
                                                - all
                                            - type: object
                                              properties:
                                                any:
                                                  type: array
                                                  items:
                                                    oneOf:
                                                      - type: object
                                                        properties:
                                                          type:
                                                            type: string
                                                            enum:
                                                              - USER
                                                            description: Entity type
                                                          id:
                                                            type: string
                                                            description: Entity ID
                                                          displayName:
                                                            type: string
                                                            description: Entity display name
                                                        required:
                                                          - type
                                                          - id
                                                      - type: object
                                                        properties:
                                                          type:
                                                            type: string
                                                            enum:
                                                              - GROUP
                                                            description: Entity type
                                                          id:
                                                            type: number
                                                            description: Entity ID
                                                          iamId:
                                                            type: string
                                                            description: IAM ID
                                                          name:
                                                            type: string
                                                            description: Entity display name
                                                        required:
                                                          - type
                                                          - name
                                                      - type: object
                                                        properties:
                                                          type:
                                                            type: string
                                                            enum:
                                                              - PERMISSION
                                                          permission:
                                                            type: string
                                                            enum:
                                                              - GOVERNANCE
                                                              - USER_ADMIN
                                                              - AUDIT
                                                            description: Global permission
                                                        required:
                                                          - type
                                                          - permission
                                                      - type: object
                                                        properties:
                                                          type:
                                                            type: string
                                                            enum:
                                                              - DOMAIN PERMISSION
                                                          permission:
                                                            type: string
                                                            enum:
                                                              - Manage Policies
                                                              - Audit Activity
                                                              - Manage Data Products
                                                              - Manage Identifiers
                                                            description: Domain permission
                                                          domainId:
                                                            type: string
                                                            description: Domain ID
                                                        required:
                                                          - type
                                                          - permission
                                                      - type: object
                                                        properties:
                                                          type:
                                                            type: string
                                                            enum:
                                                              - ATTRIBUTE
                                                          key:
                                                            type: string
                                                            description: Attribute key
                                                          value:
                                                            type: string
                                                            description: Attribute value
                                                        required:
                                                          - type
                                                          - key
                                                          - value
                                                  minItems: 1
                                              required:
                                                - any
                                        description: Array of stages for manual review
                                    required:
                                      - stages
                                required:
                                  - type
                                  - params
                              - type: object
                                properties:
                                  type:
                                    type: string
                                    enum:
                                      - dataProductPolicy
                                required:
                                  - type
                        required:
                          - conditions
                          - event
                    defaultEvent:
                      discriminator:
                        propertyName: type
                      oneOf:
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - approve
                            params:
                              type: object
                              properties:
                                comment:
                                  type: string
                                duration:
                                  type: number
                                  minimum: 1
                                durationUnit:
                                  type: string
                                  enum:
                                    - HOURS
                                    - DAYS
                                    - WEEKS
                                    - MONTHS
                                    - YEARS
                              additionalProperties: false
                          required:
                            - type
                            - params
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - review
                            params:
                              type: object
                              properties:
                                stages:
                                  type: array
                                  items:
                                    oneOf:
                                      - type: object
                                        properties:
                                          all:
                                            type: array
                                            items:
                                              oneOf:
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - USER
                                                      description: Entity type
                                                    id:
                                                      type: string
                                                      description: Entity ID
                                                    displayName:
                                                      type: string
                                                      description: Entity display name
                                                  required:
                                                    - type
                                                    - id
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - GROUP
                                                      description: Entity type
                                                    id:
                                                      type: number
                                                      description: Entity ID
                                                    iamId:
                                                      type: string
                                                      description: IAM ID
                                                    name:
                                                      type: string
                                                      description: Entity display name
                                                  required:
                                                    - type
                                                    - name
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - PERMISSION
                                                    permission:
                                                      type: string
                                                      enum:
                                                        - GOVERNANCE
                                                        - USER_ADMIN
                                                        - AUDIT
                                                      description: Global permission
                                                  required:
                                                    - type
                                                    - permission
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - DOMAIN PERMISSION
                                                    permission:
                                                      type: string
                                                      enum:
                                                        - Manage Policies
                                                        - Audit Activity
                                                        - Manage Data Products
                                                        - Manage Identifiers
                                                      description: Domain permission
                                                    domainId:
                                                      type: string
                                                      description: Domain ID
                                                  required:
                                                    - type
                                                    - permission
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - ATTRIBUTE
                                                    key:
                                                      type: string
                                                      description: Attribute key
                                                    value:
                                                      type: string
                                                      description: Attribute value
                                                  required:
                                                    - type
                                                    - key
                                                    - value
                                            minItems: 1
                                        required:
                                          - all
                                      - type: object
                                        properties:
                                          any:
                                            type: array
                                            items:
                                              oneOf:
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - USER
                                                      description: Entity type
                                                    id:
                                                      type: string
                                                      description: Entity ID
                                                    displayName:
                                                      type: string
                                                      description: Entity display name
                                                  required:
                                                    - type
                                                    - id
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - GROUP
                                                      description: Entity type
                                                    id:
                                                      type: number
                                                      description: Entity ID
                                                    iamId:
                                                      type: string
                                                      description: IAM ID
                                                    name:
                                                      type: string
                                                      description: Entity display name
                                                  required:
                                                    - type
                                                    - name
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - PERMISSION
                                                    permission:
                                                      type: string
                                                      enum:
                                                        - GOVERNANCE
                                                        - USER_ADMIN
                                                        - AUDIT
                                                      description: Global permission
                                                  required:
                                                    - type
                                                    - permission
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - DOMAIN PERMISSION
                                                    permission:
                                                      type: string
                                                      enum:
                                                        - Manage Policies
                                                        - Audit Activity
                                                        - Manage Data Products
                                                        - Manage Identifiers
                                                      description: Domain permission
                                                    domainId:
                                                      type: string
                                                      description: Domain ID
                                                  required:
                                                    - type
                                                    - permission
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - ATTRIBUTE
                                                    key:
                                                      type: string
                                                      description: Attribute key
                                                    value:
                                                      type: string
                                                      description: Attribute value
                                                  required:
                                                    - type
                                                    - key
                                                    - value
                                            minItems: 1
                                        required:
                                          - any
                                  description: Array of stages for manual review
                              required:
                                - stages
                          required:
                            - type
                            - params
                  required:
                    - rules
                    - defaultEvent
                  description: >-
                    Data access policy. If not provided, the asset will inherit
                    from a parent asset.
              nullable: true
              description: >-
                Data access policy. If not provided, the asset will inherit from
                a parent asset.
            maskingExceptionReviewFlow:
              oneOf:
                - type: object
                  properties:
                    version:
                      type: string
                      description: Policy schema version
                    rules:
                      type: array
                      items:
                        type: object
                        properties:
                          conditions:
                            oneOf:
                              - type: object
                                properties:
                                  all:
                                    type: array
                                    items: {}
                                required:
                                  - all
                                additionalProperties: false
                              - type: object
                                properties:
                                  any:
                                    type: array
                                    items: {}
                                required:
                                  - any
                                additionalProperties: false
                              - type: object
                                properties:
                                  not: {}
                                required:
                                  - not
                                additionalProperties: false
                          event:
                            discriminator:
                              propertyName: type
                            oneOf:
                              - type: object
                                properties:
                                  type:
                                    type: string
                                    enum:
                                      - approve
                                  params:
                                    type: object
                                    properties:
                                      comment:
                                        type: string
                                      duration:
                                        type: number
                                        minimum: 1
                                      durationUnit:
                                        type: string
                                        enum:
                                          - HOURS
                                          - DAYS
                                          - WEEKS
                                          - MONTHS
                                          - YEARS
                                    additionalProperties: false
                                required:
                                  - type
                                  - params
                              - type: object
                                properties:
                                  type:
                                    type: string
                                    enum:
                                      - deny
                                  params:
                                    type: object
                                    properties:
                                      comment:
                                        type: string
                                required:
                                  - type
                                  - params
                              - type: object
                                properties:
                                  type:
                                    type: string
                                    enum:
                                      - review
                                  params:
                                    type: object
                                    properties:
                                      stages:
                                        type: array
                                        items:
                                          oneOf:
                                            - type: object
                                              properties:
                                                all:
                                                  type: array
                                                  items:
                                                    oneOf:
                                                      - type: object
                                                        properties:
                                                          type:
                                                            type: string
                                                            enum:
                                                              - USER
                                                            description: Entity type
                                                          id:
                                                            type: string
                                                            description: Entity ID
                                                          displayName:
                                                            type: string
                                                            description: Entity display name
                                                        required:
                                                          - type
                                                          - id
                                                      - type: object
                                                        properties:
                                                          type:
                                                            type: string
                                                            enum:
                                                              - GROUP
                                                            description: Entity type
                                                          id:
                                                            type: number
                                                            description: Entity ID
                                                          iamId:
                                                            type: string
                                                            description: IAM ID
                                                          name:
                                                            type: string
                                                            description: Entity display name
                                                        required:
                                                          - type
                                                          - name
                                                      - type: object
                                                        properties:
                                                          type:
                                                            type: string
                                                            enum:
                                                              - PERMISSION
                                                          permission:
                                                            type: string
                                                            enum:
                                                              - GOVERNANCE
                                                              - USER_ADMIN
                                                              - AUDIT
                                                            description: Global permission
                                                        required:
                                                          - type
                                                          - permission
                                                      - type: object
                                                        properties:
                                                          type:
                                                            type: string
                                                            enum:
                                                              - DOMAIN PERMISSION
                                                          permission:
                                                            type: string
                                                            enum:
                                                              - Manage Policies
                                                              - Audit Activity
                                                              - Manage Data Products
                                                              - Manage Identifiers
                                                            description: Domain permission
                                                          domainId:
                                                            type: string
                                                            description: Domain ID
                                                        required:
                                                          - type
                                                          - permission
                                                      - type: object
                                                        properties:
                                                          type:
                                                            type: string
                                                            enum:
                                                              - ATTRIBUTE
                                                          key:
                                                            type: string
                                                            description: Attribute key
                                                          value:
                                                            type: string
                                                            description: Attribute value
                                                        required:
                                                          - type
                                                          - key
                                                          - value
                                                  minItems: 1
                                              required:
                                                - all
                                            - type: object
                                              properties:
                                                any:
                                                  type: array
                                                  items:
                                                    oneOf:
                                                      - type: object
                                                        properties:
                                                          type:
                                                            type: string
                                                            enum:
                                                              - USER
                                                            description: Entity type
                                                          id:
                                                            type: string
                                                            description: Entity ID
                                                          displayName:
                                                            type: string
                                                            description: Entity display name
                                                        required:
                                                          - type
                                                          - id
                                                      - type: object
                                                        properties:
                                                          type:
                                                            type: string
                                                            enum:
                                                              - GROUP
                                                            description: Entity type
                                                          id:
                                                            type: number
                                                            description: Entity ID
                                                          iamId:
                                                            type: string
                                                            description: IAM ID
                                                          name:
                                                            type: string
                                                            description: Entity display name
                                                        required:
                                                          - type
                                                          - name
                                                      - type: object
                                                        properties:
                                                          type:
                                                            type: string
                                                            enum:
                                                              - PERMISSION
                                                          permission:
                                                            type: string
                                                            enum:
                                                              - GOVERNANCE
                                                              - USER_ADMIN
                                                              - AUDIT
                                                            description: Global permission
                                                        required:
                                                          - type
                                                          - permission
                                                      - type: object
                                                        properties:
                                                          type:
                                                            type: string
                                                            enum:
                                                              - DOMAIN PERMISSION
                                                          permission:
                                                            type: string
                                                            enum:
                                                              - Manage Policies
                                                              - Audit Activity
                                                              - Manage Data Products
                                                              - Manage Identifiers
                                                            description: Domain permission
                                                          domainId:
                                                            type: string
                                                            description: Domain ID
                                                        required:
                                                          - type
                                                          - permission
                                                      - type: object
                                                        properties:
                                                          type:
                                                            type: string
                                                            enum:
                                                              - ATTRIBUTE
                                                          key:
                                                            type: string
                                                            description: Attribute key
                                                          value:
                                                            type: string
                                                            description: Attribute value
                                                        required:
                                                          - type
                                                          - key
                                                          - value
                                                  minItems: 1
                                              required:
                                                - any
                                        description: Array of stages for manual review
                                    required:
                                      - stages
                                required:
                                  - type
                                  - params
                              - type: object
                                properties:
                                  type:
                                    type: string
                                    enum:
                                      - dataProductPolicy
                                required:
                                  - type
                        required:
                          - conditions
                          - event
                    defaultEvent:
                      discriminator:
                        propertyName: type
                      oneOf:
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - approve
                            params:
                              type: object
                              properties:
                                comment:
                                  type: string
                                duration:
                                  type: number
                                  minimum: 1
                                durationUnit:
                                  type: string
                                  enum:
                                    - HOURS
                                    - DAYS
                                    - WEEKS
                                    - MONTHS
                                    - YEARS
                              additionalProperties: false
                          required:
                            - type
                            - params
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - review
                            params:
                              type: object
                              properties:
                                stages:
                                  type: array
                                  items:
                                    oneOf:
                                      - type: object
                                        properties:
                                          all:
                                            type: array
                                            items:
                                              oneOf:
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - USER
                                                      description: Entity type
                                                    id:
                                                      type: string
                                                      description: Entity ID
                                                    displayName:
                                                      type: string
                                                      description: Entity display name
                                                  required:
                                                    - type
                                                    - id
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - GROUP
                                                      description: Entity type
                                                    id:
                                                      type: number
                                                      description: Entity ID
                                                    iamId:
                                                      type: string
                                                      description: IAM ID
                                                    name:
                                                      type: string
                                                      description: Entity display name
                                                  required:
                                                    - type
                                                    - name
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - PERMISSION
                                                    permission:
                                                      type: string
                                                      enum:
                                                        - GOVERNANCE
                                                        - USER_ADMIN
                                                        - AUDIT
                                                      description: Global permission
                                                  required:
                                                    - type
                                                    - permission
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - DOMAIN PERMISSION
                                                    permission:
                                                      type: string
                                                      enum:
                                                        - Manage Policies
                                                        - Audit Activity
                                                        - Manage Data Products
                                                        - Manage Identifiers
                                                      description: Domain permission
                                                    domainId:
                                                      type: string
                                                      description: Domain ID
                                                  required:
                                                    - type
                                                    - permission
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - ATTRIBUTE
                                                    key:
                                                      type: string
                                                      description: Attribute key
                                                    value:
                                                      type: string
                                                      description: Attribute value
                                                  required:
                                                    - type
                                                    - key
                                                    - value
                                            minItems: 1
                                        required:
                                          - all
                                      - type: object
                                        properties:
                                          any:
                                            type: array
                                            items:
                                              oneOf:
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - USER
                                                      description: Entity type
                                                    id:
                                                      type: string
                                                      description: Entity ID
                                                    displayName:
                                                      type: string
                                                      description: Entity display name
                                                  required:
                                                    - type
                                                    - id
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - GROUP
                                                      description: Entity type
                                                    id:
                                                      type: number
                                                      description: Entity ID
                                                    iamId:
                                                      type: string
                                                      description: IAM ID
                                                    name:
                                                      type: string
                                                      description: Entity display name
                                                  required:
                                                    - type
                                                    - name
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - PERMISSION
                                                    permission:
                                                      type: string
                                                      enum:
                                                        - GOVERNANCE
                                                        - USER_ADMIN
                                                        - AUDIT
                                                      description: Global permission
                                                  required:
                                                    - type
                                                    - permission
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - DOMAIN PERMISSION
                                                    permission:
                                                      type: string
                                                      enum:
                                                        - Manage Policies
                                                        - Audit Activity
                                                        - Manage Data Products
                                                        - Manage Identifiers
                                                      description: Domain permission
                                                    domainId:
                                                      type: string
                                                      description: Domain ID
                                                  required:
                                                    - type
                                                    - permission
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - ATTRIBUTE
                                                    key:
                                                      type: string
                                                      description: Attribute key
                                                    value:
                                                      type: string
                                                      description: Attribute value
                                                  required:
                                                    - type
                                                    - key
                                                    - value
                                            minItems: 1
                                        required:
                                          - any
                                  description: Array of stages for manual review
                              required:
                                - stages
                          required:
                            - type
                            - params
                  required:
                    - rules
                    - defaultEvent
                  description: >-
                    Masking exception policy. If not provided, the asset will
                    inherit from a parent asset.
              nullable: true
              description: >-
                Masking exception policy. If not provided, the asset will
                inherit from a parent asset.
          required:
            - type
            - metadata
          title: Update Data Object Asset
      title: Update Asset
    PatchAssetDto:
      discriminator:
        propertyName: type
      oneOf:
        - type: object
          properties:
            type:
              type: string
              enum:
                - DATA_PRODUCT
            name:
              type: string
              minLength: 1
              description: Asset name
            metadata:
              type: object
              properties:
                subjectMatterExperts:
                  default: *ref_29
                  type: array
                  items:
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                        description: Immuta global user ID of the subject matter expert
                      username:
                        type: string
                      name:
                        type: string
                    required:
                      - id
                domains:
                  type: array
                  items:
                    type: string
                    format: uuid
                  minItems: 1
                  description: Array of domain IDs associated with the data product
                description:
                  oneOf:
                    - type: string
                      description: Data product description
                      example: All sales records from the current fiscal year
                  nullable: true
                  description: Data product description
              required:
                - domains
              description: Data product asset metadata
            id:
              type: string
              format: uuid
              description: Asset ID
            dataAccessRequestFormId:
              oneOf:
                - type: string
                  format: cuid
                - type: string
                  format: uuid
              description: >-
                Request form ID. If not provided, the asset will inherit from a
                parent asset.
            maskingExceptionRequestFormId:
              oneOf:
                - type: string
                  format: cuid
                - type: string
                  format: uuid
              description: >-
                Request form ID. If not provided, the asset will inherit from a
                parent asset.
            dataAccessReviewFlow:
              default: *ref_30
              type: object
              properties:
                version:
                  type: string
                  description: Policy schema version
                rules:
                  type: array
                  items:
                    type: object
                    properties:
                      conditions:
                        oneOf:
                          - type: object
                            properties:
                              all:
                                type: array
                                items: {}
                            required:
                              - all
                            additionalProperties: false
                          - type: object
                            properties:
                              any:
                                type: array
                                items: {}
                            required:
                              - any
                            additionalProperties: false
                          - type: object
                            properties:
                              not: {}
                            required:
                              - not
                            additionalProperties: false
                      event:
                        discriminator:
                          propertyName: type
                        oneOf:
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - approve
                              params:
                                type: object
                                properties:
                                  comment:
                                    type: string
                                  duration:
                                    type: number
                                    minimum: 1
                                  durationUnit:
                                    type: string
                                    enum:
                                      - HOURS
                                      - DAYS
                                      - WEEKS
                                      - MONTHS
                                      - YEARS
                                additionalProperties: false
                            required:
                              - type
                              - params
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - deny
                              params:
                                type: object
                                properties:
                                  comment:
                                    type: string
                            required:
                              - type
                              - params
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - review
                              params:
                                type: object
                                properties:
                                  stages:
                                    type: array
                                    items:
                                      oneOf:
                                        - type: object
                                          properties:
                                            all:
                                              type: array
                                              items:
                                                oneOf:
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - USER
                                                        description: Entity type
                                                      id:
                                                        type: string
                                                        description: Entity ID
                                                      displayName:
                                                        type: string
                                                        description: Entity display name
                                                    required:
                                                      - type
                                                      - id
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - GROUP
                                                        description: Entity type
                                                      id:
                                                        type: number
                                                        description: Entity ID
                                                      iamId:
                                                        type: string
                                                        description: IAM ID
                                                      name:
                                                        type: string
                                                        description: Entity display name
                                                    required:
                                                      - type
                                                      - name
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - PERMISSION
                                                      permission:
                                                        type: string
                                                        enum:
                                                          - GOVERNANCE
                                                          - USER_ADMIN
                                                          - AUDIT
                                                        description: Global permission
                                                    required:
                                                      - type
                                                      - permission
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - DOMAIN PERMISSION
                                                      permission:
                                                        type: string
                                                        enum:
                                                          - Manage Policies
                                                          - Audit Activity
                                                          - Manage Data Products
                                                          - Manage Identifiers
                                                        description: Domain permission
                                                      domainId:
                                                        type: string
                                                        description: Domain ID
                                                    required:
                                                      - type
                                                      - permission
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - ATTRIBUTE
                                                      key:
                                                        type: string
                                                        description: Attribute key
                                                      value:
                                                        type: string
                                                        description: Attribute value
                                                    required:
                                                      - type
                                                      - key
                                                      - value
                                              minItems: 1
                                          required:
                                            - all
                                        - type: object
                                          properties:
                                            any:
                                              type: array
                                              items:
                                                oneOf:
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - USER
                                                        description: Entity type
                                                      id:
                                                        type: string
                                                        description: Entity ID
                                                      displayName:
                                                        type: string
                                                        description: Entity display name
                                                    required:
                                                      - type
                                                      - id
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - GROUP
                                                        description: Entity type
                                                      id:
                                                        type: number
                                                        description: Entity ID
                                                      iamId:
                                                        type: string
                                                        description: IAM ID
                                                      name:
                                                        type: string
                                                        description: Entity display name
                                                    required:
                                                      - type
                                                      - name
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - PERMISSION
                                                      permission:
                                                        type: string
                                                        enum:
                                                          - GOVERNANCE
                                                          - USER_ADMIN
                                                          - AUDIT
                                                        description: Global permission
                                                    required:
                                                      - type
                                                      - permission
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - DOMAIN PERMISSION
                                                      permission:
                                                        type: string
                                                        enum:
                                                          - Manage Policies
                                                          - Audit Activity
                                                          - Manage Data Products
                                                          - Manage Identifiers
                                                        description: Domain permission
                                                      domainId:
                                                        type: string
                                                        description: Domain ID
                                                    required:
                                                      - type
                                                      - permission
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - ATTRIBUTE
                                                      key:
                                                        type: string
                                                        description: Attribute key
                                                      value:
                                                        type: string
                                                        description: Attribute value
                                                    required:
                                                      - type
                                                      - key
                                                      - value
                                              minItems: 1
                                          required:
                                            - any
                                    description: Array of stages for manual review
                                required:
                                  - stages
                            required:
                              - type
                              - params
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - dataProductPolicy
                            required:
                              - type
                    required:
                      - conditions
                      - event
                defaultEvent:
                  discriminator:
                    propertyName: type
                  oneOf:
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - approve
                        params:
                          type: object
                          properties:
                            comment:
                              type: string
                            duration:
                              type: number
                              minimum: 1
                            durationUnit:
                              type: string
                              enum:
                                - HOURS
                                - DAYS
                                - WEEKS
                                - MONTHS
                                - YEARS
                          additionalProperties: false
                      required:
                        - type
                        - params
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - review
                        params:
                          type: object
                          properties:
                            stages:
                              type: array
                              items:
                                oneOf:
                                  - type: object
                                    properties:
                                      all:
                                        type: array
                                        items:
                                          oneOf:
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - USER
                                                  description: Entity type
                                                id:
                                                  type: string
                                                  description: Entity ID
                                                displayName:
                                                  type: string
                                                  description: Entity display name
                                              required:
                                                - type
                                                - id
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - GROUP
                                                  description: Entity type
                                                id:
                                                  type: number
                                                  description: Entity ID
                                                iamId:
                                                  type: string
                                                  description: IAM ID
                                                name:
                                                  type: string
                                                  description: Entity display name
                                              required:
                                                - type
                                                - name
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - PERMISSION
                                                permission:
                                                  type: string
                                                  enum:
                                                    - GOVERNANCE
                                                    - USER_ADMIN
                                                    - AUDIT
                                                  description: Global permission
                                              required:
                                                - type
                                                - permission
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - DOMAIN PERMISSION
                                                permission:
                                                  type: string
                                                  enum:
                                                    - Manage Policies
                                                    - Audit Activity
                                                    - Manage Data Products
                                                    - Manage Identifiers
                                                  description: Domain permission
                                                domainId:
                                                  type: string
                                                  description: Domain ID
                                              required:
                                                - type
                                                - permission
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - ATTRIBUTE
                                                key:
                                                  type: string
                                                  description: Attribute key
                                                value:
                                                  type: string
                                                  description: Attribute value
                                              required:
                                                - type
                                                - key
                                                - value
                                        minItems: 1
                                    required:
                                      - all
                                  - type: object
                                    properties:
                                      any:
                                        type: array
                                        items:
                                          oneOf:
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - USER
                                                  description: Entity type
                                                id:
                                                  type: string
                                                  description: Entity ID
                                                displayName:
                                                  type: string
                                                  description: Entity display name
                                              required:
                                                - type
                                                - id
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - GROUP
                                                  description: Entity type
                                                id:
                                                  type: number
                                                  description: Entity ID
                                                iamId:
                                                  type: string
                                                  description: IAM ID
                                                name:
                                                  type: string
                                                  description: Entity display name
                                              required:
                                                - type
                                                - name
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - PERMISSION
                                                permission:
                                                  type: string
                                                  enum:
                                                    - GOVERNANCE
                                                    - USER_ADMIN
                                                    - AUDIT
                                                  description: Global permission
                                              required:
                                                - type
                                                - permission
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - DOMAIN PERMISSION
                                                permission:
                                                  type: string
                                                  enum:
                                                    - Manage Policies
                                                    - Audit Activity
                                                    - Manage Data Products
                                                    - Manage Identifiers
                                                  description: Domain permission
                                                domainId:
                                                  type: string
                                                  description: Domain ID
                                              required:
                                                - type
                                                - permission
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - ATTRIBUTE
                                                key:
                                                  type: string
                                                  description: Attribute key
                                                value:
                                                  type: string
                                                  description: Attribute value
                                              required:
                                                - type
                                                - key
                                                - value
                                        minItems: 1
                                    required:
                                      - any
                              description: Array of stages for manual review
                          required:
                            - stages
                      required:
                        - type
                        - params
              required:
                - rules
                - defaultEvent
              description: Data access review flow
              title: Data Access Review Flow
            maskingExceptionReviewFlow:
              default: *ref_30
              type: object
              properties:
                version:
                  type: string
                  description: Policy schema version
                rules:
                  type: array
                  items:
                    type: object
                    properties:
                      conditions:
                        oneOf:
                          - type: object
                            properties:
                              all:
                                type: array
                                items: {}
                            required:
                              - all
                            additionalProperties: false
                          - type: object
                            properties:
                              any:
                                type: array
                                items: {}
                            required:
                              - any
                            additionalProperties: false
                          - type: object
                            properties:
                              not: {}
                            required:
                              - not
                            additionalProperties: false
                      event:
                        discriminator:
                          propertyName: type
                        oneOf:
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - approve
                              params:
                                type: object
                                properties:
                                  comment:
                                    type: string
                                  duration:
                                    type: number
                                    minimum: 1
                                  durationUnit:
                                    type: string
                                    enum:
                                      - HOURS
                                      - DAYS
                                      - WEEKS
                                      - MONTHS
                                      - YEARS
                                additionalProperties: false
                            required:
                              - type
                              - params
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - deny
                              params:
                                type: object
                                properties:
                                  comment:
                                    type: string
                            required:
                              - type
                              - params
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - review
                              params:
                                type: object
                                properties:
                                  stages:
                                    type: array
                                    items:
                                      oneOf:
                                        - type: object
                                          properties:
                                            all:
                                              type: array
                                              items:
                                                oneOf:
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - USER
                                                        description: Entity type
                                                      id:
                                                        type: string
                                                        description: Entity ID
                                                      displayName:
                                                        type: string
                                                        description: Entity display name
                                                    required:
                                                      - type
                                                      - id
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - GROUP
                                                        description: Entity type
                                                      id:
                                                        type: number
                                                        description: Entity ID
                                                      iamId:
                                                        type: string
                                                        description: IAM ID
                                                      name:
                                                        type: string
                                                        description: Entity display name
                                                    required:
                                                      - type
                                                      - name
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - PERMISSION
                                                      permission:
                                                        type: string
                                                        enum:
                                                          - GOVERNANCE
                                                          - USER_ADMIN
                                                          - AUDIT
                                                        description: Global permission
                                                    required:
                                                      - type
                                                      - permission
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - DOMAIN PERMISSION
                                                      permission:
                                                        type: string
                                                        enum:
                                                          - Manage Policies
                                                          - Audit Activity
                                                          - Manage Data Products
                                                          - Manage Identifiers
                                                        description: Domain permission
                                                      domainId:
                                                        type: string
                                                        description: Domain ID
                                                    required:
                                                      - type
                                                      - permission
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - ATTRIBUTE
                                                      key:
                                                        type: string
                                                        description: Attribute key
                                                      value:
                                                        type: string
                                                        description: Attribute value
                                                    required:
                                                      - type
                                                      - key
                                                      - value
                                              minItems: 1
                                          required:
                                            - all
                                        - type: object
                                          properties:
                                            any:
                                              type: array
                                              items:
                                                oneOf:
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - USER
                                                        description: Entity type
                                                      id:
                                                        type: string
                                                        description: Entity ID
                                                      displayName:
                                                        type: string
                                                        description: Entity display name
                                                    required:
                                                      - type
                                                      - id
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - GROUP
                                                        description: Entity type
                                                      id:
                                                        type: number
                                                        description: Entity ID
                                                      iamId:
                                                        type: string
                                                        description: IAM ID
                                                      name:
                                                        type: string
                                                        description: Entity display name
                                                    required:
                                                      - type
                                                      - name
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - PERMISSION
                                                      permission:
                                                        type: string
                                                        enum:
                                                          - GOVERNANCE
                                                          - USER_ADMIN
                                                          - AUDIT
                                                        description: Global permission
                                                    required:
                                                      - type
                                                      - permission
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - DOMAIN PERMISSION
                                                      permission:
                                                        type: string
                                                        enum:
                                                          - Manage Policies
                                                          - Audit Activity
                                                          - Manage Data Products
                                                          - Manage Identifiers
                                                        description: Domain permission
                                                      domainId:
                                                        type: string
                                                        description: Domain ID
                                                    required:
                                                      - type
                                                      - permission
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - ATTRIBUTE
                                                      key:
                                                        type: string
                                                        description: Attribute key
                                                      value:
                                                        type: string
                                                        description: Attribute value
                                                    required:
                                                      - type
                                                      - key
                                                      - value
                                              minItems: 1
                                          required:
                                            - any
                                    description: Array of stages for manual review
                                required:
                                  - stages
                            required:
                              - type
                              - params
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - dataProductPolicy
                            required:
                              - type
                    required:
                      - conditions
                      - event
                defaultEvent:
                  discriminator:
                    propertyName: type
                  oneOf:
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - approve
                        params:
                          type: object
                          properties:
                            comment:
                              type: string
                            duration:
                              type: number
                              minimum: 1
                            durationUnit:
                              type: string
                              enum:
                                - HOURS
                                - DAYS
                                - WEEKS
                                - MONTHS
                                - YEARS
                          additionalProperties: false
                      required:
                        - type
                        - params
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - review
                        params:
                          type: object
                          properties:
                            stages:
                              type: array
                              items:
                                oneOf:
                                  - type: object
                                    properties:
                                      all:
                                        type: array
                                        items:
                                          oneOf:
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - USER
                                                  description: Entity type
                                                id:
                                                  type: string
                                                  description: Entity ID
                                                displayName:
                                                  type: string
                                                  description: Entity display name
                                              required:
                                                - type
                                                - id
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - GROUP
                                                  description: Entity type
                                                id:
                                                  type: number
                                                  description: Entity ID
                                                iamId:
                                                  type: string
                                                  description: IAM ID
                                                name:
                                                  type: string
                                                  description: Entity display name
                                              required:
                                                - type
                                                - name
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - PERMISSION
                                                permission:
                                                  type: string
                                                  enum:
                                                    - GOVERNANCE
                                                    - USER_ADMIN
                                                    - AUDIT
                                                  description: Global permission
                                              required:
                                                - type
                                                - permission
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - DOMAIN PERMISSION
                                                permission:
                                                  type: string
                                                  enum:
                                                    - Manage Policies
                                                    - Audit Activity
                                                    - Manage Data Products
                                                    - Manage Identifiers
                                                  description: Domain permission
                                                domainId:
                                                  type: string
                                                  description: Domain ID
                                              required:
                                                - type
                                                - permission
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - ATTRIBUTE
                                                key:
                                                  type: string
                                                  description: Attribute key
                                                value:
                                                  type: string
                                                  description: Attribute value
                                              required:
                                                - type
                                                - key
                                                - value
                                        minItems: 1
                                    required:
                                      - all
                                  - type: object
                                    properties:
                                      any:
                                        type: array
                                        items:
                                          oneOf:
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - USER
                                                  description: Entity type
                                                id:
                                                  type: string
                                                  description: Entity ID
                                                displayName:
                                                  type: string
                                                  description: Entity display name
                                              required:
                                                - type
                                                - id
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - GROUP
                                                  description: Entity type
                                                id:
                                                  type: number
                                                  description: Entity ID
                                                iamId:
                                                  type: string
                                                  description: IAM ID
                                                name:
                                                  type: string
                                                  description: Entity display name
                                              required:
                                                - type
                                                - name
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - PERMISSION
                                                permission:
                                                  type: string
                                                  enum:
                                                    - GOVERNANCE
                                                    - USER_ADMIN
                                                    - AUDIT
                                                  description: Global permission
                                              required:
                                                - type
                                                - permission
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - DOMAIN PERMISSION
                                                permission:
                                                  type: string
                                                  enum:
                                                    - Manage Policies
                                                    - Audit Activity
                                                    - Manage Data Products
                                                    - Manage Identifiers
                                                  description: Domain permission
                                                domainId:
                                                  type: string
                                                  description: Domain ID
                                              required:
                                                - type
                                                - permission
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - ATTRIBUTE
                                                key:
                                                  type: string
                                                  description: Attribute key
                                                value:
                                                  type: string
                                                  description: Attribute value
                                              required:
                                                - type
                                                - key
                                                - value
                                        minItems: 1
                                    required:
                                      - any
                              description: Array of stages for manual review
                          required:
                            - stages
                      required:
                        - type
                        - params
              required:
                - rules
                - defaultEvent
              description: Masking exception review flow
              title: Masking Exception Review Flow
            dataSources:
              type: array
              items:
                type: object
                properties:
                  sourceId:
                    type: string
                required:
                  - sourceId
          required:
            - type
        - type: object
          properties:
            type:
              type: string
              enum:
                - DATA_OBJECT
            metadata:
              type: object
              properties:
                subjectMatterExperts:
                  default: *ref_29
                  type: array
                  items:
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                        description: Immuta global user ID of the subject matter expert
                      username:
                        type: string
                      name:
                        type: string
                    required:
                      - id
                objectPath:
                  type: array
                  items:
                    type: string
                technology:
                  type: string
                  enum:
                    - Snowflake
                    - PostgreSQL
                    - Databricks
                    - Glue
                    - MySQL
                    - Teradata
                    - MariaDB
                    - Oracle
                    - SQLServer
                    - Trino
                    - Redshift
                legacyType:
                  type: string
                dataSourceId:
                  type: number
                description:
                  oneOf:
                    - type: string
                  nullable: true
                externalLink:
                  oneOf:
                    - type: string
                  nullable: true
            dataAccessRequestFormId:
              oneOf:
                - oneOf:
                    - type: string
                      format: cuid
                    - type: string
                      format: uuid
                  description: >-
                    Request form ID. If not provided, the asset will inherit
                    from a parent asset.
              nullable: true
              description: >-
                Request form ID. If not provided, the asset will inherit from a
                parent asset.
            maskingExceptionRequestFormId:
              oneOf:
                - oneOf:
                    - type: string
                      format: cuid
                    - type: string
                      format: uuid
                  description: >-
                    Request form ID. If not provided, the asset will inherit
                    from a parent asset.
              nullable: true
              description: >-
                Request form ID. If not provided, the asset will inherit from a
                parent asset.
            dataAccessReviewFlow:
              oneOf:
                - type: object
                  properties:
                    version:
                      type: string
                      description: Policy schema version
                    rules:
                      type: array
                      items:
                        type: object
                        properties:
                          conditions:
                            oneOf:
                              - type: object
                                properties:
                                  all:
                                    type: array
                                    items: {}
                                required:
                                  - all
                                additionalProperties: false
                              - type: object
                                properties:
                                  any:
                                    type: array
                                    items: {}
                                required:
                                  - any
                                additionalProperties: false
                              - type: object
                                properties:
                                  not: {}
                                required:
                                  - not
                                additionalProperties: false
                          event:
                            discriminator:
                              propertyName: type
                            oneOf:
                              - type: object
                                properties:
                                  type:
                                    type: string
                                    enum:
                                      - approve
                                  params:
                                    type: object
                                    properties:
                                      comment:
                                        type: string
                                      duration:
                                        type: number
                                        minimum: 1
                                      durationUnit:
                                        type: string
                                        enum:
                                          - HOURS
                                          - DAYS
                                          - WEEKS
                                          - MONTHS
                                          - YEARS
                                    additionalProperties: false
                                required:
                                  - type
                                  - params
                              - type: object
                                properties:
                                  type:
                                    type: string
                                    enum:
                                      - deny
                                  params:
                                    type: object
                                    properties:
                                      comment:
                                        type: string
                                required:
                                  - type
                                  - params
                              - type: object
                                properties:
                                  type:
                                    type: string
                                    enum:
                                      - review
                                  params:
                                    type: object
                                    properties:
                                      stages:
                                        type: array
                                        items:
                                          oneOf:
                                            - type: object
                                              properties:
                                                all:
                                                  type: array
                                                  items:
                                                    oneOf:
                                                      - type: object
                                                        properties:
                                                          type:
                                                            type: string
                                                            enum:
                                                              - USER
                                                            description: Entity type
                                                          id:
                                                            type: string
                                                            description: Entity ID
                                                          displayName:
                                                            type: string
                                                            description: Entity display name
                                                        required:
                                                          - type
                                                          - id
                                                      - type: object
                                                        properties:
                                                          type:
                                                            type: string
                                                            enum:
                                                              - GROUP
                                                            description: Entity type
                                                          id:
                                                            type: number
                                                            description: Entity ID
                                                          iamId:
                                                            type: string
                                                            description: IAM ID
                                                          name:
                                                            type: string
                                                            description: Entity display name
                                                        required:
                                                          - type
                                                          - name
                                                      - type: object
                                                        properties:
                                                          type:
                                                            type: string
                                                            enum:
                                                              - PERMISSION
                                                          permission:
                                                            type: string
                                                            enum:
                                                              - GOVERNANCE
                                                              - USER_ADMIN
                                                              - AUDIT
                                                            description: Global permission
                                                        required:
                                                          - type
                                                          - permission
                                                      - type: object
                                                        properties:
                                                          type:
                                                            type: string
                                                            enum:
                                                              - DOMAIN PERMISSION
                                                          permission:
                                                            type: string
                                                            enum:
                                                              - Manage Policies
                                                              - Audit Activity
                                                              - Manage Data Products
                                                              - Manage Identifiers
                                                            description: Domain permission
                                                          domainId:
                                                            type: string
                                                            description: Domain ID
                                                        required:
                                                          - type
                                                          - permission
                                                      - type: object
                                                        properties:
                                                          type:
                                                            type: string
                                                            enum:
                                                              - ATTRIBUTE
                                                          key:
                                                            type: string
                                                            description: Attribute key
                                                          value:
                                                            type: string
                                                            description: Attribute value
                                                        required:
                                                          - type
                                                          - key
                                                          - value
                                                  minItems: 1
                                              required:
                                                - all
                                            - type: object
                                              properties:
                                                any:
                                                  type: array
                                                  items:
                                                    oneOf:
                                                      - type: object
                                                        properties:
                                                          type:
                                                            type: string
                                                            enum:
                                                              - USER
                                                            description: Entity type
                                                          id:
                                                            type: string
                                                            description: Entity ID
                                                          displayName:
                                                            type: string
                                                            description: Entity display name
                                                        required:
                                                          - type
                                                          - id
                                                      - type: object
                                                        properties:
                                                          type:
                                                            type: string
                                                            enum:
                                                              - GROUP
                                                            description: Entity type
                                                          id:
                                                            type: number
                                                            description: Entity ID
                                                          iamId:
                                                            type: string
                                                            description: IAM ID
                                                          name:
                                                            type: string
                                                            description: Entity display name
                                                        required:
                                                          - type
                                                          - name
                                                      - type: object
                                                        properties:
                                                          type:
                                                            type: string
                                                            enum:
                                                              - PERMISSION
                                                          permission:
                                                            type: string
                                                            enum:
                                                              - GOVERNANCE
                                                              - USER_ADMIN
                                                              - AUDIT
                                                            description: Global permission
                                                        required:
                                                          - type
                                                          - permission
                                                      - type: object
                                                        properties:
                                                          type:
                                                            type: string
                                                            enum:
                                                              - DOMAIN PERMISSION
                                                          permission:
                                                            type: string
                                                            enum:
                                                              - Manage Policies
                                                              - Audit Activity
                                                              - Manage Data Products
                                                              - Manage Identifiers
                                                            description: Domain permission
                                                          domainId:
                                                            type: string
                                                            description: Domain ID
                                                        required:
                                                          - type
                                                          - permission
                                                      - type: object
                                                        properties:
                                                          type:
                                                            type: string
                                                            enum:
                                                              - ATTRIBUTE
                                                          key:
                                                            type: string
                                                            description: Attribute key
                                                          value:
                                                            type: string
                                                            description: Attribute value
                                                        required:
                                                          - type
                                                          - key
                                                          - value
                                                  minItems: 1
                                              required:
                                                - any
                                        description: Array of stages for manual review
                                    required:
                                      - stages
                                required:
                                  - type
                                  - params
                              - type: object
                                properties:
                                  type:
                                    type: string
                                    enum:
                                      - dataProductPolicy
                                required:
                                  - type
                        required:
                          - conditions
                          - event
                    defaultEvent:
                      discriminator:
                        propertyName: type
                      oneOf:
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - approve
                            params:
                              type: object
                              properties:
                                comment:
                                  type: string
                                duration:
                                  type: number
                                  minimum: 1
                                durationUnit:
                                  type: string
                                  enum:
                                    - HOURS
                                    - DAYS
                                    - WEEKS
                                    - MONTHS
                                    - YEARS
                              additionalProperties: false
                          required:
                            - type
                            - params
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - review
                            params:
                              type: object
                              properties:
                                stages:
                                  type: array
                                  items:
                                    oneOf:
                                      - type: object
                                        properties:
                                          all:
                                            type: array
                                            items:
                                              oneOf:
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - USER
                                                      description: Entity type
                                                    id:
                                                      type: string
                                                      description: Entity ID
                                                    displayName:
                                                      type: string
                                                      description: Entity display name
                                                  required:
                                                    - type
                                                    - id
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - GROUP
                                                      description: Entity type
                                                    id:
                                                      type: number
                                                      description: Entity ID
                                                    iamId:
                                                      type: string
                                                      description: IAM ID
                                                    name:
                                                      type: string
                                                      description: Entity display name
                                                  required:
                                                    - type
                                                    - name
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - PERMISSION
                                                    permission:
                                                      type: string
                                                      enum:
                                                        - GOVERNANCE
                                                        - USER_ADMIN
                                                        - AUDIT
                                                      description: Global permission
                                                  required:
                                                    - type
                                                    - permission
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - DOMAIN PERMISSION
                                                    permission:
                                                      type: string
                                                      enum:
                                                        - Manage Policies
                                                        - Audit Activity
                                                        - Manage Data Products
                                                        - Manage Identifiers
                                                      description: Domain permission
                                                    domainId:
                                                      type: string
                                                      description: Domain ID
                                                  required:
                                                    - type
                                                    - permission
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - ATTRIBUTE
                                                    key:
                                                      type: string
                                                      description: Attribute key
                                                    value:
                                                      type: string
                                                      description: Attribute value
                                                  required:
                                                    - type
                                                    - key
                                                    - value
                                            minItems: 1
                                        required:
                                          - all
                                      - type: object
                                        properties:
                                          any:
                                            type: array
                                            items:
                                              oneOf:
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - USER
                                                      description: Entity type
                                                    id:
                                                      type: string
                                                      description: Entity ID
                                                    displayName:
                                                      type: string
                                                      description: Entity display name
                                                  required:
                                                    - type
                                                    - id
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - GROUP
                                                      description: Entity type
                                                    id:
                                                      type: number
                                                      description: Entity ID
                                                    iamId:
                                                      type: string
                                                      description: IAM ID
                                                    name:
                                                      type: string
                                                      description: Entity display name
                                                  required:
                                                    - type
                                                    - name
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - PERMISSION
                                                    permission:
                                                      type: string
                                                      enum:
                                                        - GOVERNANCE
                                                        - USER_ADMIN
                                                        - AUDIT
                                                      description: Global permission
                                                  required:
                                                    - type
                                                    - permission
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - DOMAIN PERMISSION
                                                    permission:
                                                      type: string
                                                      enum:
                                                        - Manage Policies
                                                        - Audit Activity
                                                        - Manage Data Products
                                                        - Manage Identifiers
                                                      description: Domain permission
                                                    domainId:
                                                      type: string
                                                      description: Domain ID
                                                  required:
                                                    - type
                                                    - permission
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - ATTRIBUTE
                                                    key:
                                                      type: string
                                                      description: Attribute key
                                                    value:
                                                      type: string
                                                      description: Attribute value
                                                  required:
                                                    - type
                                                    - key
                                                    - value
                                            minItems: 1
                                        required:
                                          - any
                                  description: Array of stages for manual review
                              required:
                                - stages
                          required:
                            - type
                            - params
                  required:
                    - rules
                    - defaultEvent
                  description: >-
                    Data access policy. If not provided, the asset will inherit
                    from a parent asset.
              nullable: true
              description: >-
                Data access policy. If not provided, the asset will inherit from
                a parent asset.
            maskingExceptionReviewFlow:
              oneOf:
                - type: object
                  properties:
                    version:
                      type: string
                      description: Policy schema version
                    rules:
                      type: array
                      items:
                        type: object
                        properties:
                          conditions:
                            oneOf:
                              - type: object
                                properties:
                                  all:
                                    type: array
                                    items: {}
                                required:
                                  - all
                                additionalProperties: false
                              - type: object
                                properties:
                                  any:
                                    type: array
                                    items: {}
                                required:
                                  - any
                                additionalProperties: false
                              - type: object
                                properties:
                                  not: {}
                                required:
                                  - not
                                additionalProperties: false
                          event:
                            discriminator:
                              propertyName: type
                            oneOf:
                              - type: object
                                properties:
                                  type:
                                    type: string
                                    enum:
                                      - approve
                                  params:
                                    type: object
                                    properties:
                                      comment:
                                        type: string
                                      duration:
                                        type: number
                                        minimum: 1
                                      durationUnit:
                                        type: string
                                        enum:
                                          - HOURS
                                          - DAYS
                                          - WEEKS
                                          - MONTHS
                                          - YEARS
                                    additionalProperties: false
                                required:
                                  - type
                                  - params
                              - type: object
                                properties:
                                  type:
                                    type: string
                                    enum:
                                      - deny
                                  params:
                                    type: object
                                    properties:
                                      comment:
                                        type: string
                                required:
                                  - type
                                  - params
                              - type: object
                                properties:
                                  type:
                                    type: string
                                    enum:
                                      - review
                                  params:
                                    type: object
                                    properties:
                                      stages:
                                        type: array
                                        items:
                                          oneOf:
                                            - type: object
                                              properties:
                                                all:
                                                  type: array
                                                  items:
                                                    oneOf:
                                                      - type: object
                                                        properties:
                                                          type:
                                                            type: string
                                                            enum:
                                                              - USER
                                                            description: Entity type
                                                          id:
                                                            type: string
                                                            description: Entity ID
                                                          displayName:
                                                            type: string
                                                            description: Entity display name
                                                        required:
                                                          - type
                                                          - id
                                                      - type: object
                                                        properties:
                                                          type:
                                                            type: string
                                                            enum:
                                                              - GROUP
                                                            description: Entity type
                                                          id:
                                                            type: number
                                                            description: Entity ID
                                                          iamId:
                                                            type: string
                                                            description: IAM ID
                                                          name:
                                                            type: string
                                                            description: Entity display name
                                                        required:
                                                          - type
                                                          - name
                                                      - type: object
                                                        properties:
                                                          type:
                                                            type: string
                                                            enum:
                                                              - PERMISSION
                                                          permission:
                                                            type: string
                                                            enum:
                                                              - GOVERNANCE
                                                              - USER_ADMIN
                                                              - AUDIT
                                                            description: Global permission
                                                        required:
                                                          - type
                                                          - permission
                                                      - type: object
                                                        properties:
                                                          type:
                                                            type: string
                                                            enum:
                                                              - DOMAIN PERMISSION
                                                          permission:
                                                            type: string
                                                            enum:
                                                              - Manage Policies
                                                              - Audit Activity
                                                              - Manage Data Products
                                                              - Manage Identifiers
                                                            description: Domain permission
                                                          domainId:
                                                            type: string
                                                            description: Domain ID
                                                        required:
                                                          - type
                                                          - permission
                                                      - type: object
                                                        properties:
                                                          type:
                                                            type: string
                                                            enum:
                                                              - ATTRIBUTE
                                                          key:
                                                            type: string
                                                            description: Attribute key
                                                          value:
                                                            type: string
                                                            description: Attribute value
                                                        required:
                                                          - type
                                                          - key
                                                          - value
                                                  minItems: 1
                                              required:
                                                - all
                                            - type: object
                                              properties:
                                                any:
                                                  type: array
                                                  items:
                                                    oneOf:
                                                      - type: object
                                                        properties:
                                                          type:
                                                            type: string
                                                            enum:
                                                              - USER
                                                            description: Entity type
                                                          id:
                                                            type: string
                                                            description: Entity ID
                                                          displayName:
                                                            type: string
                                                            description: Entity display name
                                                        required:
                                                          - type
                                                          - id
                                                      - type: object
                                                        properties:
                                                          type:
                                                            type: string
                                                            enum:
                                                              - GROUP
                                                            description: Entity type
                                                          id:
                                                            type: number
                                                            description: Entity ID
                                                          iamId:
                                                            type: string
                                                            description: IAM ID
                                                          name:
                                                            type: string
                                                            description: Entity display name
                                                        required:
                                                          - type
                                                          - name
                                                      - type: object
                                                        properties:
                                                          type:
                                                            type: string
                                                            enum:
                                                              - PERMISSION
                                                          permission:
                                                            type: string
                                                            enum:
                                                              - GOVERNANCE
                                                              - USER_ADMIN
                                                              - AUDIT
                                                            description: Global permission
                                                        required:
                                                          - type
                                                          - permission
                                                      - type: object
                                                        properties:
                                                          type:
                                                            type: string
                                                            enum:
                                                              - DOMAIN PERMISSION
                                                          permission:
                                                            type: string
                                                            enum:
                                                              - Manage Policies
                                                              - Audit Activity
                                                              - Manage Data Products
                                                              - Manage Identifiers
                                                            description: Domain permission
                                                          domainId:
                                                            type: string
                                                            description: Domain ID
                                                        required:
                                                          - type
                                                          - permission
                                                      - type: object
                                                        properties:
                                                          type:
                                                            type: string
                                                            enum:
                                                              - ATTRIBUTE
                                                          key:
                                                            type: string
                                                            description: Attribute key
                                                          value:
                                                            type: string
                                                            description: Attribute value
                                                        required:
                                                          - type
                                                          - key
                                                          - value
                                                  minItems: 1
                                              required:
                                                - any
                                        description: Array of stages for manual review
                                    required:
                                      - stages
                                required:
                                  - type
                                  - params
                              - type: object
                                properties:
                                  type:
                                    type: string
                                    enum:
                                      - dataProductPolicy
                                required:
                                  - type
                        required:
                          - conditions
                          - event
                    defaultEvent:
                      discriminator:
                        propertyName: type
                      oneOf:
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - approve
                            params:
                              type: object
                              properties:
                                comment:
                                  type: string
                                duration:
                                  type: number
                                  minimum: 1
                                durationUnit:
                                  type: string
                                  enum:
                                    - HOURS
                                    - DAYS
                                    - WEEKS
                                    - MONTHS
                                    - YEARS
                              additionalProperties: false
                          required:
                            - type
                            - params
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - review
                            params:
                              type: object
                              properties:
                                stages:
                                  type: array
                                  items:
                                    oneOf:
                                      - type: object
                                        properties:
                                          all:
                                            type: array
                                            items:
                                              oneOf:
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - USER
                                                      description: Entity type
                                                    id:
                                                      type: string
                                                      description: Entity ID
                                                    displayName:
                                                      type: string
                                                      description: Entity display name
                                                  required:
                                                    - type
                                                    - id
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - GROUP
                                                      description: Entity type
                                                    id:
                                                      type: number
                                                      description: Entity ID
                                                    iamId:
                                                      type: string
                                                      description: IAM ID
                                                    name:
                                                      type: string
                                                      description: Entity display name
                                                  required:
                                                    - type
                                                    - name
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - PERMISSION
                                                    permission:
                                                      type: string
                                                      enum:
                                                        - GOVERNANCE
                                                        - USER_ADMIN
                                                        - AUDIT
                                                      description: Global permission
                                                  required:
                                                    - type
                                                    - permission
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - DOMAIN PERMISSION
                                                    permission:
                                                      type: string
                                                      enum:
                                                        - Manage Policies
                                                        - Audit Activity
                                                        - Manage Data Products
                                                        - Manage Identifiers
                                                      description: Domain permission
                                                    domainId:
                                                      type: string
                                                      description: Domain ID
                                                  required:
                                                    - type
                                                    - permission
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - ATTRIBUTE
                                                    key:
                                                      type: string
                                                      description: Attribute key
                                                    value:
                                                      type: string
                                                      description: Attribute value
                                                  required:
                                                    - type
                                                    - key
                                                    - value
                                            minItems: 1
                                        required:
                                          - all
                                      - type: object
                                        properties:
                                          any:
                                            type: array
                                            items:
                                              oneOf:
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - USER
                                                      description: Entity type
                                                    id:
                                                      type: string
                                                      description: Entity ID
                                                    displayName:
                                                      type: string
                                                      description: Entity display name
                                                  required:
                                                    - type
                                                    - id
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - GROUP
                                                      description: Entity type
                                                    id:
                                                      type: number
                                                      description: Entity ID
                                                    iamId:
                                                      type: string
                                                      description: IAM ID
                                                    name:
                                                      type: string
                                                      description: Entity display name
                                                  required:
                                                    - type
                                                    - name
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - PERMISSION
                                                    permission:
                                                      type: string
                                                      enum:
                                                        - GOVERNANCE
                                                        - USER_ADMIN
                                                        - AUDIT
                                                      description: Global permission
                                                  required:
                                                    - type
                                                    - permission
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - DOMAIN PERMISSION
                                                    permission:
                                                      type: string
                                                      enum:
                                                        - Manage Policies
                                                        - Audit Activity
                                                        - Manage Data Products
                                                        - Manage Identifiers
                                                      description: Domain permission
                                                    domainId:
                                                      type: string
                                                      description: Domain ID
                                                  required:
                                                    - type
                                                    - permission
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - ATTRIBUTE
                                                    key:
                                                      type: string
                                                      description: Attribute key
                                                    value:
                                                      type: string
                                                      description: Attribute value
                                                  required:
                                                    - type
                                                    - key
                                                    - value
                                            minItems: 1
                                        required:
                                          - any
                                  description: Array of stages for manual review
                              required:
                                - stages
                          required:
                            - type
                            - params
                  required:
                    - rules
                    - defaultEvent
                  description: >-
                    Masking exception policy. If not provided, the asset will
                    inherit from a parent asset.
              nullable: true
              description: >-
                Masking exception policy. If not provided, the asset will
                inherit from a parent asset.
          required:
            - type
      title: Patch Asset
    AssetRequestForms:
      type: object
      properties:
        dataAccessForm:
          type: object
          properties:
            id:
              type: string
              format: uuid
            name:
              type: string
            fields:
              type: array
              items:
                discriminator:
                  propertyName: type
                oneOf:
                  - type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                      type:
                        type: string
                        enum:
                          - DROPDOWN
                          - CHECKBOXES
                      label:
                        type: string
                      required:
                        default: true
                        type: boolean
                      options:
                        type: array
                        items:
                          type: object
                          properties:
                            value:
                              type: string
                          required:
                            - value
                    required:
                      - id
                      - type
                      - label
                      - options
                    title: Selection Form Field
                  - type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                      type:
                        type: string
                        enum:
                          - SHORT_ANSWER
                      label:
                        type: string
                      required:
                        default: true
                        type: boolean
                    required:
                      - id
                      - type
                      - label
                    title: Short Answer Form Field
                  - type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                      type:
                        type: string
                        enum:
                          - ACCESS_DURATION
                      label:
                        type: string
                        enum:
                          - How long do you need access to this data?
                      required:
                        type: boolean
                        enum:
                          - true
                    required:
                      - id
                      - type
                      - label
                      - required
                    title: Access Duration Form Field
              title: RequestFormFields
            policy:
              type: object
              properties:
                version:
                  type: string
                  description: Policy schema version
                rules:
                  type: array
                  items:
                    type: object
                    properties:
                      conditions:
                        oneOf:
                          - type: object
                            properties:
                              all:
                                type: array
                                items: {}
                            required:
                              - all
                            additionalProperties: false
                          - type: object
                            properties:
                              any:
                                type: array
                                items: {}
                            required:
                              - any
                            additionalProperties: false
                          - type: object
                            properties:
                              not: {}
                            required:
                              - not
                            additionalProperties: false
                      event:
                        discriminator:
                          propertyName: type
                        oneOf:
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - approve
                              params:
                                type: object
                                properties:
                                  comment:
                                    type: string
                                  duration:
                                    type: number
                                    minimum: 1
                                  durationUnit:
                                    type: string
                                    enum:
                                      - HOURS
                                      - DAYS
                                      - WEEKS
                                      - MONTHS
                                      - YEARS
                                additionalProperties: false
                            required:
                              - type
                              - params
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - deny
                              params:
                                type: object
                                properties:
                                  comment:
                                    type: string
                            required:
                              - type
                              - params
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - review
                              params:
                                type: object
                                properties:
                                  stages:
                                    type: array
                                    items:
                                      oneOf:
                                        - type: object
                                          properties:
                                            all:
                                              type: array
                                              items:
                                                oneOf:
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - USER
                                                        description: Entity type
                                                      id:
                                                        type: string
                                                        description: Entity ID
                                                      displayName:
                                                        type: string
                                                        description: Entity display name
                                                    required:
                                                      - type
                                                      - id
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - GROUP
                                                        description: Entity type
                                                      id:
                                                        type: number
                                                        description: Entity ID
                                                      iamId:
                                                        type: string
                                                        description: IAM ID
                                                      name:
                                                        type: string
                                                        description: Entity display name
                                                    required:
                                                      - type
                                                      - name
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - PERMISSION
                                                      permission:
                                                        type: string
                                                        enum:
                                                          - GOVERNANCE
                                                          - USER_ADMIN
                                                          - AUDIT
                                                        description: Global permission
                                                    required:
                                                      - type
                                                      - permission
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - DOMAIN PERMISSION
                                                      permission:
                                                        type: string
                                                        enum:
                                                          - Manage Policies
                                                          - Audit Activity
                                                          - Manage Data Products
                                                          - Manage Identifiers
                                                        description: Domain permission
                                                      domainId:
                                                        type: string
                                                        description: Domain ID
                                                    required:
                                                      - type
                                                      - permission
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - ATTRIBUTE
                                                      key:
                                                        type: string
                                                        description: Attribute key
                                                      value:
                                                        type: string
                                                        description: Attribute value
                                                    required:
                                                      - type
                                                      - key
                                                      - value
                                              minItems: 1
                                          required:
                                            - all
                                        - type: object
                                          properties:
                                            any:
                                              type: array
                                              items:
                                                oneOf:
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - USER
                                                        description: Entity type
                                                      id:
                                                        type: string
                                                        description: Entity ID
                                                      displayName:
                                                        type: string
                                                        description: Entity display name
                                                    required:
                                                      - type
                                                      - id
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - GROUP
                                                        description: Entity type
                                                      id:
                                                        type: number
                                                        description: Entity ID
                                                      iamId:
                                                        type: string
                                                        description: IAM ID
                                                      name:
                                                        type: string
                                                        description: Entity display name
                                                    required:
                                                      - type
                                                      - name
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - PERMISSION
                                                      permission:
                                                        type: string
                                                        enum:
                                                          - GOVERNANCE
                                                          - USER_ADMIN
                                                          - AUDIT
                                                        description: Global permission
                                                    required:
                                                      - type
                                                      - permission
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - DOMAIN PERMISSION
                                                      permission:
                                                        type: string
                                                        enum:
                                                          - Manage Policies
                                                          - Audit Activity
                                                          - Manage Data Products
                                                          - Manage Identifiers
                                                        description: Domain permission
                                                      domainId:
                                                        type: string
                                                        description: Domain ID
                                                    required:
                                                      - type
                                                      - permission
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - ATTRIBUTE
                                                      key:
                                                        type: string
                                                        description: Attribute key
                                                      value:
                                                        type: string
                                                        description: Attribute value
                                                    required:
                                                      - type
                                                      - key
                                                      - value
                                              minItems: 1
                                          required:
                                            - any
                                    description: Array of stages for manual review
                                required:
                                  - stages
                            required:
                              - type
                              - params
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - dataProductPolicy
                            required:
                              - type
                    required:
                      - conditions
                      - event
                defaultEvent:
                  discriminator:
                    propertyName: type
                  oneOf:
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - approve
                        params:
                          type: object
                          properties:
                            comment:
                              type: string
                            duration:
                              type: number
                              minimum: 1
                            durationUnit:
                              type: string
                              enum:
                                - HOURS
                                - DAYS
                                - WEEKS
                                - MONTHS
                                - YEARS
                          additionalProperties: false
                      required:
                        - type
                        - params
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - deny
                        params:
                          type: object
                          properties:
                            comment:
                              type: string
                      required:
                        - type
                        - params
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - review
                        params:
                          type: object
                          properties:
                            stages:
                              type: array
                              items:
                                oneOf:
                                  - type: object
                                    properties:
                                      all:
                                        type: array
                                        items:
                                          oneOf:
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - USER
                                                  description: Entity type
                                                id:
                                                  type: string
                                                  description: Entity ID
                                                displayName:
                                                  type: string
                                                  description: Entity display name
                                              required:
                                                - type
                                                - id
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - GROUP
                                                  description: Entity type
                                                id:
                                                  type: number
                                                  description: Entity ID
                                                iamId:
                                                  type: string
                                                  description: IAM ID
                                                name:
                                                  type: string
                                                  description: Entity display name
                                              required:
                                                - type
                                                - name
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - PERMISSION
                                                permission:
                                                  type: string
                                                  enum:
                                                    - GOVERNANCE
                                                    - USER_ADMIN
                                                    - AUDIT
                                                  description: Global permission
                                              required:
                                                - type
                                                - permission
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - DOMAIN PERMISSION
                                                permission:
                                                  type: string
                                                  enum:
                                                    - Manage Policies
                                                    - Audit Activity
                                                    - Manage Data Products
                                                    - Manage Identifiers
                                                  description: Domain permission
                                                domainId:
                                                  type: string
                                                  description: Domain ID
                                              required:
                                                - type
                                                - permission
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - ATTRIBUTE
                                                key:
                                                  type: string
                                                  description: Attribute key
                                                value:
                                                  type: string
                                                  description: Attribute value
                                              required:
                                                - type
                                                - key
                                                - value
                                        minItems: 1
                                    required:
                                      - all
                                  - type: object
                                    properties:
                                      any:
                                        type: array
                                        items:
                                          oneOf:
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - USER
                                                  description: Entity type
                                                id:
                                                  type: string
                                                  description: Entity ID
                                                displayName:
                                                  type: string
                                                  description: Entity display name
                                              required:
                                                - type
                                                - id
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - GROUP
                                                  description: Entity type
                                                id:
                                                  type: number
                                                  description: Entity ID
                                                iamId:
                                                  type: string
                                                  description: IAM ID
                                                name:
                                                  type: string
                                                  description: Entity display name
                                              required:
                                                - type
                                                - name
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - PERMISSION
                                                permission:
                                                  type: string
                                                  enum:
                                                    - GOVERNANCE
                                                    - USER_ADMIN
                                                    - AUDIT
                                                  description: Global permission
                                              required:
                                                - type
                                                - permission
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - DOMAIN PERMISSION
                                                permission:
                                                  type: string
                                                  enum:
                                                    - Manage Policies
                                                    - Audit Activity
                                                    - Manage Data Products
                                                    - Manage Identifiers
                                                  description: Domain permission
                                                domainId:
                                                  type: string
                                                  description: Domain ID
                                              required:
                                                - type
                                                - permission
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - ATTRIBUTE
                                                key:
                                                  type: string
                                                  description: Attribute key
                                                value:
                                                  type: string
                                                  description: Attribute value
                                              required:
                                                - type
                                                - key
                                                - value
                                        minItems: 1
                                    required:
                                      - any
                              description: Array of stages for manual review
                          required:
                            - stages
                      required:
                        - type
                        - params
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - dataProductPolicy
                      required:
                        - type
              required:
                - rules
                - defaultEvent
            dataUseAgreements:
              default: *ref_31
              type: array
              items:
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                  name:
                    type: string
                    description: The name of data use agreement
                  body:
                    type: string
                    description: The contents of data use agreement
                required:
                  - id
                  - name
                  - body
              title: Request Form Data Use Agreements
            createdBy:
              type: object
              properties:
                globalUserId:
                  type: string
                  format: uuid
                  description: Immuta global user ID
                name:
                  type: string
                  description: Display name
              required:
                - globalUserId
                - name
              description: The user who originally created the request form
            createdAt:
              oneOf:
                - type: string
                  format: date-time
                - type: string
                  format: date-time
            updatedBy:
              type: object
              properties:
                globalUserId:
                  type: string
                  format: uuid
                  description: Immuta global user ID
                name:
                  type: string
                  description: Display name
              required:
                - globalUserId
                - name
              description: The user who last updated the request form
            updatedAt:
              oneOf:
                - type: string
                  format: date-time
                - type: string
                  format: date-time
            version:
              type: string
              format: cuid
              description: The current version of the request form
            inheritedFrom:
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                  description: Asset ID
                name:
                  type: string
                  minLength: 1
                  description: Asset name
                type:
                  type: string
                  enum:
                    - DATA_OBJECT
                createdAt:
                  oneOf:
                    - type: string
                      format: date-time
                    - type: string
                      format: date-time
                updatedAt:
                  oneOf:
                    - type: string
                      format: date-time
                    - type: string
                      format: date-time
                dagTagId:
                  oneOf:
                    - type: number
                  nullable: true
                requestId:
                  type: string
                  format: cuid
                  description: If requested, the ID of the access request for the asset
                status:
                  type: string
                  enum:
                    - APPROVED
                    - CANCELED
                    - DENIED
                    - PENDING
                    - NONE
                    - PUBLISHER
                    - REVOKED
                    - EXPIRED
                  example: PENDING
                metadata:
                  type: object
                  properties:
                    subjectMatterExperts:
                      default: *ref_29
                      type: array
                      items:
                        type: object
                        properties:
                          id:
                            type: string
                            format: uuid
                            description: Immuta global user ID of the subject matter expert
                          username:
                            type: string
                          name:
                            type: string
                        required:
                          - id
                    objectPath:
                      type: array
                      items:
                        type: string
                    technology:
                      type: string
                      enum:
                        - Snowflake
                        - PostgreSQL
                        - Databricks
                        - Glue
                        - MySQL
                        - Teradata
                        - MariaDB
                        - Oracle
                        - SQLServer
                        - Trino
                        - Redshift
                    legacyType:
                      type: string
                    dataSourceId:
                      type: number
                    description:
                      oneOf:
                        - type: string
                      nullable: true
                    externalLink:
                      oneOf:
                        - type: string
                      nullable: true
                  required:
                    - objectPath
                  description: Data object asset metadata
                registered:
                  default: true
                  type: boolean
                  description: Whether the asset has been registered
              required:
                - id
                - name
                - type
                - metadata
              title: Data Object Asset
          required:
            - id
            - name
            - fields
            - policy
            - createdBy
            - createdAt
            - updatedBy
            - updatedAt
            - version
        maskingExceptionForm:
          type: object
          properties:
            id:
              type: string
              format: uuid
            name:
              type: string
            fields:
              type: array
              items:
                discriminator:
                  propertyName: type
                oneOf:
                  - type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                      type:
                        type: string
                        enum:
                          - DROPDOWN
                          - CHECKBOXES
                      label:
                        type: string
                      required:
                        default: true
                        type: boolean
                      options:
                        type: array
                        items:
                          type: object
                          properties:
                            value:
                              type: string
                          required:
                            - value
                    required:
                      - id
                      - type
                      - label
                      - options
                    title: Selection Form Field
                  - type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                      type:
                        type: string
                        enum:
                          - SHORT_ANSWER
                      label:
                        type: string
                      required:
                        default: true
                        type: boolean
                    required:
                      - id
                      - type
                      - label
                    title: Short Answer Form Field
                  - type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                      type:
                        type: string
                        enum:
                          - ACCESS_DURATION
                      label:
                        type: string
                        enum:
                          - How long do you need access to this data?
                      required:
                        type: boolean
                        enum:
                          - true
                    required:
                      - id
                      - type
                      - label
                      - required
                    title: Access Duration Form Field
              title: RequestFormFields
            policy:
              type: object
              properties:
                version:
                  type: string
                  description: Policy schema version
                rules:
                  type: array
                  items:
                    type: object
                    properties:
                      conditions:
                        oneOf:
                          - type: object
                            properties:
                              all:
                                type: array
                                items: {}
                            required:
                              - all
                            additionalProperties: false
                          - type: object
                            properties:
                              any:
                                type: array
                                items: {}
                            required:
                              - any
                            additionalProperties: false
                          - type: object
                            properties:
                              not: {}
                            required:
                              - not
                            additionalProperties: false
                      event:
                        discriminator:
                          propertyName: type
                        oneOf:
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - approve
                              params:
                                type: object
                                properties:
                                  comment:
                                    type: string
                                  duration:
                                    type: number
                                    minimum: 1
                                  durationUnit:
                                    type: string
                                    enum:
                                      - HOURS
                                      - DAYS
                                      - WEEKS
                                      - MONTHS
                                      - YEARS
                                additionalProperties: false
                            required:
                              - type
                              - params
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - deny
                              params:
                                type: object
                                properties:
                                  comment:
                                    type: string
                            required:
                              - type
                              - params
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - review
                              params:
                                type: object
                                properties:
                                  stages:
                                    type: array
                                    items:
                                      oneOf:
                                        - type: object
                                          properties:
                                            all:
                                              type: array
                                              items:
                                                oneOf:
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - USER
                                                        description: Entity type
                                                      id:
                                                        type: string
                                                        description: Entity ID
                                                      displayName:
                                                        type: string
                                                        description: Entity display name
                                                    required:
                                                      - type
                                                      - id
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - GROUP
                                                        description: Entity type
                                                      id:
                                                        type: number
                                                        description: Entity ID
                                                      iamId:
                                                        type: string
                                                        description: IAM ID
                                                      name:
                                                        type: string
                                                        description: Entity display name
                                                    required:
                                                      - type
                                                      - name
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - PERMISSION
                                                      permission:
                                                        type: string
                                                        enum:
                                                          - GOVERNANCE
                                                          - USER_ADMIN
                                                          - AUDIT
                                                        description: Global permission
                                                    required:
                                                      - type
                                                      - permission
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - DOMAIN PERMISSION
                                                      permission:
                                                        type: string
                                                        enum:
                                                          - Manage Policies
                                                          - Audit Activity
                                                          - Manage Data Products
                                                          - Manage Identifiers
                                                        description: Domain permission
                                                      domainId:
                                                        type: string
                                                        description: Domain ID
                                                    required:
                                                      - type
                                                      - permission
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - ATTRIBUTE
                                                      key:
                                                        type: string
                                                        description: Attribute key
                                                      value:
                                                        type: string
                                                        description: Attribute value
                                                    required:
                                                      - type
                                                      - key
                                                      - value
                                              minItems: 1
                                          required:
                                            - all
                                        - type: object
                                          properties:
                                            any:
                                              type: array
                                              items:
                                                oneOf:
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - USER
                                                        description: Entity type
                                                      id:
                                                        type: string
                                                        description: Entity ID
                                                      displayName:
                                                        type: string
                                                        description: Entity display name
                                                    required:
                                                      - type
                                                      - id
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - GROUP
                                                        description: Entity type
                                                      id:
                                                        type: number
                                                        description: Entity ID
                                                      iamId:
                                                        type: string
                                                        description: IAM ID
                                                      name:
                                                        type: string
                                                        description: Entity display name
                                                    required:
                                                      - type
                                                      - name
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - PERMISSION
                                                      permission:
                                                        type: string
                                                        enum:
                                                          - GOVERNANCE
                                                          - USER_ADMIN
                                                          - AUDIT
                                                        description: Global permission
                                                    required:
                                                      - type
                                                      - permission
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - DOMAIN PERMISSION
                                                      permission:
                                                        type: string
                                                        enum:
                                                          - Manage Policies
                                                          - Audit Activity
                                                          - Manage Data Products
                                                          - Manage Identifiers
                                                        description: Domain permission
                                                      domainId:
                                                        type: string
                                                        description: Domain ID
                                                    required:
                                                      - type
                                                      - permission
                                                  - type: object
                                                    properties:
                                                      type:
                                                        type: string
                                                        enum:
                                                          - ATTRIBUTE
                                                      key:
                                                        type: string
                                                        description: Attribute key
                                                      value:
                                                        type: string
                                                        description: Attribute value
                                                    required:
                                                      - type
                                                      - key
                                                      - value
                                              minItems: 1
                                          required:
                                            - any
                                    description: Array of stages for manual review
                                required:
                                  - stages
                            required:
                              - type
                              - params
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - dataProductPolicy
                            required:
                              - type
                    required:
                      - conditions
                      - event
                defaultEvent:
                  discriminator:
                    propertyName: type
                  oneOf:
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - approve
                        params:
                          type: object
                          properties:
                            comment:
                              type: string
                            duration:
                              type: number
                              minimum: 1
                            durationUnit:
                              type: string
                              enum:
                                - HOURS
                                - DAYS
                                - WEEKS
                                - MONTHS
                                - YEARS
                          additionalProperties: false
                      required:
                        - type
                        - params
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - deny
                        params:
                          type: object
                          properties:
                            comment:
                              type: string
                      required:
                        - type
                        - params
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - review
                        params:
                          type: object
                          properties:
                            stages:
                              type: array
                              items:
                                oneOf:
                                  - type: object
                                    properties:
                                      all:
                                        type: array
                                        items:
                                          oneOf:
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - USER
                                                  description: Entity type
                                                id:
                                                  type: string
                                                  description: Entity ID
                                                displayName:
                                                  type: string
                                                  description: Entity display name
                                              required:
                                                - type
                                                - id
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - GROUP
                                                  description: Entity type
                                                id:
                                                  type: number
                                                  description: Entity ID
                                                iamId:
                                                  type: string
                                                  description: IAM ID
                                                name:
                                                  type: string
                                                  description: Entity display name
                                              required:
                                                - type
                                                - name
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - PERMISSION
                                                permission:
                                                  type: string
                                                  enum:
                                                    - GOVERNANCE
                                                    - USER_ADMIN
                                                    - AUDIT
                                                  description: Global permission
                                              required:
                                                - type
                                                - permission
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - DOMAIN PERMISSION
                                                permission:
                                                  type: string
                                                  enum:
                                                    - Manage Policies
                                                    - Audit Activity
                                                    - Manage Data Products
                                                    - Manage Identifiers
                                                  description: Domain permission
                                                domainId:
                                                  type: string
                                                  description: Domain ID
                                              required:
                                                - type
                                                - permission
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - ATTRIBUTE
                                                key:
                                                  type: string
                                                  description: Attribute key
                                                value:
                                                  type: string
                                                  description: Attribute value
                                              required:
                                                - type
                                                - key
                                                - value
                                        minItems: 1
                                    required:
                                      - all
                                  - type: object
                                    properties:
                                      any:
                                        type: array
                                        items:
                                          oneOf:
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - USER
                                                  description: Entity type
                                                id:
                                                  type: string
                                                  description: Entity ID
                                                displayName:
                                                  type: string
                                                  description: Entity display name
                                              required:
                                                - type
                                                - id
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - GROUP
                                                  description: Entity type
                                                id:
                                                  type: number
                                                  description: Entity ID
                                                iamId:
                                                  type: string
                                                  description: IAM ID
                                                name:
                                                  type: string
                                                  description: Entity display name
                                              required:
                                                - type
                                                - name
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - PERMISSION
                                                permission:
                                                  type: string
                                                  enum:
                                                    - GOVERNANCE
                                                    - USER_ADMIN
                                                    - AUDIT
                                                  description: Global permission
                                              required:
                                                - type
                                                - permission
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - DOMAIN PERMISSION
                                                permission:
                                                  type: string
                                                  enum:
                                                    - Manage Policies
                                                    - Audit Activity
                                                    - Manage Data Products
                                                    - Manage Identifiers
                                                  description: Domain permission
                                                domainId:
                                                  type: string
                                                  description: Domain ID
                                              required:
                                                - type
                                                - permission
                                            - type: object
                                              properties:
                                                type:
                                                  type: string
                                                  enum:
                                                    - ATTRIBUTE
                                                key:
                                                  type: string
                                                  description: Attribute key
                                                value:
                                                  type: string
                                                  description: Attribute value
                                              required:
                                                - type
                                                - key
                                                - value
                                        minItems: 1
                                    required:
                                      - any
                              description: Array of stages for manual review
                          required:
                            - stages
                      required:
                        - type
                        - params
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - dataProductPolicy
                      required:
                        - type
              required:
                - rules
                - defaultEvent
            dataUseAgreements:
              default: *ref_31
              type: array
              items:
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                  name:
                    type: string
                    description: The name of data use agreement
                  body:
                    type: string
                    description: The contents of data use agreement
                required:
                  - id
                  - name
                  - body
              title: Request Form Data Use Agreements
            createdBy:
              type: object
              properties:
                globalUserId:
                  type: string
                  format: uuid
                  description: Immuta global user ID
                name:
                  type: string
                  description: Display name
              required:
                - globalUserId
                - name
              description: The user who originally created the request form
            createdAt:
              oneOf:
                - type: string
                  format: date-time
                - type: string
                  format: date-time
            updatedBy:
              type: object
              properties:
                globalUserId:
                  type: string
                  format: uuid
                  description: Immuta global user ID
                name:
                  type: string
                  description: Display name
              required:
                - globalUserId
                - name
              description: The user who last updated the request form
            updatedAt:
              oneOf:
                - type: string
                  format: date-time
                - type: string
                  format: date-time
            version:
              type: string
              format: cuid
              description: The current version of the request form
            inheritedFrom:
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                  description: Asset ID
                name:
                  type: string
                  minLength: 1
                  description: Asset name
                type:
                  type: string
                  enum:
                    - DATA_OBJECT
                createdAt:
                  oneOf:
                    - type: string
                      format: date-time
                    - type: string
                      format: date-time
                updatedAt:
                  oneOf:
                    - type: string
                      format: date-time
                    - type: string
                      format: date-time
                dagTagId:
                  oneOf:
                    - type: number
                  nullable: true
                requestId:
                  type: string
                  format: cuid
                  description: If requested, the ID of the access request for the asset
                status:
                  type: string
                  enum:
                    - APPROVED
                    - CANCELED
                    - DENIED
                    - PENDING
                    - NONE
                    - PUBLISHER
                    - REVOKED
                    - EXPIRED
                  example: PENDING
                metadata:
                  type: object
                  properties:
                    subjectMatterExperts:
                      default: *ref_29
                      type: array
                      items:
                        type: object
                        properties:
                          id:
                            type: string
                            format: uuid
                            description: Immuta global user ID of the subject matter expert
                          username:
                            type: string
                          name:
                            type: string
                        required:
                          - id
                    objectPath:
                      type: array
                      items:
                        type: string
                    technology:
                      type: string
                      enum:
                        - Snowflake
                        - PostgreSQL
                        - Databricks
                        - Glue
                        - MySQL
                        - Teradata
                        - MariaDB
                        - Oracle
                        - SQLServer
                        - Trino
                        - Redshift
                    legacyType:
                      type: string
                    dataSourceId:
                      type: number
                    description:
                      oneOf:
                        - type: string
                      nullable: true
                    externalLink:
                      oneOf:
                        - type: string
                      nullable: true
                  required:
                    - objectPath
                  description: Data object asset metadata
                registered:
                  default: true
                  type: boolean
                  description: Whether the asset has been registered
              required:
                - id
                - name
                - type
                - metadata
              title: Data Object Asset
          required:
            - id
            - name
            - fields
            - policy
            - createdBy
            - createdAt
            - updatedBy
            - updatedAt
            - version
      required:
        - dataAccessForm
    AssetReviewFlows:
      type: object
      properties:
        dataAccessReviewFlow:
          type: object
          properties:
            version:
              type: string
              description: Policy schema version
            rules:
              type: array
              items:
                type: object
                properties:
                  conditions:
                    oneOf:
                      - type: object
                        properties:
                          all:
                            type: array
                            items: {}
                        required:
                          - all
                        additionalProperties: false
                      - type: object
                        properties:
                          any:
                            type: array
                            items: {}
                        required:
                          - any
                        additionalProperties: false
                      - type: object
                        properties:
                          not: {}
                        required:
                          - not
                        additionalProperties: false
                  event:
                    discriminator:
                      propertyName: type
                    oneOf:
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - approve
                          params:
                            type: object
                            properties:
                              comment:
                                type: string
                              duration:
                                type: number
                                minimum: 1
                              durationUnit:
                                type: string
                                enum:
                                  - HOURS
                                  - DAYS
                                  - WEEKS
                                  - MONTHS
                                  - YEARS
                            additionalProperties: false
                        required:
                          - type
                          - params
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - deny
                          params:
                            type: object
                            properties:
                              comment:
                                type: string
                        required:
                          - type
                          - params
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - review
                          params:
                            type: object
                            properties:
                              stages:
                                type: array
                                items:
                                  oneOf:
                                    - type: object
                                      properties:
                                        all:
                                          type: array
                                          items:
                                            oneOf:
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - USER
                                                    description: Entity type
                                                  id:
                                                    type: string
                                                    description: Entity ID
                                                  displayName:
                                                    type: string
                                                    description: Entity display name
                                                required:
                                                  - type
                                                  - id
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - GROUP
                                                    description: Entity type
                                                  id:
                                                    type: number
                                                    description: Entity ID
                                                  iamId:
                                                    type: string
                                                    description: IAM ID
                                                  name:
                                                    type: string
                                                    description: Entity display name
                                                required:
                                                  - type
                                                  - name
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - PERMISSION
                                                  permission:
                                                    type: string
                                                    enum:
                                                      - GOVERNANCE
                                                      - USER_ADMIN
                                                      - AUDIT
                                                    description: Global permission
                                                required:
                                                  - type
                                                  - permission
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - DOMAIN PERMISSION
                                                  permission:
                                                    type: string
                                                    enum:
                                                      - Manage Policies
                                                      - Audit Activity
                                                      - Manage Data Products
                                                      - Manage Identifiers
                                                    description: Domain permission
                                                  domainId:
                                                    type: string
                                                    description: Domain ID
                                                required:
                                                  - type
                                                  - permission
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - ATTRIBUTE
                                                  key:
                                                    type: string
                                                    description: Attribute key
                                                  value:
                                                    type: string
                                                    description: Attribute value
                                                required:
                                                  - type
                                                  - key
                                                  - value
                                          minItems: 1
                                      required:
                                        - all
                                    - type: object
                                      properties:
                                        any:
                                          type: array
                                          items:
                                            oneOf:
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - USER
                                                    description: Entity type
                                                  id:
                                                    type: string
                                                    description: Entity ID
                                                  displayName:
                                                    type: string
                                                    description: Entity display name
                                                required:
                                                  - type
                                                  - id
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - GROUP
                                                    description: Entity type
                                                  id:
                                                    type: number
                                                    description: Entity ID
                                                  iamId:
                                                    type: string
                                                    description: IAM ID
                                                  name:
                                                    type: string
                                                    description: Entity display name
                                                required:
                                                  - type
                                                  - name
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - PERMISSION
                                                  permission:
                                                    type: string
                                                    enum:
                                                      - GOVERNANCE
                                                      - USER_ADMIN
                                                      - AUDIT
                                                    description: Global permission
                                                required:
                                                  - type
                                                  - permission
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - DOMAIN PERMISSION
                                                  permission:
                                                    type: string
                                                    enum:
                                                      - Manage Policies
                                                      - Audit Activity
                                                      - Manage Data Products
                                                      - Manage Identifiers
                                                    description: Domain permission
                                                  domainId:
                                                    type: string
                                                    description: Domain ID
                                                required:
                                                  - type
                                                  - permission
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - ATTRIBUTE
                                                  key:
                                                    type: string
                                                    description: Attribute key
                                                  value:
                                                    type: string
                                                    description: Attribute value
                                                required:
                                                  - type
                                                  - key
                                                  - value
                                          minItems: 1
                                      required:
                                        - any
                                description: Array of stages for manual review
                            required:
                              - stages
                        required:
                          - type
                          - params
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - dataProductPolicy
                        required:
                          - type
                required:
                  - conditions
                  - event
            defaultEvent:
              discriminator:
                propertyName: type
              oneOf:
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - approve
                    params:
                      type: object
                      properties:
                        comment:
                          type: string
                        duration:
                          type: number
                          minimum: 1
                        durationUnit:
                          type: string
                          enum:
                            - HOURS
                            - DAYS
                            - WEEKS
                            - MONTHS
                            - YEARS
                      additionalProperties: false
                  required:
                    - type
                    - params
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - review
                    params:
                      type: object
                      properties:
                        stages:
                          type: array
                          items:
                            oneOf:
                              - type: object
                                properties:
                                  all:
                                    type: array
                                    items:
                                      oneOf:
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - USER
                                              description: Entity type
                                            id:
                                              type: string
                                              description: Entity ID
                                            displayName:
                                              type: string
                                              description: Entity display name
                                          required:
                                            - type
                                            - id
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - GROUP
                                              description: Entity type
                                            id:
                                              type: number
                                              description: Entity ID
                                            iamId:
                                              type: string
                                              description: IAM ID
                                            name:
                                              type: string
                                              description: Entity display name
                                          required:
                                            - type
                                            - name
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - PERMISSION
                                            permission:
                                              type: string
                                              enum:
                                                - GOVERNANCE
                                                - USER_ADMIN
                                                - AUDIT
                                              description: Global permission
                                          required:
                                            - type
                                            - permission
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - DOMAIN PERMISSION
                                            permission:
                                              type: string
                                              enum:
                                                - Manage Policies
                                                - Audit Activity
                                                - Manage Data Products
                                                - Manage Identifiers
                                              description: Domain permission
                                            domainId:
                                              type: string
                                              description: Domain ID
                                          required:
                                            - type
                                            - permission
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - ATTRIBUTE
                                            key:
                                              type: string
                                              description: Attribute key
                                            value:
                                              type: string
                                              description: Attribute value
                                          required:
                                            - type
                                            - key
                                            - value
                                    minItems: 1
                                required:
                                  - all
                              - type: object
                                properties:
                                  any:
                                    type: array
                                    items:
                                      oneOf:
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - USER
                                              description: Entity type
                                            id:
                                              type: string
                                              description: Entity ID
                                            displayName:
                                              type: string
                                              description: Entity display name
                                          required:
                                            - type
                                            - id
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - GROUP
                                              description: Entity type
                                            id:
                                              type: number
                                              description: Entity ID
                                            iamId:
                                              type: string
                                              description: IAM ID
                                            name:
                                              type: string
                                              description: Entity display name
                                          required:
                                            - type
                                            - name
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - PERMISSION
                                            permission:
                                              type: string
                                              enum:
                                                - GOVERNANCE
                                                - USER_ADMIN
                                                - AUDIT
                                              description: Global permission
                                          required:
                                            - type
                                            - permission
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - DOMAIN PERMISSION
                                            permission:
                                              type: string
                                              enum:
                                                - Manage Policies
                                                - Audit Activity
                                                - Manage Data Products
                                                - Manage Identifiers
                                              description: Domain permission
                                            domainId:
                                              type: string
                                              description: Domain ID
                                          required:
                                            - type
                                            - permission
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - ATTRIBUTE
                                            key:
                                              type: string
                                              description: Attribute key
                                            value:
                                              type: string
                                              description: Attribute value
                                          required:
                                            - type
                                            - key
                                            - value
                                    minItems: 1
                                required:
                                  - any
                          description: Array of stages for manual review
                      required:
                        - stages
                  required:
                    - type
                    - params
            inheritedFrom:
              discriminator:
                propertyName: type
              oneOf:
                - type: object
                  properties:
                    id:
                      type: string
                      format: uuid
                      description: Asset ID
                    name:
                      type: string
                      minLength: 1
                      description: Asset name
                    type:
                      type: string
                      enum:
                        - DATA_PRODUCT
                    createdAt:
                      oneOf:
                        - type: string
                          format: date-time
                        - type: string
                          format: date-time
                    updatedAt:
                      oneOf:
                        - type: string
                          format: date-time
                        - type: string
                          format: date-time
                    dagTagId:
                      oneOf:
                        - type: number
                      nullable: true
                    requestId:
                      type: string
                      format: cuid
                      description: If requested, the ID of the access request for the asset
                    status:
                      type: string
                      enum:
                        - APPROVED
                        - CANCELED
                        - DENIED
                        - PENDING
                        - NONE
                        - PUBLISHER
                        - REVOKED
                        - EXPIRED
                      example: PENDING
                    metadata:
                      type: object
                      properties:
                        subjectMatterExperts:
                          default: *ref_29
                          type: array
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                                format: uuid
                                description: >-
                                  Immuta global user ID of the subject matter
                                  expert
                              username:
                                type: string
                              name:
                                type: string
                            required:
                              - id
                        domains:
                          type: array
                          items:
                            type: string
                            format: uuid
                          minItems: 1
                          description: Array of domain IDs associated with the data product
                        description:
                          oneOf:
                            - type: string
                              description: Data product description
                              example: All sales records from the current fiscal year
                          nullable: true
                          description: Data product description
                      required:
                        - domains
                      description: Data product asset metadata
                    createdBy:
                      type: string
                      format: uuid
                      description: >-
                        Immuta global user ID of the user who created the data
                        product
                  required:
                    - id
                    - name
                    - type
                    - metadata
                    - createdBy
                  title: Data Product Asset
                - type: object
                  properties:
                    id:
                      type: string
                      format: uuid
                      description: Asset ID
                    name:
                      type: string
                      minLength: 1
                      description: Asset name
                    type:
                      type: string
                      enum:
                        - DATA_OBJECT
                    createdAt:
                      oneOf:
                        - type: string
                          format: date-time
                        - type: string
                          format: date-time
                    updatedAt:
                      oneOf:
                        - type: string
                          format: date-time
                        - type: string
                          format: date-time
                    dagTagId:
                      oneOf:
                        - type: number
                      nullable: true
                    requestId:
                      type: string
                      format: cuid
                      description: If requested, the ID of the access request for the asset
                    status:
                      type: string
                      enum:
                        - APPROVED
                        - CANCELED
                        - DENIED
                        - PENDING
                        - NONE
                        - PUBLISHER
                        - REVOKED
                        - EXPIRED
                      example: PENDING
                    metadata:
                      type: object
                      properties:
                        subjectMatterExperts:
                          default: *ref_29
                          type: array
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                                format: uuid
                                description: >-
                                  Immuta global user ID of the subject matter
                                  expert
                              username:
                                type: string
                              name:
                                type: string
                            required:
                              - id
                        objectPath:
                          type: array
                          items:
                            type: string
                        technology:
                          type: string
                          enum:
                            - Snowflake
                            - PostgreSQL
                            - Databricks
                            - Glue
                            - MySQL
                            - Teradata
                            - MariaDB
                            - Oracle
                            - SQLServer
                            - Trino
                            - Redshift
                        legacyType:
                          type: string
                        dataSourceId:
                          type: number
                        description:
                          oneOf:
                            - type: string
                          nullable: true
                        externalLink:
                          oneOf:
                            - type: string
                          nullable: true
                      required:
                        - objectPath
                      description: Data object asset metadata
                    registered:
                      default: true
                      type: boolean
                      description: Whether the asset has been registered
                  required:
                    - id
                    - name
                    - type
                    - metadata
                  title: Data Object Asset
              title: Asset
          required:
            - rules
            - defaultEvent
        maskingExceptionReviewFlow:
          type: object
          properties:
            version:
              type: string
              description: Policy schema version
            rules:
              type: array
              items:
                type: object
                properties:
                  conditions:
                    oneOf:
                      - type: object
                        properties:
                          all:
                            type: array
                            items: {}
                        required:
                          - all
                        additionalProperties: false
                      - type: object
                        properties:
                          any:
                            type: array
                            items: {}
                        required:
                          - any
                        additionalProperties: false
                      - type: object
                        properties:
                          not: {}
                        required:
                          - not
                        additionalProperties: false
                  event:
                    discriminator:
                      propertyName: type
                    oneOf:
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - approve
                          params:
                            type: object
                            properties:
                              comment:
                                type: string
                              duration:
                                type: number
                                minimum: 1
                              durationUnit:
                                type: string
                                enum:
                                  - HOURS
                                  - DAYS
                                  - WEEKS
                                  - MONTHS
                                  - YEARS
                            additionalProperties: false
                        required:
                          - type
                          - params
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - deny
                          params:
                            type: object
                            properties:
                              comment:
                                type: string
                        required:
                          - type
                          - params
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - review
                          params:
                            type: object
                            properties:
                              stages:
                                type: array
                                items:
                                  oneOf:
                                    - type: object
                                      properties:
                                        all:
                                          type: array
                                          items:
                                            oneOf:
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - USER
                                                    description: Entity type
                                                  id:
                                                    type: string
                                                    description: Entity ID
                                                  displayName:
                                                    type: string
                                                    description: Entity display name
                                                required:
                                                  - type
                                                  - id
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - GROUP
                                                    description: Entity type
                                                  id:
                                                    type: number
                                                    description: Entity ID
                                                  iamId:
                                                    type: string
                                                    description: IAM ID
                                                  name:
                                                    type: string
                                                    description: Entity display name
                                                required:
                                                  - type
                                                  - name
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - PERMISSION
                                                  permission:
                                                    type: string
                                                    enum:
                                                      - GOVERNANCE
                                                      - USER_ADMIN
                                                      - AUDIT
                                                    description: Global permission
                                                required:
                                                  - type
                                                  - permission
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - DOMAIN PERMISSION
                                                  permission:
                                                    type: string
                                                    enum:
                                                      - Manage Policies
                                                      - Audit Activity
                                                      - Manage Data Products
                                                      - Manage Identifiers
                                                    description: Domain permission
                                                  domainId:
                                                    type: string
                                                    description: Domain ID
                                                required:
                                                  - type
                                                  - permission
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - ATTRIBUTE
                                                  key:
                                                    type: string
                                                    description: Attribute key
                                                  value:
                                                    type: string
                                                    description: Attribute value
                                                required:
                                                  - type
                                                  - key
                                                  - value
                                          minItems: 1
                                      required:
                                        - all
                                    - type: object
                                      properties:
                                        any:
                                          type: array
                                          items:
                                            oneOf:
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - USER
                                                    description: Entity type
                                                  id:
                                                    type: string
                                                    description: Entity ID
                                                  displayName:
                                                    type: string
                                                    description: Entity display name
                                                required:
                                                  - type
                                                  - id
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - GROUP
                                                    description: Entity type
                                                  id:
                                                    type: number
                                                    description: Entity ID
                                                  iamId:
                                                    type: string
                                                    description: IAM ID
                                                  name:
                                                    type: string
                                                    description: Entity display name
                                                required:
                                                  - type
                                                  - name
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - PERMISSION
                                                  permission:
                                                    type: string
                                                    enum:
                                                      - GOVERNANCE
                                                      - USER_ADMIN
                                                      - AUDIT
                                                    description: Global permission
                                                required:
                                                  - type
                                                  - permission
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - DOMAIN PERMISSION
                                                  permission:
                                                    type: string
                                                    enum:
                                                      - Manage Policies
                                                      - Audit Activity
                                                      - Manage Data Products
                                                      - Manage Identifiers
                                                    description: Domain permission
                                                  domainId:
                                                    type: string
                                                    description: Domain ID
                                                required:
                                                  - type
                                                  - permission
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - ATTRIBUTE
                                                  key:
                                                    type: string
                                                    description: Attribute key
                                                  value:
                                                    type: string
                                                    description: Attribute value
                                                required:
                                                  - type
                                                  - key
                                                  - value
                                          minItems: 1
                                      required:
                                        - any
                                description: Array of stages for manual review
                            required:
                              - stages
                        required:
                          - type
                          - params
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - dataProductPolicy
                        required:
                          - type
                required:
                  - conditions
                  - event
            defaultEvent:
              discriminator:
                propertyName: type
              oneOf:
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - approve
                    params:
                      type: object
                      properties:
                        comment:
                          type: string
                        duration:
                          type: number
                          minimum: 1
                        durationUnit:
                          type: string
                          enum:
                            - HOURS
                            - DAYS
                            - WEEKS
                            - MONTHS
                            - YEARS
                      additionalProperties: false
                  required:
                    - type
                    - params
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - review
                    params:
                      type: object
                      properties:
                        stages:
                          type: array
                          items:
                            oneOf:
                              - type: object
                                properties:
                                  all:
                                    type: array
                                    items:
                                      oneOf:
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - USER
                                              description: Entity type
                                            id:
                                              type: string
                                              description: Entity ID
                                            displayName:
                                              type: string
                                              description: Entity display name
                                          required:
                                            - type
                                            - id
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - GROUP
                                              description: Entity type
                                            id:
                                              type: number
                                              description: Entity ID
                                            iamId:
                                              type: string
                                              description: IAM ID
                                            name:
                                              type: string
                                              description: Entity display name
                                          required:
                                            - type
                                            - name
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - PERMISSION
                                            permission:
                                              type: string
                                              enum:
                                                - GOVERNANCE
                                                - USER_ADMIN
                                                - AUDIT
                                              description: Global permission
                                          required:
                                            - type
                                            - permission
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - DOMAIN PERMISSION
                                            permission:
                                              type: string
                                              enum:
                                                - Manage Policies
                                                - Audit Activity
                                                - Manage Data Products
                                                - Manage Identifiers
                                              description: Domain permission
                                            domainId:
                                              type: string
                                              description: Domain ID
                                          required:
                                            - type
                                            - permission
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - ATTRIBUTE
                                            key:
                                              type: string
                                              description: Attribute key
                                            value:
                                              type: string
                                              description: Attribute value
                                          required:
                                            - type
                                            - key
                                            - value
                                    minItems: 1
                                required:
                                  - all
                              - type: object
                                properties:
                                  any:
                                    type: array
                                    items:
                                      oneOf:
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - USER
                                              description: Entity type
                                            id:
                                              type: string
                                              description: Entity ID
                                            displayName:
                                              type: string
                                              description: Entity display name
                                          required:
                                            - type
                                            - id
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - GROUP
                                              description: Entity type
                                            id:
                                              type: number
                                              description: Entity ID
                                            iamId:
                                              type: string
                                              description: IAM ID
                                            name:
                                              type: string
                                              description: Entity display name
                                          required:
                                            - type
                                            - name
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - PERMISSION
                                            permission:
                                              type: string
                                              enum:
                                                - GOVERNANCE
                                                - USER_ADMIN
                                                - AUDIT
                                              description: Global permission
                                          required:
                                            - type
                                            - permission
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - DOMAIN PERMISSION
                                            permission:
                                              type: string
                                              enum:
                                                - Manage Policies
                                                - Audit Activity
                                                - Manage Data Products
                                                - Manage Identifiers
                                              description: Domain permission
                                            domainId:
                                              type: string
                                              description: Domain ID
                                          required:
                                            - type
                                            - permission
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - ATTRIBUTE
                                            key:
                                              type: string
                                              description: Attribute key
                                            value:
                                              type: string
                                              description: Attribute value
                                          required:
                                            - type
                                            - key
                                            - value
                                    minItems: 1
                                required:
                                  - any
                          description: Array of stages for manual review
                      required:
                        - stages
                  required:
                    - type
                    - params
            inheritedFrom:
              discriminator:
                propertyName: type
              oneOf:
                - type: object
                  properties:
                    id:
                      type: string
                      format: uuid
                      description: Asset ID
                    name:
                      type: string
                      minLength: 1
                      description: Asset name
                    type:
                      type: string
                      enum:
                        - DATA_PRODUCT
                    createdAt:
                      oneOf:
                        - type: string
                          format: date-time
                        - type: string
                          format: date-time
                    updatedAt:
                      oneOf:
                        - type: string
                          format: date-time
                        - type: string
                          format: date-time
                    dagTagId:
                      oneOf:
                        - type: number
                      nullable: true
                    requestId:
                      type: string
                      format: cuid
                      description: If requested, the ID of the access request for the asset
                    status:
                      type: string
                      enum:
                        - APPROVED
                        - CANCELED
                        - DENIED
                        - PENDING
                        - NONE
                        - PUBLISHER
                        - REVOKED
                        - EXPIRED
                      example: PENDING
                    metadata:
                      type: object
                      properties:
                        subjectMatterExperts:
                          default: *ref_29
                          type: array
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                                format: uuid
                                description: >-
                                  Immuta global user ID of the subject matter
                                  expert
                              username:
                                type: string
                              name:
                                type: string
                            required:
                              - id
                        domains:
                          type: array
                          items:
                            type: string
                            format: uuid
                          minItems: 1
                          description: Array of domain IDs associated with the data product
                        description:
                          oneOf:
                            - type: string
                              description: Data product description
                              example: All sales records from the current fiscal year
                          nullable: true
                          description: Data product description
                      required:
                        - domains
                      description: Data product asset metadata
                    createdBy:
                      type: string
                      format: uuid
                      description: >-
                        Immuta global user ID of the user who created the data
                        product
                  required:
                    - id
                    - name
                    - type
                    - metadata
                    - createdBy
                  title: Data Product Asset
                - type: object
                  properties:
                    id:
                      type: string
                      format: uuid
                      description: Asset ID
                    name:
                      type: string
                      minLength: 1
                      description: Asset name
                    type:
                      type: string
                      enum:
                        - DATA_OBJECT
                    createdAt:
                      oneOf:
                        - type: string
                          format: date-time
                        - type: string
                          format: date-time
                    updatedAt:
                      oneOf:
                        - type: string
                          format: date-time
                        - type: string
                          format: date-time
                    dagTagId:
                      oneOf:
                        - type: number
                      nullable: true
                    requestId:
                      type: string
                      format: cuid
                      description: If requested, the ID of the access request for the asset
                    status:
                      type: string
                      enum:
                        - APPROVED
                        - CANCELED
                        - DENIED
                        - PENDING
                        - NONE
                        - PUBLISHER
                        - REVOKED
                        - EXPIRED
                      example: PENDING
                    metadata:
                      type: object
                      properties:
                        subjectMatterExperts:
                          default: *ref_29
                          type: array
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                                format: uuid
                                description: >-
                                  Immuta global user ID of the subject matter
                                  expert
                              username:
                                type: string
                              name:
                                type: string
                            required:
                              - id
                        objectPath:
                          type: array
                          items:
                            type: string
                        technology:
                          type: string
                          enum:
                            - Snowflake
                            - PostgreSQL
                            - Databricks
                            - Glue
                            - MySQL
                            - Teradata
                            - MariaDB
                            - Oracle
                            - SQLServer
                            - Trino
                            - Redshift
                        legacyType:
                          type: string
                        dataSourceId:
                          type: number
                        description:
                          oneOf:
                            - type: string
                          nullable: true
                        externalLink:
                          oneOf:
                            - type: string
                          nullable: true
                      required:
                        - objectPath
                      description: Data object asset metadata
                    registered:
                      default: true
                      type: boolean
                      description: Whether the asset has been registered
                  required:
                    - id
                    - name
                    - type
                    - metadata
                  title: Data Object Asset
              title: Asset
          required:
            - rules
            - defaultEvent
      required:
        - dataAccessReviewFlow
    CreateAssetRequestDto:
      discriminator:
        propertyName: requestType
      oneOf:
        - type: object
          properties:
            user:
              type: string
              format: uuid
              description: >-
                Immuta global user ID of the user for whom access is being
                requested
            form:
              description: The request form submission
            asset:
              type: object
              properties:
                type:
                  type: string
                  enum:
                    - DATA_OBJECT
                metadata:
                  type: object
                  properties:
                    subjectMatterExperts:
                      default: *ref_29
                      type: array
                      items:
                        type: object
                        properties:
                          id:
                            type: string
                            format: uuid
                            description: Immuta global user ID of the subject matter expert
                          username:
                            type: string
                          name:
                            type: string
                        required:
                          - id
                    technology:
                      type: string
                      enum:
                        - Snowflake
                        - PostgreSQL
                        - Databricks
                        - Glue
                        - MySQL
                        - Teradata
                        - MariaDB
                        - Oracle
                        - SQLServer
                        - Trino
                        - Redshift
                    legacyType:
                      type: string
                    dataSourceId:
                      type: number
                    description:
                      oneOf:
                        - type: string
                      nullable: true
                    externalLink:
                      oneOf:
                        - type: string
                      nullable: true
                dataAccessRequestFormId:
                  oneOf:
                    - type: string
                      format: cuid
                    - type: string
                      format: uuid
                  description: >-
                    Request form ID. If not provided, the asset will inherit
                    from a parent asset.
                maskingExceptionRequestFormId:
                  oneOf:
                    - type: string
                      format: cuid
                    - type: string
                      format: uuid
                  description: >-
                    Request form ID. If not provided, the asset will inherit
                    from a parent asset.
                dataAccessReviewFlow:
                  type: object
                  properties:
                    version:
                      type: string
                      description: Policy schema version
                    rules:
                      type: array
                      items:
                        type: object
                        properties:
                          conditions:
                            oneOf:
                              - type: object
                                properties:
                                  all:
                                    type: array
                                    items: {}
                                required:
                                  - all
                                additionalProperties: false
                              - type: object
                                properties:
                                  any:
                                    type: array
                                    items: {}
                                required:
                                  - any
                                additionalProperties: false
                              - type: object
                                properties:
                                  not: {}
                                required:
                                  - not
                                additionalProperties: false
                          event:
                            discriminator:
                              propertyName: type
                            oneOf:
                              - type: object
                                properties:
                                  type:
                                    type: string
                                    enum:
                                      - approve
                                  params:
                                    type: object
                                    properties:
                                      comment:
                                        type: string
                                      duration:
                                        type: number
                                        minimum: 1
                                      durationUnit:
                                        type: string
                                        enum:
                                          - HOURS
                                          - DAYS
                                          - WEEKS
                                          - MONTHS
                                          - YEARS
                                    additionalProperties: false
                                required:
                                  - type
                                  - params
                              - type: object
                                properties:
                                  type:
                                    type: string
                                    enum:
                                      - deny
                                  params:
                                    type: object
                                    properties:
                                      comment:
                                        type: string
                                required:
                                  - type
                                  - params
                              - type: object
                                properties:
                                  type:
                                    type: string
                                    enum:
                                      - review
                                  params:
                                    type: object
                                    properties:
                                      stages:
                                        type: array
                                        items:
                                          oneOf:
                                            - type: object
                                              properties:
                                                all:
                                                  type: array
                                                  items:
                                                    oneOf:
                                                      - type: object
                                                        properties:
                                                          type:
                                                            type: string
                                                            enum:
                                                              - USER
                                                            description: Entity type
                                                          id:
                                                            type: string
                                                            description: Entity ID
                                                          displayName:
                                                            type: string
                                                            description: Entity display name
                                                        required:
                                                          - type
                                                          - id
                                                      - type: object
                                                        properties:
                                                          type:
                                                            type: string
                                                            enum:
                                                              - GROUP
                                                            description: Entity type
                                                          id:
                                                            type: number
                                                            description: Entity ID
                                                          iamId:
                                                            type: string
                                                            description: IAM ID
                                                          name:
                                                            type: string
                                                            description: Entity display name
                                                        required:
                                                          - type
                                                          - name
                                                      - type: object
                                                        properties:
                                                          type:
                                                            type: string
                                                            enum:
                                                              - PERMISSION
                                                          permission:
                                                            type: string
                                                            enum:
                                                              - GOVERNANCE
                                                              - USER_ADMIN
                                                              - AUDIT
                                                            description: Global permission
                                                        required:
                                                          - type
                                                          - permission
                                                      - type: object
                                                        properties:
                                                          type:
                                                            type: string
                                                            enum:
                                                              - DOMAIN PERMISSION
                                                          permission:
                                                            type: string
                                                            enum:
                                                              - Manage Policies
                                                              - Audit Activity
                                                              - Manage Data Products
                                                              - Manage Identifiers
                                                            description: Domain permission
                                                          domainId:
                                                            type: string
                                                            description: Domain ID
                                                        required:
                                                          - type
                                                          - permission
                                                      - type: object
                                                        properties:
                                                          type:
                                                            type: string
                                                            enum:
                                                              - ATTRIBUTE
                                                          key:
                                                            type: string
                                                            description: Attribute key
                                                          value:
                                                            type: string
                                                            description: Attribute value
                                                        required:
                                                          - type
                                                          - key
                                                          - value
                                                  minItems: 1
                                              required:
                                                - all
                                            - type: object
                                              properties:
                                                any:
                                                  type: array
                                                  items:
                                                    oneOf:
                                                      - type: object
                                                        properties:
                                                          type:
                                                            type: string
                                                            enum:
                                                              - USER
                                                            description: Entity type
                                                          id:
                                                            type: string
                                                            description: Entity ID
                                                          displayName:
                                                            type: string
                                                            description: Entity display name
                                                        required:
                                                          - type
                                                          - id
                                                      - type: object
                                                        properties:
                                                          type:
                                                            type: string
                                                            enum:
                                                              - GROUP
                                                            description: Entity type
                                                          id:
                                                            type: number
                                                            description: Entity ID
                                                          iamId:
                                                            type: string
                                                            description: IAM ID
                                                          name:
                                                            type: string
                                                            description: Entity display name
                                                        required:
                                                          - type
                                                          - name
                                                      - type: object
                                                        properties:
                                                          type:
                                                            type: string
                                                            enum:
                                                              - PERMISSION
                                                          permission:
                                                            type: string
                                                            enum:
                                                              - GOVERNANCE
                                                              - USER_ADMIN
                                                              - AUDIT
                                                            description: Global permission
                                                        required:
                                                          - type
                                                          - permission
                                                      - type: object
                                                        properties:
                                                          type:
                                                            type: string
                                                            enum:
                                                              - DOMAIN PERMISSION
                                                          permission:
                                                            type: string
                                                            enum:
                                                              - Manage Policies
                                                              - Audit Activity
                                                              - Manage Data Products
                                                              - Manage Identifiers
                                                            description: Domain permission
                                                          domainId:
                                                            type: string
                                                            description: Domain ID
                                                        required:
                                                          - type
                                                          - permission
                                                      - type: object
                                                        properties:
                                                          type:
                                                            type: string
                                                            enum:
                                                              - ATTRIBUTE
                                                          key:
                                                            type: string
                                                            description: Attribute key
                                                          value:
                                                            type: string
                                                            description: Attribute value
                                                        required:
                                                          - type
                                                          - key
                                                          - value
                                                  minItems: 1
                                              required:
                                                - any
                                        description: Array of stages for manual review
                                    required:
                                      - stages
                                required:
                                  - type
                                  - params
                              - type: object
                                properties:
                                  type:
                                    type: string
                                    enum:
                                      - dataProductPolicy
                                required:
                                  - type
                        required:
                          - conditions
                          - event
                    defaultEvent:
                      discriminator:
                        propertyName: type
                      oneOf:
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - approve
                            params:
                              type: object
                              properties:
                                comment:
                                  type: string
                                duration:
                                  type: number
                                  minimum: 1
                                durationUnit:
                                  type: string
                                  enum:
                                    - HOURS
                                    - DAYS
                                    - WEEKS
                                    - MONTHS
                                    - YEARS
                              additionalProperties: false
                          required:
                            - type
                            - params
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - review
                            params:
                              type: object
                              properties:
                                stages:
                                  type: array
                                  items:
                                    oneOf:
                                      - type: object
                                        properties:
                                          all:
                                            type: array
                                            items:
                                              oneOf:
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - USER
                                                      description: Entity type
                                                    id:
                                                      type: string
                                                      description: Entity ID
                                                    displayName:
                                                      type: string
                                                      description: Entity display name
                                                  required:
                                                    - type
                                                    - id
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - GROUP
                                                      description: Entity type
                                                    id:
                                                      type: number
                                                      description: Entity ID
                                                    iamId:
                                                      type: string
                                                      description: IAM ID
                                                    name:
                                                      type: string
                                                      description: Entity display name
                                                  required:
                                                    - type
                                                    - name
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - PERMISSION
                                                    permission:
                                                      type: string
                                                      enum:
                                                        - GOVERNANCE
                                                        - USER_ADMIN
                                                        - AUDIT
                                                      description: Global permission
                                                  required:
                                                    - type
                                                    - permission
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - DOMAIN PERMISSION
                                                    permission:
                                                      type: string
                                                      enum:
                                                        - Manage Policies
                                                        - Audit Activity
                                                        - Manage Data Products
                                                        - Manage Identifiers
                                                      description: Domain permission
                                                    domainId:
                                                      type: string
                                                      description: Domain ID
                                                  required:
                                                    - type
                                                    - permission
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - ATTRIBUTE
                                                    key:
                                                      type: string
                                                      description: Attribute key
                                                    value:
                                                      type: string
                                                      description: Attribute value
                                                  required:
                                                    - type
                                                    - key
                                                    - value
                                            minItems: 1
                                        required:
                                          - all
                                      - type: object
                                        properties:
                                          any:
                                            type: array
                                            items:
                                              oneOf:
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - USER
                                                      description: Entity type
                                                    id:
                                                      type: string
                                                      description: Entity ID
                                                    displayName:
                                                      type: string
                                                      description: Entity display name
                                                  required:
                                                    - type
                                                    - id
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - GROUP
                                                      description: Entity type
                                                    id:
                                                      type: number
                                                      description: Entity ID
                                                    iamId:
                                                      type: string
                                                      description: IAM ID
                                                    name:
                                                      type: string
                                                      description: Entity display name
                                                  required:
                                                    - type
                                                    - name
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - PERMISSION
                                                    permission:
                                                      type: string
                                                      enum:
                                                        - GOVERNANCE
                                                        - USER_ADMIN
                                                        - AUDIT
                                                      description: Global permission
                                                  required:
                                                    - type
                                                    - permission
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - DOMAIN PERMISSION
                                                    permission:
                                                      type: string
                                                      enum:
                                                        - Manage Policies
                                                        - Audit Activity
                                                        - Manage Data Products
                                                        - Manage Identifiers
                                                      description: Domain permission
                                                    domainId:
                                                      type: string
                                                      description: Domain ID
                                                  required:
                                                    - type
                                                    - permission
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - ATTRIBUTE
                                                    key:
                                                      type: string
                                                      description: Attribute key
                                                    value:
                                                      type: string
                                                      description: Attribute value
                                                  required:
                                                    - type
                                                    - key
                                                    - value
                                            minItems: 1
                                        required:
                                          - any
                                  description: Array of stages for manual review
                              required:
                                - stages
                          required:
                            - type
                            - params
                  required:
                    - rules
                    - defaultEvent
                  description: >-
                    Data access policy. If not provided, the asset will inherit
                    from a parent asset.
                maskingExceptionReviewFlow:
                  type: object
                  properties:
                    version:
                      type: string
                      description: Policy schema version
                    rules:
                      type: array
                      items:
                        type: object
                        properties:
                          conditions:
                            oneOf:
                              - type: object
                                properties:
                                  all:
                                    type: array
                                    items: {}
                                required:
                                  - all
                                additionalProperties: false
                              - type: object
                                properties:
                                  any:
                                    type: array
                                    items: {}
                                required:
                                  - any
                                additionalProperties: false
                              - type: object
                                properties:
                                  not: {}
                                required:
                                  - not
                                additionalProperties: false
                          event:
                            discriminator:
                              propertyName: type
                            oneOf:
                              - type: object
                                properties:
                                  type:
                                    type: string
                                    enum:
                                      - approve
                                  params:
                                    type: object
                                    properties:
                                      comment:
                                        type: string
                                      duration:
                                        type: number
                                        minimum: 1
                                      durationUnit:
                                        type: string
                                        enum:
                                          - HOURS
                                          - DAYS
                                          - WEEKS
                                          - MONTHS
                                          - YEARS
                                    additionalProperties: false
                                required:
                                  - type
                                  - params
                              - type: object
                                properties:
                                  type:
                                    type: string
                                    enum:
                                      - deny
                                  params:
                                    type: object
                                    properties:
                                      comment:
                                        type: string
                                required:
                                  - type
                                  - params
                              - type: object
                                properties:
                                  type:
                                    type: string
                                    enum:
                                      - review
                                  params:
                                    type: object
                                    properties:
                                      stages:
                                        type: array
                                        items:
                                          oneOf:
                                            - type: object
                                              properties:
                                                all:
                                                  type: array
                                                  items:
                                                    oneOf:
                                                      - type: object
                                                        properties:
                                                          type:
                                                            type: string
                                                            enum:
                                                              - USER
                                                            description: Entity type
                                                          id:
                                                            type: string
                                                            description: Entity ID
                                                          displayName:
                                                            type: string
                                                            description: Entity display name
                                                        required:
                                                          - type
                                                          - id
                                                      - type: object
                                                        properties:
                                                          type:
                                                            type: string
                                                            enum:
                                                              - GROUP
                                                            description: Entity type
                                                          id:
                                                            type: number
                                                            description: Entity ID
                                                          iamId:
                                                            type: string
                                                            description: IAM ID
                                                          name:
                                                            type: string
                                                            description: Entity display name
                                                        required:
                                                          - type
                                                          - name
                                                      - type: object
                                                        properties:
                                                          type:
                                                            type: string
                                                            enum:
                                                              - PERMISSION
                                                          permission:
                                                            type: string
                                                            enum:
                                                              - GOVERNANCE
                                                              - USER_ADMIN
                                                              - AUDIT
                                                            description: Global permission
                                                        required:
                                                          - type
                                                          - permission
                                                      - type: object
                                                        properties:
                                                          type:
                                                            type: string
                                                            enum:
                                                              - DOMAIN PERMISSION
                                                          permission:
                                                            type: string
                                                            enum:
                                                              - Manage Policies
                                                              - Audit Activity
                                                              - Manage Data Products
                                                              - Manage Identifiers
                                                            description: Domain permission
                                                          domainId:
                                                            type: string
                                                            description: Domain ID
                                                        required:
                                                          - type
                                                          - permission
                                                      - type: object
                                                        properties:
                                                          type:
                                                            type: string
                                                            enum:
                                                              - ATTRIBUTE
                                                          key:
                                                            type: string
                                                            description: Attribute key
                                                          value:
                                                            type: string
                                                            description: Attribute value
                                                        required:
                                                          - type
                                                          - key
                                                          - value
                                                  minItems: 1
                                              required:
                                                - all
                                            - type: object
                                              properties:
                                                any:
                                                  type: array
                                                  items:
                                                    oneOf:
                                                      - type: object
                                                        properties:
                                                          type:
                                                            type: string
                                                            enum:
                                                              - USER
                                                            description: Entity type
                                                          id:
                                                            type: string
                                                            description: Entity ID
                                                          displayName:
                                                            type: string
                                                            description: Entity display name
                                                        required:
                                                          - type
                                                          - id
                                                      - type: object
                                                        properties:
                                                          type:
                                                            type: string
                                                            enum:
                                                              - GROUP
                                                            description: Entity type
                                                          id:
                                                            type: number
                                                            description: Entity ID
                                                          iamId:
                                                            type: string
                                                            description: IAM ID
                                                          name:
                                                            type: string
                                                            description: Entity display name
                                                        required:
                                                          - type
                                                          - name
                                                      - type: object
                                                        properties:
                                                          type:
                                                            type: string
                                                            enum:
                                                              - PERMISSION
                                                          permission:
                                                            type: string
                                                            enum:
                                                              - GOVERNANCE
                                                              - USER_ADMIN
                                                              - AUDIT
                                                            description: Global permission
                                                        required:
                                                          - type
                                                          - permission
                                                      - type: object
                                                        properties:
                                                          type:
                                                            type: string
                                                            enum:
                                                              - DOMAIN PERMISSION
                                                          permission:
                                                            type: string
                                                            enum:
                                                              - Manage Policies
                                                              - Audit Activity
                                                              - Manage Data Products
                                                              - Manage Identifiers
                                                            description: Domain permission
                                                          domainId:
                                                            type: string
                                                            description: Domain ID
                                                        required:
                                                          - type
                                                          - permission
                                                      - type: object
                                                        properties:
                                                          type:
                                                            type: string
                                                            enum:
                                                              - ATTRIBUTE
                                                          key:
                                                            type: string
                                                            description: Attribute key
                                                          value:
                                                            type: string
                                                            description: Attribute value
                                                        required:
                                                          - type
                                                          - key
                                                          - value
                                                  minItems: 1
                                              required:
                                                - any
                                        description: Array of stages for manual review
                                    required:
                                      - stages
                                required:
                                  - type
                                  - params
                              - type: object
                                properties:
                                  type:
                                    type: string
                                    enum:
                                      - dataProductPolicy
                                required:
                                  - type
                        required:
                          - conditions
                          - event
                    defaultEvent:
                      discriminator:
                        propertyName: type
                      oneOf:
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - approve
                            params:
                              type: object
                              properties:
                                comment:
                                  type: string
                                duration:
                                  type: number
                                  minimum: 1
                                durationUnit:
                                  type: string
                                  enum:
                                    - HOURS
                                    - DAYS
                                    - WEEKS
                                    - MONTHS
                                    - YEARS
                              additionalProperties: false
                          required:
                            - type
                            - params
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - review
                            params:
                              type: object
                              properties:
                                stages:
                                  type: array
                                  items:
                                    oneOf:
                                      - type: object
                                        properties:
                                          all:
                                            type: array
                                            items:
                                              oneOf:
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - USER
                                                      description: Entity type
                                                    id:
                                                      type: string
                                                      description: Entity ID
                                                    displayName:
                                                      type: string
                                                      description: Entity display name
                                                  required:
                                                    - type
                                                    - id
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - GROUP
                                                      description: Entity type
                                                    id:
                                                      type: number
                                                      description: Entity ID
                                                    iamId:
                                                      type: string
                                                      description: IAM ID
                                                    name:
                                                      type: string
                                                      description: Entity display name
                                                  required:
                                                    - type
                                                    - name
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - PERMISSION
                                                    permission:
                                                      type: string
                                                      enum:
                                                        - GOVERNANCE
                                                        - USER_ADMIN
                                                        - AUDIT
                                                      description: Global permission
                                                  required:
                                                    - type
                                                    - permission
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - DOMAIN PERMISSION
                                                    permission:
                                                      type: string
                                                      enum:
                                                        - Manage Policies
                                                        - Audit Activity
                                                        - Manage Data Products
                                                        - Manage Identifiers
                                                      description: Domain permission
                                                    domainId:
                                                      type: string
                                                      description: Domain ID
                                                  required:
                                                    - type
                                                    - permission
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - ATTRIBUTE
                                                    key:
                                                      type: string
                                                      description: Attribute key
                                                    value:
                                                      type: string
                                                      description: Attribute value
                                                  required:
                                                    - type
                                                    - key
                                                    - value
                                            minItems: 1
                                        required:
                                          - all
                                      - type: object
                                        properties:
                                          any:
                                            type: array
                                            items:
                                              oneOf:
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - USER
                                                      description: Entity type
                                                    id:
                                                      type: string
                                                      description: Entity ID
                                                    displayName:
                                                      type: string
                                                      description: Entity display name
                                                  required:
                                                    - type
                                                    - id
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - GROUP
                                                      description: Entity type
                                                    id:
                                                      type: number
                                                      description: Entity ID
                                                    iamId:
                                                      type: string
                                                      description: IAM ID
                                                    name:
                                                      type: string
                                                      description: Entity display name
                                                  required:
                                                    - type
                                                    - name
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - PERMISSION
                                                    permission:
                                                      type: string
                                                      enum:
                                                        - GOVERNANCE
                                                        - USER_ADMIN
                                                        - AUDIT
                                                      description: Global permission
                                                  required:
                                                    - type
                                                    - permission
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - DOMAIN PERMISSION
                                                    permission:
                                                      type: string
                                                      enum:
                                                        - Manage Policies
                                                        - Audit Activity
                                                        - Manage Data Products
                                                        - Manage Identifiers
                                                      description: Domain permission
                                                    domainId:
                                                      type: string
                                                      description: Domain ID
                                                  required:
                                                    - type
                                                    - permission
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - ATTRIBUTE
                                                    key:
                                                      type: string
                                                      description: Attribute key
                                                    value:
                                                      type: string
                                                      description: Attribute value
                                                  required:
                                                    - type
                                                    - key
                                                    - value
                                            minItems: 1
                                        required:
                                          - any
                                  description: Array of stages for manual review
                              required:
                                - stages
                          required:
                            - type
                            - params
                  required:
                    - rules
                    - defaultEvent
                  description: >-
                    Masking exception policy. If not provided, the asset will
                    inherit from a parent asset.
              required:
                - type
                - metadata
              additionalProperties: false
              description: >-
                The asset to request access or masking exception for. Only
                required for non-registered assets.
            requestType:
              type: string
              enum:
                - DATA_ACCESS
          required:
            - user
            - requestType
        - type: object
          properties:
            user:
              type: string
              format: uuid
              description: >-
                Immuta global user ID of the user for whom access is being
                requested
            form:
              description: The request form submission
            asset:
              type: object
              properties:
                type:
                  type: string
                  enum:
                    - DATA_OBJECT
                metadata:
                  type: object
                  properties:
                    subjectMatterExperts:
                      default: *ref_29
                      type: array
                      items:
                        type: object
                        properties:
                          id:
                            type: string
                            format: uuid
                            description: Immuta global user ID of the subject matter expert
                          username:
                            type: string
                          name:
                            type: string
                        required:
                          - id
                    technology:
                      type: string
                      enum:
                        - Snowflake
                        - PostgreSQL
                        - Databricks
                        - Glue
                        - MySQL
                        - Teradata
                        - MariaDB
                        - Oracle
                        - SQLServer
                        - Trino
                        - Redshift
                    legacyType:
                      type: string
                    dataSourceId:
                      type: number
                    description:
                      oneOf:
                        - type: string
                      nullable: true
                    externalLink:
                      oneOf:
                        - type: string
                      nullable: true
                dataAccessRequestFormId:
                  oneOf:
                    - type: string
                      format: cuid
                    - type: string
                      format: uuid
                  description: >-
                    Request form ID. If not provided, the asset will inherit
                    from a parent asset.
                maskingExceptionRequestFormId:
                  oneOf:
                    - type: string
                      format: cuid
                    - type: string
                      format: uuid
                  description: >-
                    Request form ID. If not provided, the asset will inherit
                    from a parent asset.
                dataAccessReviewFlow:
                  type: object
                  properties:
                    version:
                      type: string
                      description: Policy schema version
                    rules:
                      type: array
                      items:
                        type: object
                        properties:
                          conditions:
                            oneOf:
                              - type: object
                                properties:
                                  all:
                                    type: array
                                    items: {}
                                required:
                                  - all
                                additionalProperties: false
                              - type: object
                                properties:
                                  any:
                                    type: array
                                    items: {}
                                required:
                                  - any
                                additionalProperties: false
                              - type: object
                                properties:
                                  not: {}
                                required:
                                  - not
                                additionalProperties: false
                          event:
                            discriminator:
                              propertyName: type
                            oneOf:
                              - type: object
                                properties:
                                  type:
                                    type: string
                                    enum:
                                      - approve
                                  params:
                                    type: object
                                    properties:
                                      comment:
                                        type: string
                                      duration:
                                        type: number
                                        minimum: 1
                                      durationUnit:
                                        type: string
                                        enum:
                                          - HOURS
                                          - DAYS
                                          - WEEKS
                                          - MONTHS
                                          - YEARS
                                    additionalProperties: false
                                required:
                                  - type
                                  - params
                              - type: object
                                properties:
                                  type:
                                    type: string
                                    enum:
                                      - deny
                                  params:
                                    type: object
                                    properties:
                                      comment:
                                        type: string
                                required:
                                  - type
                                  - params
                              - type: object
                                properties:
                                  type:
                                    type: string
                                    enum:
                                      - review
                                  params:
                                    type: object
                                    properties:
                                      stages:
                                        type: array
                                        items:
                                          oneOf:
                                            - type: object
                                              properties:
                                                all:
                                                  type: array
                                                  items:
                                                    oneOf:
                                                      - type: object
                                                        properties:
                                                          type:
                                                            type: string
                                                            enum:
                                                              - USER
                                                            description: Entity type
                                                          id:
                                                            type: string
                                                            description: Entity ID
                                                          displayName:
                                                            type: string
                                                            description: Entity display name
                                                        required:
                                                          - type
                                                          - id
                                                      - type: object
                                                        properties:
                                                          type:
                                                            type: string
                                                            enum:
                                                              - GROUP
                                                            description: Entity type
                                                          id:
                                                            type: number
                                                            description: Entity ID
                                                          iamId:
                                                            type: string
                                                            description: IAM ID
                                                          name:
                                                            type: string
                                                            description: Entity display name
                                                        required:
                                                          - type
                                                          - name
                                                      - type: object
                                                        properties:
                                                          type:
                                                            type: string
                                                            enum:
                                                              - PERMISSION
                                                          permission:
                                                            type: string
                                                            enum:
                                                              - GOVERNANCE
                                                              - USER_ADMIN
                                                              - AUDIT
                                                            description: Global permission
                                                        required:
                                                          - type
                                                          - permission
                                                      - type: object
                                                        properties:
                                                          type:
                                                            type: string
                                                            enum:
                                                              - DOMAIN PERMISSION
                                                          permission:
                                                            type: string
                                                            enum:
                                                              - Manage Policies
                                                              - Audit Activity
                                                              - Manage Data Products
                                                              - Manage Identifiers
                                                            description: Domain permission
                                                          domainId:
                                                            type: string
                                                            description: Domain ID
                                                        required:
                                                          - type
                                                          - permission
                                                      - type: object
                                                        properties:
                                                          type:
                                                            type: string
                                                            enum:
                                                              - ATTRIBUTE
                                                          key:
                                                            type: string
                                                            description: Attribute key
                                                          value:
                                                            type: string
                                                            description: Attribute value
                                                        required:
                                                          - type
                                                          - key
                                                          - value
                                                  minItems: 1
                                              required:
                                                - all
                                            - type: object
                                              properties:
                                                any:
                                                  type: array
                                                  items:
                                                    oneOf:
                                                      - type: object
                                                        properties:
                                                          type:
                                                            type: string
                                                            enum:
                                                              - USER
                                                            description: Entity type
                                                          id:
                                                            type: string
                                                            description: Entity ID
                                                          displayName:
                                                            type: string
                                                            description: Entity display name
                                                        required:
                                                          - type
                                                          - id
                                                      - type: object
                                                        properties:
                                                          type:
                                                            type: string
                                                            enum:
                                                              - GROUP
                                                            description: Entity type
                                                          id:
                                                            type: number
                                                            description: Entity ID
                                                          iamId:
                                                            type: string
                                                            description: IAM ID
                                                          name:
                                                            type: string
                                                            description: Entity display name
                                                        required:
                                                          - type
                                                          - name
                                                      - type: object
                                                        properties:
                                                          type:
                                                            type: string
                                                            enum:
                                                              - PERMISSION
                                                          permission:
                                                            type: string
                                                            enum:
                                                              - GOVERNANCE
                                                              - USER_ADMIN
                                                              - AUDIT
                                                            description: Global permission
                                                        required:
                                                          - type
                                                          - permission
                                                      - type: object
                                                        properties:
                                                          type:
                                                            type: string
                                                            enum:
                                                              - DOMAIN PERMISSION
                                                          permission:
                                                            type: string
                                                            enum:
                                                              - Manage Policies
                                                              - Audit Activity
                                                              - Manage Data Products
                                                              - Manage Identifiers
                                                            description: Domain permission
                                                          domainId:
                                                            type: string
                                                            description: Domain ID
                                                        required:
                                                          - type
                                                          - permission
                                                      - type: object
                                                        properties:
                                                          type:
                                                            type: string
                                                            enum:
                                                              - ATTRIBUTE
                                                          key:
                                                            type: string
                                                            description: Attribute key
                                                          value:
                                                            type: string
                                                            description: Attribute value
                                                        required:
                                                          - type
                                                          - key
                                                          - value
                                                  minItems: 1
                                              required:
                                                - any
                                        description: Array of stages for manual review
                                    required:
                                      - stages
                                required:
                                  - type
                                  - params
                              - type: object
                                properties:
                                  type:
                                    type: string
                                    enum:
                                      - dataProductPolicy
                                required:
                                  - type
                        required:
                          - conditions
                          - event
                    defaultEvent:
                      discriminator:
                        propertyName: type
                      oneOf:
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - approve
                            params:
                              type: object
                              properties:
                                comment:
                                  type: string
                                duration:
                                  type: number
                                  minimum: 1
                                durationUnit:
                                  type: string
                                  enum:
                                    - HOURS
                                    - DAYS
                                    - WEEKS
                                    - MONTHS
                                    - YEARS
                              additionalProperties: false
                          required:
                            - type
                            - params
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - review
                            params:
                              type: object
                              properties:
                                stages:
                                  type: array
                                  items:
                                    oneOf:
                                      - type: object
                                        properties:
                                          all:
                                            type: array
                                            items:
                                              oneOf:
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - USER
                                                      description: Entity type
                                                    id:
                                                      type: string
                                                      description: Entity ID
                                                    displayName:
                                                      type: string
                                                      description: Entity display name
                                                  required:
                                                    - type
                                                    - id
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - GROUP
                                                      description: Entity type
                                                    id:
                                                      type: number
                                                      description: Entity ID
                                                    iamId:
                                                      type: string
                                                      description: IAM ID
                                                    name:
                                                      type: string
                                                      description: Entity display name
                                                  required:
                                                    - type
                                                    - name
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - PERMISSION
                                                    permission:
                                                      type: string
                                                      enum:
                                                        - GOVERNANCE
                                                        - USER_ADMIN
                                                        - AUDIT
                                                      description: Global permission
                                                  required:
                                                    - type
                                                    - permission
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - DOMAIN PERMISSION
                                                    permission:
                                                      type: string
                                                      enum:
                                                        - Manage Policies
                                                        - Audit Activity
                                                        - Manage Data Products
                                                        - Manage Identifiers
                                                      description: Domain permission
                                                    domainId:
                                                      type: string
                                                      description: Domain ID
                                                  required:
                                                    - type
                                                    - permission
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - ATTRIBUTE
                                                    key:
                                                      type: string
                                                      description: Attribute key
                                                    value:
                                                      type: string
                                                      description: Attribute value
                                                  required:
                                                    - type
                                                    - key
                                                    - value
                                            minItems: 1
                                        required:
                                          - all
                                      - type: object
                                        properties:
                                          any:
                                            type: array
                                            items:
                                              oneOf:
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - USER
                                                      description: Entity type
                                                    id:
                                                      type: string
                                                      description: Entity ID
                                                    displayName:
                                                      type: string
                                                      description: Entity display name
                                                  required:
                                                    - type
                                                    - id
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - GROUP
                                                      description: Entity type
                                                    id:
                                                      type: number
                                                      description: Entity ID
                                                    iamId:
                                                      type: string
                                                      description: IAM ID
                                                    name:
                                                      type: string
                                                      description: Entity display name
                                                  required:
                                                    - type
                                                    - name
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - PERMISSION
                                                    permission:
                                                      type: string
                                                      enum:
                                                        - GOVERNANCE
                                                        - USER_ADMIN
                                                        - AUDIT
                                                      description: Global permission
                                                  required:
                                                    - type
                                                    - permission
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - DOMAIN PERMISSION
                                                    permission:
                                                      type: string
                                                      enum:
                                                        - Manage Policies
                                                        - Audit Activity
                                                        - Manage Data Products
                                                        - Manage Identifiers
                                                      description: Domain permission
                                                    domainId:
                                                      type: string
                                                      description: Domain ID
                                                  required:
                                                    - type
                                                    - permission
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - ATTRIBUTE
                                                    key:
                                                      type: string
                                                      description: Attribute key
                                                    value:
                                                      type: string
                                                      description: Attribute value
                                                  required:
                                                    - type
                                                    - key
                                                    - value
                                            minItems: 1
                                        required:
                                          - any
                                  description: Array of stages for manual review
                              required:
                                - stages
                          required:
                            - type
                            - params
                  required:
                    - rules
                    - defaultEvent
                  description: >-
                    Data access policy. If not provided, the asset will inherit
                    from a parent asset.
                maskingExceptionReviewFlow:
                  type: object
                  properties:
                    version:
                      type: string
                      description: Policy schema version
                    rules:
                      type: array
                      items:
                        type: object
                        properties:
                          conditions:
                            oneOf:
                              - type: object
                                properties:
                                  all:
                                    type: array
                                    items: {}
                                required:
                                  - all
                                additionalProperties: false
                              - type: object
                                properties:
                                  any:
                                    type: array
                                    items: {}
                                required:
                                  - any
                                additionalProperties: false
                              - type: object
                                properties:
                                  not: {}
                                required:
                                  - not
                                additionalProperties: false
                          event:
                            discriminator:
                              propertyName: type
                            oneOf:
                              - type: object
                                properties:
                                  type:
                                    type: string
                                    enum:
                                      - approve
                                  params:
                                    type: object
                                    properties:
                                      comment:
                                        type: string
                                      duration:
                                        type: number
                                        minimum: 1
                                      durationUnit:
                                        type: string
                                        enum:
                                          - HOURS
                                          - DAYS
                                          - WEEKS
                                          - MONTHS
                                          - YEARS
                                    additionalProperties: false
                                required:
                                  - type
                                  - params
                              - type: object
                                properties:
                                  type:
                                    type: string
                                    enum:
                                      - deny
                                  params:
                                    type: object
                                    properties:
                                      comment:
                                        type: string
                                required:
                                  - type
                                  - params
                              - type: object
                                properties:
                                  type:
                                    type: string
                                    enum:
                                      - review
                                  params:
                                    type: object
                                    properties:
                                      stages:
                                        type: array
                                        items:
                                          oneOf:
                                            - type: object
                                              properties:
                                                all:
                                                  type: array
                                                  items:
                                                    oneOf:
                                                      - type: object
                                                        properties:
                                                          type:
                                                            type: string
                                                            enum:
                                                              - USER
                                                            description: Entity type
                                                          id:
                                                            type: string
                                                            description: Entity ID
                                                          displayName:
                                                            type: string
                                                            description: Entity display name
                                                        required:
                                                          - type
                                                          - id
                                                      - type: object
                                                        properties:
                                                          type:
                                                            type: string
                                                            enum:
                                                              - GROUP
                                                            description: Entity type
                                                          id:
                                                            type: number
                                                            description: Entity ID
                                                          iamId:
                                                            type: string
                                                            description: IAM ID
                                                          name:
                                                            type: string
                                                            description: Entity display name
                                                        required:
                                                          - type
                                                          - name
                                                      - type: object
                                                        properties:
                                                          type:
                                                            type: string
                                                            enum:
                                                              - PERMISSION
                                                          permission:
                                                            type: string
                                                            enum:
                                                              - GOVERNANCE
                                                              - USER_ADMIN
                                                              - AUDIT
                                                            description: Global permission
                                                        required:
                                                          - type
                                                          - permission
                                                      - type: object
                                                        properties:
                                                          type:
                                                            type: string
                                                            enum:
                                                              - DOMAIN PERMISSION
                                                          permission:
                                                            type: string
                                                            enum:
                                                              - Manage Policies
                                                              - Audit Activity
                                                              - Manage Data Products
                                                              - Manage Identifiers
                                                            description: Domain permission
                                                          domainId:
                                                            type: string
                                                            description: Domain ID
                                                        required:
                                                          - type
                                                          - permission
                                                      - type: object
                                                        properties:
                                                          type:
                                                            type: string
                                                            enum:
                                                              - ATTRIBUTE
                                                          key:
                                                            type: string
                                                            description: Attribute key
                                                          value:
                                                            type: string
                                                            description: Attribute value
                                                        required:
                                                          - type
                                                          - key
                                                          - value
                                                  minItems: 1
                                              required:
                                                - all
                                            - type: object
                                              properties:
                                                any:
                                                  type: array
                                                  items:
                                                    oneOf:
                                                      - type: object
                                                        properties:
                                                          type:
                                                            type: string
                                                            enum:
                                                              - USER
                                                            description: Entity type
                                                          id:
                                                            type: string
                                                            description: Entity ID
                                                          displayName:
                                                            type: string
                                                            description: Entity display name
                                                        required:
                                                          - type
                                                          - id
                                                      - type: object
                                                        properties:
                                                          type:
                                                            type: string
                                                            enum:
                                                              - GROUP
                                                            description: Entity type
                                                          id:
                                                            type: number
                                                            description: Entity ID
                                                          iamId:
                                                            type: string
                                                            description: IAM ID
                                                          name:
                                                            type: string
                                                            description: Entity display name
                                                        required:
                                                          - type
                                                          - name
                                                      - type: object
                                                        properties:
                                                          type:
                                                            type: string
                                                            enum:
                                                              - PERMISSION
                                                          permission:
                                                            type: string
                                                            enum:
                                                              - GOVERNANCE
                                                              - USER_ADMIN
                                                              - AUDIT
                                                            description: Global permission
                                                        required:
                                                          - type
                                                          - permission
                                                      - type: object
                                                        properties:
                                                          type:
                                                            type: string
                                                            enum:
                                                              - DOMAIN PERMISSION
                                                          permission:
                                                            type: string
                                                            enum:
                                                              - Manage Policies
                                                              - Audit Activity
                                                              - Manage Data Products
                                                              - Manage Identifiers
                                                            description: Domain permission
                                                          domainId:
                                                            type: string
                                                            description: Domain ID
                                                        required:
                                                          - type
                                                          - permission
                                                      - type: object
                                                        properties:
                                                          type:
                                                            type: string
                                                            enum:
                                                              - ATTRIBUTE
                                                          key:
                                                            type: string
                                                            description: Attribute key
                                                          value:
                                                            type: string
                                                            description: Attribute value
                                                        required:
                                                          - type
                                                          - key
                                                          - value
                                                  minItems: 1
                                              required:
                                                - any
                                        description: Array of stages for manual review
                                    required:
                                      - stages
                                required:
                                  - type
                                  - params
                              - type: object
                                properties:
                                  type:
                                    type: string
                                    enum:
                                      - dataProductPolicy
                                required:
                                  - type
                        required:
                          - conditions
                          - event
                    defaultEvent:
                      discriminator:
                        propertyName: type
                      oneOf:
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - approve
                            params:
                              type: object
                              properties:
                                comment:
                                  type: string
                                duration:
                                  type: number
                                  minimum: 1
                                durationUnit:
                                  type: string
                                  enum:
                                    - HOURS
                                    - DAYS
                                    - WEEKS
                                    - MONTHS
                                    - YEARS
                              additionalProperties: false
                          required:
                            - type
                            - params
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - review
                            params:
                              type: object
                              properties:
                                stages:
                                  type: array
                                  items:
                                    oneOf:
                                      - type: object
                                        properties:
                                          all:
                                            type: array
                                            items:
                                              oneOf:
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - USER
                                                      description: Entity type
                                                    id:
                                                      type: string
                                                      description: Entity ID
                                                    displayName:
                                                      type: string
                                                      description: Entity display name
                                                  required:
                                                    - type
                                                    - id
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - GROUP
                                                      description: Entity type
                                                    id:
                                                      type: number
                                                      description: Entity ID
                                                    iamId:
                                                      type: string
                                                      description: IAM ID
                                                    name:
                                                      type: string
                                                      description: Entity display name
                                                  required:
                                                    - type
                                                    - name
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - PERMISSION
                                                    permission:
                                                      type: string
                                                      enum:
                                                        - GOVERNANCE
                                                        - USER_ADMIN
                                                        - AUDIT
                                                      description: Global permission
                                                  required:
                                                    - type
                                                    - permission
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - DOMAIN PERMISSION
                                                    permission:
                                                      type: string
                                                      enum:
                                                        - Manage Policies
                                                        - Audit Activity
                                                        - Manage Data Products
                                                        - Manage Identifiers
                                                      description: Domain permission
                                                    domainId:
                                                      type: string
                                                      description: Domain ID
                                                  required:
                                                    - type
                                                    - permission
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - ATTRIBUTE
                                                    key:
                                                      type: string
                                                      description: Attribute key
                                                    value:
                                                      type: string
                                                      description: Attribute value
                                                  required:
                                                    - type
                                                    - key
                                                    - value
                                            minItems: 1
                                        required:
                                          - all
                                      - type: object
                                        properties:
                                          any:
                                            type: array
                                            items:
                                              oneOf:
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - USER
                                                      description: Entity type
                                                    id:
                                                      type: string
                                                      description: Entity ID
                                                    displayName:
                                                      type: string
                                                      description: Entity display name
                                                  required:
                                                    - type
                                                    - id
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - GROUP
                                                      description: Entity type
                                                    id:
                                                      type: number
                                                      description: Entity ID
                                                    iamId:
                                                      type: string
                                                      description: IAM ID
                                                    name:
                                                      type: string
                                                      description: Entity display name
                                                  required:
                                                    - type
                                                    - name
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - PERMISSION
                                                    permission:
                                                      type: string
                                                      enum:
                                                        - GOVERNANCE
                                                        - USER_ADMIN
                                                        - AUDIT
                                                      description: Global permission
                                                  required:
                                                    - type
                                                    - permission
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - DOMAIN PERMISSION
                                                    permission:
                                                      type: string
                                                      enum:
                                                        - Manage Policies
                                                        - Audit Activity
                                                        - Manage Data Products
                                                        - Manage Identifiers
                                                      description: Domain permission
                                                    domainId:
                                                      type: string
                                                      description: Domain ID
                                                  required:
                                                    - type
                                                    - permission
                                                - type: object
                                                  properties:
                                                    type:
                                                      type: string
                                                      enum:
                                                        - ATTRIBUTE
                                                    key:
                                                      type: string
                                                      description: Attribute key
                                                    value:
                                                      type: string
                                                      description: Attribute value
                                                  required:
                                                    - type
                                                    - key
                                                    - value
                                            minItems: 1
                                        required:
                                          - any
                                  description: Array of stages for manual review
                              required:
                                - stages
                          required:
                            - type
                            - params
                  required:
                    - rules
                    - defaultEvent
                  description: >-
                    Masking exception policy. If not provided, the asset will
                    inherit from a parent asset.
              required:
                - type
                - metadata
              additionalProperties: false
              description: >-
                The asset to request access or masking exception for. Only
                required for non-registered assets.
            requestType:
              type: string
              enum:
                - MASKING_EXCEPTION
            columns:
              type: array
              items:
                type: object
                properties:
                  columnName:
                    type: string
                    description: The name of the column to request masking exception for
                  sourceId:
                    type: string
                    description: The ID of the data source this column belongs to
                required:
                  - columnName
                  - sourceId
                description: Column in the data source to request masking exception for
              description: List of columns to request masking exception for
          required:
            - user
            - requestType
            - columns
      description: Payload for creating a request to an asset.
    CreateDataUseAgreement:
      type: object
      properties:
        id:
          type: string
          format: uuid
        name:
          type: string
          description: The name of data use agreement
        body:
          type: string
          description: The contents of data use agreement
      required:
        - name
        - body
    DataUseAgreement:
      type: object
      properties:
        id:
          type: string
          format: uuid
        name:
          type: string
          description: The name of data use agreement
        body:
          type: string
          description: The contents of data use agreement
        createdBy:
          type: object
          properties:
            globalUserId:
              type: string
              format: uuid
              description: Immuta global user ID
            name:
              type: string
              description: Display name
          required:
            - globalUserId
            - name
          description: The user who originally created the data use agreement
        createdAt:
          oneOf:
            - type: string
              format: date-time
            - type: string
              format: date-time
        updatedBy:
          type: object
          properties:
            globalUserId:
              type: string
              format: uuid
              description: Immuta global user ID
            name:
              type: string
              description: Display name
          required:
            - globalUserId
            - name
          description: The user who last updated the data use agreement
        updatedAt:
          oneOf:
            - type: string
              format: date-time
            - type: string
              format: date-time
      required:
        - id
        - name
        - body
        - createdBy
        - createdAt
        - updatedBy
        - updatedAt
      title: Data Use Agreement
    UpdateDataUseAgreement:
      type: object
      properties:
        name:
          type: string
          description: The name of data use agreement
        body:
          type: string
          description: The contents of data use agreement
    PaginatedDataUseAgreement:
      type: object
      properties:
        data:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
                format: uuid
              name:
                type: string
                description: The name of data use agreement
              body:
                type: string
                description: The contents of data use agreement
              createdBy:
                type: object
                properties:
                  globalUserId:
                    type: string
                    format: uuid
                    description: Immuta global user ID
                  name:
                    type: string
                    description: Display name
                required:
                  - globalUserId
                  - name
                description: The user who originally created the data use agreement
              createdAt:
                oneOf:
                  - type: string
                    format: date-time
                  - type: string
                    format: date-time
              updatedBy:
                type: object
                properties:
                  globalUserId:
                    type: string
                    format: uuid
                    description: Immuta global user ID
                  name:
                    type: string
                    description: Display name
                required:
                  - globalUserId
                  - name
                description: The user who last updated the data use agreement
              updatedAt:
                oneOf:
                  - type: string
                    format: date-time
                  - type: string
                    format: date-time
            required:
              - id
              - name
              - body
              - createdBy
              - createdAt
              - updatedBy
              - updatedAt
            title: Data Use Agreement
        meta:
          type: object
          properties:
            offset:
              default: 0
              type: number
              minimum: 0
            limit:
              default: 10
              type: number
              minimum: 1
            totalCount:
              type: number
            pageCount:
              type: number
            currentPage:
              type: number
            totalPages:
              type: number
          required:
            - totalCount
            - pageCount
            - currentPage
            - totalPages
      required:
        - data
        - meta
    AssociatedRequestForms:
      type: array
      items:
        type: object
        properties:
          id:
            type: string
            format: uuid
          name:
            type: string
            description: The name of the request form
        required:
          - id
          - name
      description: The request forms associated with the data use agreement
    UpdateApprovalRecordRequest:
      type: object
      properties:
        status:
          type: string
          enum:
            - APPROVED
            - BLOCKED
            - CANCELED
            - DENIED
            - PENDING
          example: PENDING
        reason:
          type: string
        duration:
          type: number
          minimum: 1
        durationUnit:
          type: string
          enum:
            - HOURS
            - DAYS
            - WEEKS
            - MONTHS
            - YEARS
      required:
        - status
      additionalProperties: false
    ApprovalRecord:
      type: object
      properties:
        id:
          type: string
          format: cuid
        dataAccessRequestId:
          type: string
          format: cuid
        approvers:
          type: array
          items:
            oneOf:
              - type: object
                properties:
                  type:
                    type: string
                    enum:
                      - USER
                    description: Entity type
                  id:
                    type: string
                    description: Entity ID
                  displayName:
                    type: string
                    description: Entity display name
                required:
                  - type
                  - id
              - type: object
                properties:
                  type:
                    type: string
                    enum:
                      - GROUP
                    description: Entity type
                  id:
                    type: number
                    description: Entity ID
                  iamId:
                    type: string
                    description: IAM ID
                  name:
                    type: string
                    description: Entity display name
                required:
                  - type
                  - name
              - type: object
                properties:
                  type:
                    type: string
                    enum:
                      - PERMISSION
                  permission:
                    type: string
                    enum:
                      - GOVERNANCE
                      - USER_ADMIN
                      - AUDIT
                    description: Global permission
                required:
                  - type
                  - permission
              - type: object
                properties:
                  type:
                    type: string
                    enum:
                      - DOMAIN PERMISSION
                  permission:
                    type: string
                    enum:
                      - Manage Policies
                      - Audit Activity
                      - Manage Data Products
                      - Manage Identifiers
                    description: Domain permission
                  domainId:
                    type: string
                    description: Domain ID
                required:
                  - type
                  - permission
              - type: object
                properties:
                  type:
                    type: string
                    enum:
                      - ATTRIBUTE
                  key:
                    type: string
                    description: Attribute key
                  value:
                    type: string
                    description: Attribute value
                required:
                  - type
                  - key
                  - value
        prerequisites:
          type: array
          items:
            type: string
        actionBy:
          type: object
          properties:
            id:
              type: number
            iamId:
              type: string
              description: ID of the IAM the user is associated with
            globalUserId:
              type: string
              format: uuid
              description: Immuta global user ID
            username:
              type: string
              description: Username/login name for the user
            name:
              type: string
              description: Display name
            email:
              type: string
              description: Email address
              nullable: true
            authorizations:
              type: object
              additionalProperties:
                type: array
                items:
                  type: string
          required:
            - id
            - iamId
            - globalUserId
            - username
            - name
          title: Immuta User
          description: The user who took action on this approval record
        status:
          type: string
          enum:
            - APPROVED
            - BLOCKED
            - CANCELED
            - DENIED
            - PENDING
          example: PENDING
        reason:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        approverCriteriaMet:
          oneOf:
            - type: array
              items:
                oneOf:
                  - type: object
                    properties:
                      type:
                        type: string
                        enum:
                          - USER
                        description: Entity type
                      id:
                        type: string
                        description: Entity ID
                      displayName:
                        type: string
                        description: Entity display name
                    required:
                      - type
                      - id
                  - type: object
                    properties:
                      type:
                        type: string
                        enum:
                          - GROUP
                        description: Entity type
                      id:
                        type: number
                        description: Entity ID
                      iamId:
                        type: string
                        description: IAM ID
                      name:
                        type: string
                        description: Entity display name
                    required:
                      - type
                      - name
                  - type: object
                    properties:
                      type:
                        type: string
                        enum:
                          - PERMISSION
                      permission:
                        type: string
                        enum:
                          - GOVERNANCE
                          - USER_ADMIN
                          - AUDIT
                        description: Global permission
                    required:
                      - type
                      - permission
                  - type: object
                    properties:
                      type:
                        type: string
                        enum:
                          - DOMAIN PERMISSION
                      permission:
                        type: string
                        enum:
                          - Manage Policies
                          - Audit Activity
                          - Manage Data Products
                          - Manage Identifiers
                        description: Domain permission
                      domainId:
                        type: string
                        description: Domain ID
                    required:
                      - type
                      - permission
                  - type: object
                    properties:
                      type:
                        type: string
                        enum:
                          - ATTRIBUTE
                      key:
                        type: string
                        description: Attribute key
                      value:
                        type: string
                        description: Attribute value
                    required:
                      - type
                      - key
                      - value
          nullable: true
        duration:
          oneOf:
            - type: number
          nullable: true
        durationUnit:
          oneOf:
            - type: string
          nullable: true
      required:
        - id
        - dataAccessRequestId
        - approvers
        - prerequisites
        - status
        - createdAt
        - updatedAt
        - approverCriteriaMet
        - duration
        - durationUnit
    AuthLoginResponse:
      type: object
      properties:
        redirectUrl:
          type: string
      required:
        - redirectUrl
    AuthLogoutResponse:
      type: object
      properties:
        redirectUrl:
          type: string
      required:
        - redirectUrl
    AuthCallbackBody:
      type: object
      properties:
        access_token:
          type: string
        code:
          type: string
        error:
          type: string
        error_description:
          type: string
        error_uri:
          type: string
        expires_in:
          type: string
        id_token:
          type: string
        state:
          type: string
        token_type:
          type: string
        session_state:
          type: string
        response:
          type: string
    UserWithPermissionsAndEntitlements:
      type: object
      properties:
        displayName:
          type: string
        username:
          type: string
        expiration:
          type: number
        globalUserId:
          type: string
        trackingId:
          type: string
        tenantInfo:
          type: object
          properties:
            id:
              type: string
              format: uuid
            fqdn:
              type: string
            organizationId:
              type: string
            organizationName:
              type: string
            globalSegment:
              type: string
          required:
            - id
        email:
          oneOf:
            - type: string
              format: email
          nullable: true
        globalPermissions:
          default: []
          type: array
          items:
            type: string
        collectionPermissions:
          default: {}
          type: object
          additionalProperties:
            type: array
            items:
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                createdAt:
                  type: string
                  format: date-time
                collectionId:
                  type: string
                  format: uuid
                permission:
                  type: string
                profileId:
                  oneOf:
                    - oneOf:
                        - type: number
                        - {}
                  nullable: true
                groupId:
                  oneOf:
                    - oneOf:
                        - type: number
                        - {}
                  nullable: true
              required:
                - id
                - createdAt
                - collectionId
                - permission
              title: User Collection Permission
          description: Collection permissions indexed by collection ID
        authorizations:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
        groups:
          type: array
          items:
            type: string
        chameleonUID:
          type: string
      required:
        - displayName
        - username
        - expiration
        - globalUserId
        - trackingId
        - tenantInfo
        - authorizations
        - groups
      title: User With Permissions
    PersonalAccessToken:
      type: object
      properties:
        tokenId:
          type: string
          format: uuid
        userId:
          type: string
          format: uuid
        tenantId:
          type: string
          format: uuid
        description:
          type: string
        active:
          type: boolean
        creationDate:
          type: string
          format: date-time
        expirationDate:
          type: string
          format: date-time
      required:
        - tokenId
        - userId
        - tenantId
        - description
        - active
    CreatePersonalAccessToken:
      type: object
      properties:
        description:
          type: string
        expirationDate:
          type: string
          format: date-time
      required:
        - description
    CreatePersonalAccessTokenResponse:
      type: object
      properties:
        tokenId:
          type: string
          format: uuid
        token:
          type: string
      required:
        - tokenId
        - token
    FrontendSettings:
      type: object
      properties:
        theme:
          type: object
          properties:
            primaryColor:
              type: string
            accentColor:
              type: string
            lightModeImage:
              oneOf:
                - type: string
              nullable: true
            darkModeImage:
              oneOf:
                - type: string
              nullable: true
        featureFlags:
          type: object
          properties:
            statsigClientKey:
              oneOf:
                - type: string
              nullable: true
            statsigEnvironment:
              oneOf:
                - type: string
              nullable: true
    CreateRequestForm:
      type: object
      properties:
        name:
          type: string
        fields:
          type: array
          items:
            discriminator:
              propertyName: type
            oneOf:
              - type: object
                properties:
                  id:
                    type: string
                    format: uuid
                  type:
                    type: string
                    enum:
                      - DROPDOWN
                      - CHECKBOXES
                  label:
                    type: string
                  required:
                    default: true
                    type: boolean
                  options:
                    type: array
                    items:
                      type: object
                      properties:
                        value:
                          type: string
                      required:
                        - value
                required:
                  - id
                  - type
                  - label
                  - options
                title: Selection Form Field
              - type: object
                properties:
                  id:
                    type: string
                    format: uuid
                  type:
                    type: string
                    enum:
                      - SHORT_ANSWER
                  label:
                    type: string
                  required:
                    default: true
                    type: boolean
                required:
                  - id
                  - type
                  - label
                title: Short Answer Form Field
              - type: object
                properties:
                  id:
                    type: string
                    format: uuid
                  type:
                    type: string
                    enum:
                      - ACCESS_DURATION
                  label:
                    type: string
                    enum:
                      - How long do you need access to this data?
                  required:
                    type: boolean
                    enum:
                      - true
                required:
                  - id
                  - type
                  - label
                  - required
                title: Access Duration Form Field
          title: RequestFormFields
        policy:
          type: object
          properties:
            version:
              type: string
              description: Policy schema version
            rules:
              type: array
              items:
                type: object
                properties:
                  conditions:
                    oneOf:
                      - type: object
                        properties:
                          all:
                            type: array
                            items: {}
                        required:
                          - all
                        additionalProperties: false
                      - type: object
                        properties:
                          any:
                            type: array
                            items: {}
                        required:
                          - any
                        additionalProperties: false
                      - type: object
                        properties:
                          not: {}
                        required:
                          - not
                        additionalProperties: false
                  event:
                    discriminator:
                      propertyName: type
                    oneOf:
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - approve
                          params:
                            type: object
                            properties:
                              comment:
                                type: string
                              duration:
                                type: number
                                minimum: 1
                              durationUnit:
                                type: string
                                enum:
                                  - HOURS
                                  - DAYS
                                  - WEEKS
                                  - MONTHS
                                  - YEARS
                            additionalProperties: false
                        required:
                          - type
                          - params
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - deny
                          params:
                            type: object
                            properties:
                              comment:
                                type: string
                        required:
                          - type
                          - params
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - review
                          params:
                            type: object
                            properties:
                              stages:
                                type: array
                                items:
                                  oneOf:
                                    - type: object
                                      properties:
                                        all:
                                          type: array
                                          items:
                                            oneOf:
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - USER
                                                    description: Entity type
                                                  id:
                                                    type: string
                                                    description: Entity ID
                                                  displayName:
                                                    type: string
                                                    description: Entity display name
                                                required:
                                                  - type
                                                  - id
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - GROUP
                                                    description: Entity type
                                                  id:
                                                    type: number
                                                    description: Entity ID
                                                  iamId:
                                                    type: string
                                                    description: IAM ID
                                                  name:
                                                    type: string
                                                    description: Entity display name
                                                required:
                                                  - type
                                                  - name
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - PERMISSION
                                                  permission:
                                                    type: string
                                                    enum:
                                                      - GOVERNANCE
                                                      - USER_ADMIN
                                                      - AUDIT
                                                    description: Global permission
                                                required:
                                                  - type
                                                  - permission
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - DOMAIN PERMISSION
                                                  permission:
                                                    type: string
                                                    enum:
                                                      - Manage Policies
                                                      - Audit Activity
                                                      - Manage Data Products
                                                      - Manage Identifiers
                                                    description: Domain permission
                                                  domainId:
                                                    type: string
                                                    description: Domain ID
                                                required:
                                                  - type
                                                  - permission
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - ATTRIBUTE
                                                  key:
                                                    type: string
                                                    description: Attribute key
                                                  value:
                                                    type: string
                                                    description: Attribute value
                                                required:
                                                  - type
                                                  - key
                                                  - value
                                          minItems: 1
                                      required:
                                        - all
                                    - type: object
                                      properties:
                                        any:
                                          type: array
                                          items:
                                            oneOf:
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - USER
                                                    description: Entity type
                                                  id:
                                                    type: string
                                                    description: Entity ID
                                                  displayName:
                                                    type: string
                                                    description: Entity display name
                                                required:
                                                  - type
                                                  - id
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - GROUP
                                                    description: Entity type
                                                  id:
                                                    type: number
                                                    description: Entity ID
                                                  iamId:
                                                    type: string
                                                    description: IAM ID
                                                  name:
                                                    type: string
                                                    description: Entity display name
                                                required:
                                                  - type
                                                  - name
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - PERMISSION
                                                  permission:
                                                    type: string
                                                    enum:
                                                      - GOVERNANCE
                                                      - USER_ADMIN
                                                      - AUDIT
                                                    description: Global permission
                                                required:
                                                  - type
                                                  - permission
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - DOMAIN PERMISSION
                                                  permission:
                                                    type: string
                                                    enum:
                                                      - Manage Policies
                                                      - Audit Activity
                                                      - Manage Data Products
                                                      - Manage Identifiers
                                                    description: Domain permission
                                                  domainId:
                                                    type: string
                                                    description: Domain ID
                                                required:
                                                  - type
                                                  - permission
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - ATTRIBUTE
                                                  key:
                                                    type: string
                                                    description: Attribute key
                                                  value:
                                                    type: string
                                                    description: Attribute value
                                                required:
                                                  - type
                                                  - key
                                                  - value
                                          minItems: 1
                                      required:
                                        - any
                                description: Array of stages for manual review
                            required:
                              - stages
                        required:
                          - type
                          - params
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - dataProductPolicy
                        required:
                          - type
                required:
                  - conditions
                  - event
            defaultEvent:
              discriminator:
                propertyName: type
              oneOf:
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - approve
                    params:
                      type: object
                      properties:
                        comment:
                          type: string
                        duration:
                          type: number
                          minimum: 1
                        durationUnit:
                          type: string
                          enum:
                            - HOURS
                            - DAYS
                            - WEEKS
                            - MONTHS
                            - YEARS
                      additionalProperties: false
                  required:
                    - type
                    - params
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - deny
                    params:
                      type: object
                      properties:
                        comment:
                          type: string
                  required:
                    - type
                    - params
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - review
                    params:
                      type: object
                      properties:
                        stages:
                          type: array
                          items:
                            oneOf:
                              - type: object
                                properties:
                                  all:
                                    type: array
                                    items:
                                      oneOf:
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - USER
                                              description: Entity type
                                            id:
                                              type: string
                                              description: Entity ID
                                            displayName:
                                              type: string
                                              description: Entity display name
                                          required:
                                            - type
                                            - id
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - GROUP
                                              description: Entity type
                                            id:
                                              type: number
                                              description: Entity ID
                                            iamId:
                                              type: string
                                              description: IAM ID
                                            name:
                                              type: string
                                              description: Entity display name
                                          required:
                                            - type
                                            - name
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - PERMISSION
                                            permission:
                                              type: string
                                              enum:
                                                - GOVERNANCE
                                                - USER_ADMIN
                                                - AUDIT
                                              description: Global permission
                                          required:
                                            - type
                                            - permission
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - DOMAIN PERMISSION
                                            permission:
                                              type: string
                                              enum:
                                                - Manage Policies
                                                - Audit Activity
                                                - Manage Data Products
                                                - Manage Identifiers
                                              description: Domain permission
                                            domainId:
                                              type: string
                                              description: Domain ID
                                          required:
                                            - type
                                            - permission
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - ATTRIBUTE
                                            key:
                                              type: string
                                              description: Attribute key
                                            value:
                                              type: string
                                              description: Attribute value
                                          required:
                                            - type
                                            - key
                                            - value
                                    minItems: 1
                                required:
                                  - all
                              - type: object
                                properties:
                                  any:
                                    type: array
                                    items:
                                      oneOf:
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - USER
                                              description: Entity type
                                            id:
                                              type: string
                                              description: Entity ID
                                            displayName:
                                              type: string
                                              description: Entity display name
                                          required:
                                            - type
                                            - id
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - GROUP
                                              description: Entity type
                                            id:
                                              type: number
                                              description: Entity ID
                                            iamId:
                                              type: string
                                              description: IAM ID
                                            name:
                                              type: string
                                              description: Entity display name
                                          required:
                                            - type
                                            - name
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - PERMISSION
                                            permission:
                                              type: string
                                              enum:
                                                - GOVERNANCE
                                                - USER_ADMIN
                                                - AUDIT
                                              description: Global permission
                                          required:
                                            - type
                                            - permission
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - DOMAIN PERMISSION
                                            permission:
                                              type: string
                                              enum:
                                                - Manage Policies
                                                - Audit Activity
                                                - Manage Data Products
                                                - Manage Identifiers
                                              description: Domain permission
                                            domainId:
                                              type: string
                                              description: Domain ID
                                          required:
                                            - type
                                            - permission
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - ATTRIBUTE
                                            key:
                                              type: string
                                              description: Attribute key
                                            value:
                                              type: string
                                              description: Attribute value
                                          required:
                                            - type
                                            - key
                                            - value
                                    minItems: 1
                                required:
                                  - any
                          description: Array of stages for manual review
                      required:
                        - stages
                  required:
                    - type
                    - params
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - dataProductPolicy
                  required:
                    - type
          required:
            - rules
            - defaultEvent
        id:
          type: string
          format: uuid
        dataUseAgreementIds:
          type: array
          items:
            type: string
            format: uuid
      required:
        - name
        - fields
        - policy
    RequestForm:
      type: object
      properties:
        id:
          type: string
          format: uuid
        name:
          type: string
        fields:
          type: array
          items:
            discriminator:
              propertyName: type
            oneOf:
              - type: object
                properties:
                  id:
                    type: string
                    format: uuid
                  type:
                    type: string
                    enum:
                      - DROPDOWN
                      - CHECKBOXES
                  label:
                    type: string
                  required:
                    default: true
                    type: boolean
                  options:
                    type: array
                    items:
                      type: object
                      properties:
                        value:
                          type: string
                      required:
                        - value
                required:
                  - id
                  - type
                  - label
                  - options
                title: Selection Form Field
              - type: object
                properties:
                  id:
                    type: string
                    format: uuid
                  type:
                    type: string
                    enum:
                      - SHORT_ANSWER
                  label:
                    type: string
                  required:
                    default: true
                    type: boolean
                required:
                  - id
                  - type
                  - label
                title: Short Answer Form Field
              - type: object
                properties:
                  id:
                    type: string
                    format: uuid
                  type:
                    type: string
                    enum:
                      - ACCESS_DURATION
                  label:
                    type: string
                    enum:
                      - How long do you need access to this data?
                  required:
                    type: boolean
                    enum:
                      - true
                required:
                  - id
                  - type
                  - label
                  - required
                title: Access Duration Form Field
          title: RequestFormFields
        policy:
          type: object
          properties:
            version:
              type: string
              description: Policy schema version
            rules:
              type: array
              items:
                type: object
                properties:
                  conditions:
                    oneOf:
                      - type: object
                        properties:
                          all:
                            type: array
                            items: {}
                        required:
                          - all
                        additionalProperties: false
                      - type: object
                        properties:
                          any:
                            type: array
                            items: {}
                        required:
                          - any
                        additionalProperties: false
                      - type: object
                        properties:
                          not: {}
                        required:
                          - not
                        additionalProperties: false
                  event:
                    discriminator:
                      propertyName: type
                    oneOf:
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - approve
                          params:
                            type: object
                            properties:
                              comment:
                                type: string
                              duration:
                                type: number
                                minimum: 1
                              durationUnit:
                                type: string
                                enum:
                                  - HOURS
                                  - DAYS
                                  - WEEKS
                                  - MONTHS
                                  - YEARS
                            additionalProperties: false
                        required:
                          - type
                          - params
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - deny
                          params:
                            type: object
                            properties:
                              comment:
                                type: string
                        required:
                          - type
                          - params
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - review
                          params:
                            type: object
                            properties:
                              stages:
                                type: array
                                items:
                                  oneOf:
                                    - type: object
                                      properties:
                                        all:
                                          type: array
                                          items:
                                            oneOf:
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - USER
                                                    description: Entity type
                                                  id:
                                                    type: string
                                                    description: Entity ID
                                                  displayName:
                                                    type: string
                                                    description: Entity display name
                                                required:
                                                  - type
                                                  - id
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - GROUP
                                                    description: Entity type
                                                  id:
                                                    type: number
                                                    description: Entity ID
                                                  iamId:
                                                    type: string
                                                    description: IAM ID
                                                  name:
                                                    type: string
                                                    description: Entity display name
                                                required:
                                                  - type
                                                  - name
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - PERMISSION
                                                  permission:
                                                    type: string
                                                    enum:
                                                      - GOVERNANCE
                                                      - USER_ADMIN
                                                      - AUDIT
                                                    description: Global permission
                                                required:
                                                  - type
                                                  - permission
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - DOMAIN PERMISSION
                                                  permission:
                                                    type: string
                                                    enum:
                                                      - Manage Policies
                                                      - Audit Activity
                                                      - Manage Data Products
                                                      - Manage Identifiers
                                                    description: Domain permission
                                                  domainId:
                                                    type: string
                                                    description: Domain ID
                                                required:
                                                  - type
                                                  - permission
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - ATTRIBUTE
                                                  key:
                                                    type: string
                                                    description: Attribute key
                                                  value:
                                                    type: string
                                                    description: Attribute value
                                                required:
                                                  - type
                                                  - key
                                                  - value
                                          minItems: 1
                                      required:
                                        - all
                                    - type: object
                                      properties:
                                        any:
                                          type: array
                                          items:
                                            oneOf:
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - USER
                                                    description: Entity type
                                                  id:
                                                    type: string
                                                    description: Entity ID
                                                  displayName:
                                                    type: string
                                                    description: Entity display name
                                                required:
                                                  - type
                                                  - id
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - GROUP
                                                    description: Entity type
                                                  id:
                                                    type: number
                                                    description: Entity ID
                                                  iamId:
                                                    type: string
                                                    description: IAM ID
                                                  name:
                                                    type: string
                                                    description: Entity display name
                                                required:
                                                  - type
                                                  - name
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - PERMISSION
                                                  permission:
                                                    type: string
                                                    enum:
                                                      - GOVERNANCE
                                                      - USER_ADMIN
                                                      - AUDIT
                                                    description: Global permission
                                                required:
                                                  - type
                                                  - permission
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - DOMAIN PERMISSION
                                                  permission:
                                                    type: string
                                                    enum:
                                                      - Manage Policies
                                                      - Audit Activity
                                                      - Manage Data Products
                                                      - Manage Identifiers
                                                    description: Domain permission
                                                  domainId:
                                                    type: string
                                                    description: Domain ID
                                                required:
                                                  - type
                                                  - permission
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - ATTRIBUTE
                                                  key:
                                                    type: string
                                                    description: Attribute key
                                                  value:
                                                    type: string
                                                    description: Attribute value
                                                required:
                                                  - type
                                                  - key
                                                  - value
                                          minItems: 1
                                      required:
                                        - any
                                description: Array of stages for manual review
                            required:
                              - stages
                        required:
                          - type
                          - params
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - dataProductPolicy
                        required:
                          - type
                required:
                  - conditions
                  - event
            defaultEvent:
              discriminator:
                propertyName: type
              oneOf:
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - approve
                    params:
                      type: object
                      properties:
                        comment:
                          type: string
                        duration:
                          type: number
                          minimum: 1
                        durationUnit:
                          type: string
                          enum:
                            - HOURS
                            - DAYS
                            - WEEKS
                            - MONTHS
                            - YEARS
                      additionalProperties: false
                  required:
                    - type
                    - params
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - deny
                    params:
                      type: object
                      properties:
                        comment:
                          type: string
                  required:
                    - type
                    - params
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - review
                    params:
                      type: object
                      properties:
                        stages:
                          type: array
                          items:
                            oneOf:
                              - type: object
                                properties:
                                  all:
                                    type: array
                                    items:
                                      oneOf:
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - USER
                                              description: Entity type
                                            id:
                                              type: string
                                              description: Entity ID
                                            displayName:
                                              type: string
                                              description: Entity display name
                                          required:
                                            - type
                                            - id
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - GROUP
                                              description: Entity type
                                            id:
                                              type: number
                                              description: Entity ID
                                            iamId:
                                              type: string
                                              description: IAM ID
                                            name:
                                              type: string
                                              description: Entity display name
                                          required:
                                            - type
                                            - name
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - PERMISSION
                                            permission:
                                              type: string
                                              enum:
                                                - GOVERNANCE
                                                - USER_ADMIN
                                                - AUDIT
                                              description: Global permission
                                          required:
                                            - type
                                            - permission
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - DOMAIN PERMISSION
                                            permission:
                                              type: string
                                              enum:
                                                - Manage Policies
                                                - Audit Activity
                                                - Manage Data Products
                                                - Manage Identifiers
                                              description: Domain permission
                                            domainId:
                                              type: string
                                              description: Domain ID
                                          required:
                                            - type
                                            - permission
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - ATTRIBUTE
                                            key:
                                              type: string
                                              description: Attribute key
                                            value:
                                              type: string
                                              description: Attribute value
                                          required:
                                            - type
                                            - key
                                            - value
                                    minItems: 1
                                required:
                                  - all
                              - type: object
                                properties:
                                  any:
                                    type: array
                                    items:
                                      oneOf:
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - USER
                                              description: Entity type
                                            id:
                                              type: string
                                              description: Entity ID
                                            displayName:
                                              type: string
                                              description: Entity display name
                                          required:
                                            - type
                                            - id
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - GROUP
                                              description: Entity type
                                            id:
                                              type: number
                                              description: Entity ID
                                            iamId:
                                              type: string
                                              description: IAM ID
                                            name:
                                              type: string
                                              description: Entity display name
                                          required:
                                            - type
                                            - name
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - PERMISSION
                                            permission:
                                              type: string
                                              enum:
                                                - GOVERNANCE
                                                - USER_ADMIN
                                                - AUDIT
                                              description: Global permission
                                          required:
                                            - type
                                            - permission
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - DOMAIN PERMISSION
                                            permission:
                                              type: string
                                              enum:
                                                - Manage Policies
                                                - Audit Activity
                                                - Manage Data Products
                                                - Manage Identifiers
                                              description: Domain permission
                                            domainId:
                                              type: string
                                              description: Domain ID
                                          required:
                                            - type
                                            - permission
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - ATTRIBUTE
                                            key:
                                              type: string
                                              description: Attribute key
                                            value:
                                              type: string
                                              description: Attribute value
                                          required:
                                            - type
                                            - key
                                            - value
                                    minItems: 1
                                required:
                                  - any
                          description: Array of stages for manual review
                      required:
                        - stages
                  required:
                    - type
                    - params
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - dataProductPolicy
                  required:
                    - type
          required:
            - rules
            - defaultEvent
        dataUseAgreements:
          default: *ref_31
          type: array
          items:
            type: object
            properties:
              id:
                type: string
                format: uuid
              name:
                type: string
                description: The name of data use agreement
              body:
                type: string
                description: The contents of data use agreement
            required:
              - id
              - name
              - body
          title: Request Form Data Use Agreements
        createdBy:
          type: object
          properties:
            globalUserId:
              type: string
              format: uuid
              description: Immuta global user ID
            name:
              type: string
              description: Display name
          required:
            - globalUserId
            - name
          description: The user who originally created the request form
        createdAt:
          oneOf:
            - type: string
              format: date-time
            - type: string
              format: date-time
        updatedBy:
          type: object
          properties:
            globalUserId:
              type: string
              format: uuid
              description: Immuta global user ID
            name:
              type: string
              description: Display name
          required:
            - globalUserId
            - name
          description: The user who last updated the request form
        updatedAt:
          oneOf:
            - type: string
              format: date-time
            - type: string
              format: date-time
        version:
          type: string
          format: cuid
          description: The current version of the request form
      required:
        - id
        - name
        - fields
        - policy
        - createdBy
        - createdAt
        - updatedBy
        - updatedAt
        - version
      title: Request Form
    PaginatedRequestForm:
      type: object
      properties:
        data:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
                format: uuid
              name:
                type: string
              fields:
                type: array
                items:
                  discriminator:
                    propertyName: type
                  oneOf:
                    - type: object
                      properties:
                        id:
                          type: string
                          format: uuid
                        type:
                          type: string
                          enum:
                            - DROPDOWN
                            - CHECKBOXES
                        label:
                          type: string
                        required:
                          default: true
                          type: boolean
                        options:
                          type: array
                          items:
                            type: object
                            properties:
                              value:
                                type: string
                            required:
                              - value
                      required:
                        - id
                        - type
                        - label
                        - options
                      title: Selection Form Field
                    - type: object
                      properties:
                        id:
                          type: string
                          format: uuid
                        type:
                          type: string
                          enum:
                            - SHORT_ANSWER
                        label:
                          type: string
                        required:
                          default: true
                          type: boolean
                      required:
                        - id
                        - type
                        - label
                      title: Short Answer Form Field
                    - type: object
                      properties:
                        id:
                          type: string
                          format: uuid
                        type:
                          type: string
                          enum:
                            - ACCESS_DURATION
                        label:
                          type: string
                          enum:
                            - How long do you need access to this data?
                        required:
                          type: boolean
                          enum:
                            - true
                      required:
                        - id
                        - type
                        - label
                        - required
                      title: Access Duration Form Field
                title: RequestFormFields
              policy:
                type: object
                properties:
                  version:
                    type: string
                    description: Policy schema version
                  rules:
                    type: array
                    items:
                      type: object
                      properties:
                        conditions:
                          oneOf:
                            - type: object
                              properties:
                                all:
                                  type: array
                                  items: {}
                              required:
                                - all
                              additionalProperties: false
                            - type: object
                              properties:
                                any:
                                  type: array
                                  items: {}
                              required:
                                - any
                              additionalProperties: false
                            - type: object
                              properties:
                                not: {}
                              required:
                                - not
                              additionalProperties: false
                        event:
                          discriminator:
                            propertyName: type
                          oneOf:
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - approve
                                params:
                                  type: object
                                  properties:
                                    comment:
                                      type: string
                                    duration:
                                      type: number
                                      minimum: 1
                                    durationUnit:
                                      type: string
                                      enum:
                                        - HOURS
                                        - DAYS
                                        - WEEKS
                                        - MONTHS
                                        - YEARS
                                  additionalProperties: false
                              required:
                                - type
                                - params
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - deny
                                params:
                                  type: object
                                  properties:
                                    comment:
                                      type: string
                              required:
                                - type
                                - params
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - review
                                params:
                                  type: object
                                  properties:
                                    stages:
                                      type: array
                                      items:
                                        oneOf:
                                          - type: object
                                            properties:
                                              all:
                                                type: array
                                                items:
                                                  oneOf:
                                                    - type: object
                                                      properties:
                                                        type:
                                                          type: string
                                                          enum:
                                                            - USER
                                                          description: Entity type
                                                        id:
                                                          type: string
                                                          description: Entity ID
                                                        displayName:
                                                          type: string
                                                          description: Entity display name
                                                      required:
                                                        - type
                                                        - id
                                                    - type: object
                                                      properties:
                                                        type:
                                                          type: string
                                                          enum:
                                                            - GROUP
                                                          description: Entity type
                                                        id:
                                                          type: number
                                                          description: Entity ID
                                                        iamId:
                                                          type: string
                                                          description: IAM ID
                                                        name:
                                                          type: string
                                                          description: Entity display name
                                                      required:
                                                        - type
                                                        - name
                                                    - type: object
                                                      properties:
                                                        type:
                                                          type: string
                                                          enum:
                                                            - PERMISSION
                                                        permission:
                                                          type: string
                                                          enum:
                                                            - GOVERNANCE
                                                            - USER_ADMIN
                                                            - AUDIT
                                                          description: Global permission
                                                      required:
                                                        - type
                                                        - permission
                                                    - type: object
                                                      properties:
                                                        type:
                                                          type: string
                                                          enum:
                                                            - DOMAIN PERMISSION
                                                        permission:
                                                          type: string
                                                          enum:
                                                            - Manage Policies
                                                            - Audit Activity
                                                            - Manage Data Products
                                                            - Manage Identifiers
                                                          description: Domain permission
                                                        domainId:
                                                          type: string
                                                          description: Domain ID
                                                      required:
                                                        - type
                                                        - permission
                                                    - type: object
                                                      properties:
                                                        type:
                                                          type: string
                                                          enum:
                                                            - ATTRIBUTE
                                                        key:
                                                          type: string
                                                          description: Attribute key
                                                        value:
                                                          type: string
                                                          description: Attribute value
                                                      required:
                                                        - type
                                                        - key
                                                        - value
                                                minItems: 1
                                            required:
                                              - all
                                          - type: object
                                            properties:
                                              any:
                                                type: array
                                                items:
                                                  oneOf:
                                                    - type: object
                                                      properties:
                                                        type:
                                                          type: string
                                                          enum:
                                                            - USER
                                                          description: Entity type
                                                        id:
                                                          type: string
                                                          description: Entity ID
                                                        displayName:
                                                          type: string
                                                          description: Entity display name
                                                      required:
                                                        - type
                                                        - id
                                                    - type: object
                                                      properties:
                                                        type:
                                                          type: string
                                                          enum:
                                                            - GROUP
                                                          description: Entity type
                                                        id:
                                                          type: number
                                                          description: Entity ID
                                                        iamId:
                                                          type: string
                                                          description: IAM ID
                                                        name:
                                                          type: string
                                                          description: Entity display name
                                                      required:
                                                        - type
                                                        - name
                                                    - type: object
                                                      properties:
                                                        type:
                                                          type: string
                                                          enum:
                                                            - PERMISSION
                                                        permission:
                                                          type: string
                                                          enum:
                                                            - GOVERNANCE
                                                            - USER_ADMIN
                                                            - AUDIT
                                                          description: Global permission
                                                      required:
                                                        - type
                                                        - permission
                                                    - type: object
                                                      properties:
                                                        type:
                                                          type: string
                                                          enum:
                                                            - DOMAIN PERMISSION
                                                        permission:
                                                          type: string
                                                          enum:
                                                            - Manage Policies
                                                            - Audit Activity
                                                            - Manage Data Products
                                                            - Manage Identifiers
                                                          description: Domain permission
                                                        domainId:
                                                          type: string
                                                          description: Domain ID
                                                      required:
                                                        - type
                                                        - permission
                                                    - type: object
                                                      properties:
                                                        type:
                                                          type: string
                                                          enum:
                                                            - ATTRIBUTE
                                                        key:
                                                          type: string
                                                          description: Attribute key
                                                        value:
                                                          type: string
                                                          description: Attribute value
                                                      required:
                                                        - type
                                                        - key
                                                        - value
                                                minItems: 1
                                            required:
                                              - any
                                      description: Array of stages for manual review
                                  required:
                                    - stages
                              required:
                                - type
                                - params
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - dataProductPolicy
                              required:
                                - type
                      required:
                        - conditions
                        - event
                  defaultEvent:
                    discriminator:
                      propertyName: type
                    oneOf:
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - approve
                          params:
                            type: object
                            properties:
                              comment:
                                type: string
                              duration:
                                type: number
                                minimum: 1
                              durationUnit:
                                type: string
                                enum:
                                  - HOURS
                                  - DAYS
                                  - WEEKS
                                  - MONTHS
                                  - YEARS
                            additionalProperties: false
                        required:
                          - type
                          - params
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - deny
                          params:
                            type: object
                            properties:
                              comment:
                                type: string
                        required:
                          - type
                          - params
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - review
                          params:
                            type: object
                            properties:
                              stages:
                                type: array
                                items:
                                  oneOf:
                                    - type: object
                                      properties:
                                        all:
                                          type: array
                                          items:
                                            oneOf:
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - USER
                                                    description: Entity type
                                                  id:
                                                    type: string
                                                    description: Entity ID
                                                  displayName:
                                                    type: string
                                                    description: Entity display name
                                                required:
                                                  - type
                                                  - id
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - GROUP
                                                    description: Entity type
                                                  id:
                                                    type: number
                                                    description: Entity ID
                                                  iamId:
                                                    type: string
                                                    description: IAM ID
                                                  name:
                                                    type: string
                                                    description: Entity display name
                                                required:
                                                  - type
                                                  - name
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - PERMISSION
                                                  permission:
                                                    type: string
                                                    enum:
                                                      - GOVERNANCE
                                                      - USER_ADMIN
                                                      - AUDIT
                                                    description: Global permission
                                                required:
                                                  - type
                                                  - permission
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - DOMAIN PERMISSION
                                                  permission:
                                                    type: string
                                                    enum:
                                                      - Manage Policies
                                                      - Audit Activity
                                                      - Manage Data Products
                                                      - Manage Identifiers
                                                    description: Domain permission
                                                  domainId:
                                                    type: string
                                                    description: Domain ID
                                                required:
                                                  - type
                                                  - permission
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - ATTRIBUTE
                                                  key:
                                                    type: string
                                                    description: Attribute key
                                                  value:
                                                    type: string
                                                    description: Attribute value
                                                required:
                                                  - type
                                                  - key
                                                  - value
                                          minItems: 1
                                      required:
                                        - all
                                    - type: object
                                      properties:
                                        any:
                                          type: array
                                          items:
                                            oneOf:
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - USER
                                                    description: Entity type
                                                  id:
                                                    type: string
                                                    description: Entity ID
                                                  displayName:
                                                    type: string
                                                    description: Entity display name
                                                required:
                                                  - type
                                                  - id
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - GROUP
                                                    description: Entity type
                                                  id:
                                                    type: number
                                                    description: Entity ID
                                                  iamId:
                                                    type: string
                                                    description: IAM ID
                                                  name:
                                                    type: string
                                                    description: Entity display name
                                                required:
                                                  - type
                                                  - name
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - PERMISSION
                                                  permission:
                                                    type: string
                                                    enum:
                                                      - GOVERNANCE
                                                      - USER_ADMIN
                                                      - AUDIT
                                                    description: Global permission
                                                required:
                                                  - type
                                                  - permission
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - DOMAIN PERMISSION
                                                  permission:
                                                    type: string
                                                    enum:
                                                      - Manage Policies
                                                      - Audit Activity
                                                      - Manage Data Products
                                                      - Manage Identifiers
                                                    description: Domain permission
                                                  domainId:
                                                    type: string
                                                    description: Domain ID
                                                required:
                                                  - type
                                                  - permission
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - ATTRIBUTE
                                                  key:
                                                    type: string
                                                    description: Attribute key
                                                  value:
                                                    type: string
                                                    description: Attribute value
                                                required:
                                                  - type
                                                  - key
                                                  - value
                                          minItems: 1
                                      required:
                                        - any
                                description: Array of stages for manual review
                            required:
                              - stages
                        required:
                          - type
                          - params
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - dataProductPolicy
                        required:
                          - type
                required:
                  - rules
                  - defaultEvent
              dataUseAgreements:
                default: *ref_31
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: string
                      format: uuid
                    name:
                      type: string
                      description: The name of data use agreement
                    body:
                      type: string
                      description: The contents of data use agreement
                  required:
                    - id
                    - name
                    - body
                title: Request Form Data Use Agreements
              createdBy:
                type: object
                properties:
                  globalUserId:
                    type: string
                    format: uuid
                    description: Immuta global user ID
                  name:
                    type: string
                    description: Display name
                required:
                  - globalUserId
                  - name
                description: The user who originally created the request form
              createdAt:
                oneOf:
                  - type: string
                    format: date-time
                  - type: string
                    format: date-time
              updatedBy:
                type: object
                properties:
                  globalUserId:
                    type: string
                    format: uuid
                    description: Immuta global user ID
                  name:
                    type: string
                    description: Display name
                required:
                  - globalUserId
                  - name
                description: The user who last updated the request form
              updatedAt:
                oneOf:
                  - type: string
                    format: date-time
                  - type: string
                    format: date-time
              version:
                type: string
                format: cuid
                description: The current version of the request form
              associatedDomains:
                type: array
                items:
                  type: string
                description: >-
                  Domains associated with data products associated with this
                  request form.
                example:
                  - 4d004a3a-4568-4c1d-822e-30958ef898dc
            required:
              - id
              - name
              - fields
              - policy
              - createdBy
              - createdAt
              - updatedBy
              - updatedAt
              - version
              - associatedDomains
        meta:
          type: object
          properties:
            offset:
              default: 0
              type: number
              minimum: 0
            limit:
              default: 10
              type: number
              minimum: 1
            totalCount:
              type: number
            pageCount:
              type: number
            currentPage:
              type: number
            totalPages:
              type: number
          required:
            - totalCount
            - pageCount
            - currentPage
            - totalPages
      required:
        - data
        - meta
    UpdateRequestForm:
      type: object
      properties:
        name:
          type: string
        fields:
          type: array
          items:
            discriminator:
              propertyName: type
            oneOf:
              - type: object
                properties:
                  id:
                    type: string
                    format: uuid
                  type:
                    type: string
                    enum:
                      - DROPDOWN
                      - CHECKBOXES
                  label:
                    type: string
                  required:
                    default: true
                    type: boolean
                  options:
                    type: array
                    items:
                      type: object
                      properties:
                        value:
                          type: string
                      required:
                        - value
                required:
                  - id
                  - type
                  - label
                  - options
                title: Selection Form Field
              - type: object
                properties:
                  id:
                    type: string
                    format: uuid
                  type:
                    type: string
                    enum:
                      - SHORT_ANSWER
                  label:
                    type: string
                  required:
                    default: true
                    type: boolean
                required:
                  - id
                  - type
                  - label
                title: Short Answer Form Field
              - type: object
                properties:
                  id:
                    type: string
                    format: uuid
                  type:
                    type: string
                    enum:
                      - ACCESS_DURATION
                  label:
                    type: string
                    enum:
                      - How long do you need access to this data?
                  required:
                    type: boolean
                    enum:
                      - true
                required:
                  - id
                  - type
                  - label
                  - required
                title: Access Duration Form Field
          title: RequestFormFields
        policy:
          type: object
          properties:
            version:
              type: string
              description: Policy schema version
            rules:
              type: array
              items:
                type: object
                properties:
                  conditions:
                    oneOf:
                      - type: object
                        properties:
                          all:
                            type: array
                            items: {}
                        required:
                          - all
                        additionalProperties: false
                      - type: object
                        properties:
                          any:
                            type: array
                            items: {}
                        required:
                          - any
                        additionalProperties: false
                      - type: object
                        properties:
                          not: {}
                        required:
                          - not
                        additionalProperties: false
                  event:
                    discriminator:
                      propertyName: type
                    oneOf:
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - approve
                          params:
                            type: object
                            properties:
                              comment:
                                type: string
                              duration:
                                type: number
                                minimum: 1
                              durationUnit:
                                type: string
                                enum:
                                  - HOURS
                                  - DAYS
                                  - WEEKS
                                  - MONTHS
                                  - YEARS
                            additionalProperties: false
                        required:
                          - type
                          - params
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - deny
                          params:
                            type: object
                            properties:
                              comment:
                                type: string
                        required:
                          - type
                          - params
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - review
                          params:
                            type: object
                            properties:
                              stages:
                                type: array
                                items:
                                  oneOf:
                                    - type: object
                                      properties:
                                        all:
                                          type: array
                                          items:
                                            oneOf:
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - USER
                                                    description: Entity type
                                                  id:
                                                    type: string
                                                    description: Entity ID
                                                  displayName:
                                                    type: string
                                                    description: Entity display name
                                                required:
                                                  - type
                                                  - id
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - GROUP
                                                    description: Entity type
                                                  id:
                                                    type: number
                                                    description: Entity ID
                                                  iamId:
                                                    type: string
                                                    description: IAM ID
                                                  name:
                                                    type: string
                                                    description: Entity display name
                                                required:
                                                  - type
                                                  - name
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - PERMISSION
                                                  permission:
                                                    type: string
                                                    enum:
                                                      - GOVERNANCE
                                                      - USER_ADMIN
                                                      - AUDIT
                                                    description: Global permission
                                                required:
                                                  - type
                                                  - permission
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - DOMAIN PERMISSION
                                                  permission:
                                                    type: string
                                                    enum:
                                                      - Manage Policies
                                                      - Audit Activity
                                                      - Manage Data Products
                                                      - Manage Identifiers
                                                    description: Domain permission
                                                  domainId:
                                                    type: string
                                                    description: Domain ID
                                                required:
                                                  - type
                                                  - permission
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - ATTRIBUTE
                                                  key:
                                                    type: string
                                                    description: Attribute key
                                                  value:
                                                    type: string
                                                    description: Attribute value
                                                required:
                                                  - type
                                                  - key
                                                  - value
                                          minItems: 1
                                      required:
                                        - all
                                    - type: object
                                      properties:
                                        any:
                                          type: array
                                          items:
                                            oneOf:
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - USER
                                                    description: Entity type
                                                  id:
                                                    type: string
                                                    description: Entity ID
                                                  displayName:
                                                    type: string
                                                    description: Entity display name
                                                required:
                                                  - type
                                                  - id
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - GROUP
                                                    description: Entity type
                                                  id:
                                                    type: number
                                                    description: Entity ID
                                                  iamId:
                                                    type: string
                                                    description: IAM ID
                                                  name:
                                                    type: string
                                                    description: Entity display name
                                                required:
                                                  - type
                                                  - name
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - PERMISSION
                                                  permission:
                                                    type: string
                                                    enum:
                                                      - GOVERNANCE
                                                      - USER_ADMIN
                                                      - AUDIT
                                                    description: Global permission
                                                required:
                                                  - type
                                                  - permission
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - DOMAIN PERMISSION
                                                  permission:
                                                    type: string
                                                    enum:
                                                      - Manage Policies
                                                      - Audit Activity
                                                      - Manage Data Products
                                                      - Manage Identifiers
                                                    description: Domain permission
                                                  domainId:
                                                    type: string
                                                    description: Domain ID
                                                required:
                                                  - type
                                                  - permission
                                              - type: object
                                                properties:
                                                  type:
                                                    type: string
                                                    enum:
                                                      - ATTRIBUTE
                                                  key:
                                                    type: string
                                                    description: Attribute key
                                                  value:
                                                    type: string
                                                    description: Attribute value
                                                required:
                                                  - type
                                                  - key
                                                  - value
                                          minItems: 1
                                      required:
                                        - any
                                description: Array of stages for manual review
                            required:
                              - stages
                        required:
                          - type
                          - params
                      - type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - dataProductPolicy
                        required:
                          - type
                required:
                  - conditions
                  - event
            defaultEvent:
              discriminator:
                propertyName: type
              oneOf:
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - approve
                    params:
                      type: object
                      properties:
                        comment:
                          type: string
                        duration:
                          type: number
                          minimum: 1
                        durationUnit:
                          type: string
                          enum:
                            - HOURS
                            - DAYS
                            - WEEKS
                            - MONTHS
                            - YEARS
                      additionalProperties: false
                  required:
                    - type
                    - params
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - deny
                    params:
                      type: object
                      properties:
                        comment:
                          type: string
                  required:
                    - type
                    - params
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - review
                    params:
                      type: object
                      properties:
                        stages:
                          type: array
                          items:
                            oneOf:
                              - type: object
                                properties:
                                  all:
                                    type: array
                                    items:
                                      oneOf:
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - USER
                                              description: Entity type
                                            id:
                                              type: string
                                              description: Entity ID
                                            displayName:
                                              type: string
                                              description: Entity display name
                                          required:
                                            - type
                                            - id
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - GROUP
                                              description: Entity type
                                            id:
                                              type: number
                                              description: Entity ID
                                            iamId:
                                              type: string
                                              description: IAM ID
                                            name:
                                              type: string
                                              description: Entity display name
                                          required:
                                            - type
                                            - name
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - PERMISSION
                                            permission:
                                              type: string
                                              enum:
                                                - GOVERNANCE
                                                - USER_ADMIN
                                                - AUDIT
                                              description: Global permission
                                          required:
                                            - type
                                            - permission
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - DOMAIN PERMISSION
                                            permission:
                                              type: string
                                              enum:
                                                - Manage Policies
                                                - Audit Activity
                                                - Manage Data Products
                                                - Manage Identifiers
                                              description: Domain permission
                                            domainId:
                                              type: string
                                              description: Domain ID
                                          required:
                                            - type
                                            - permission
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - ATTRIBUTE
                                            key:
                                              type: string
                                              description: Attribute key
                                            value:
                                              type: string
                                              description: Attribute value
                                          required:
                                            - type
                                            - key
                                            - value
                                    minItems: 1
                                required:
                                  - all
                              - type: object
                                properties:
                                  any:
                                    type: array
                                    items:
                                      oneOf:
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - USER
                                              description: Entity type
                                            id:
                                              type: string
                                              description: Entity ID
                                            displayName:
                                              type: string
                                              description: Entity display name
                                          required:
                                            - type
                                            - id
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - GROUP
                                              description: Entity type
                                            id:
                                              type: number
                                              description: Entity ID
                                            iamId:
                                              type: string
                                              description: IAM ID
                                            name:
                                              type: string
                                              description: Entity display name
                                          required:
                                            - type
                                            - name
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - PERMISSION
                                            permission:
                                              type: string
                                              enum:
                                                - GOVERNANCE
                                                - USER_ADMIN
                                                - AUDIT
                                              description: Global permission
                                          required:
                                            - type
                                            - permission
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - DOMAIN PERMISSION
                                            permission:
                                              type: string
                                              enum:
                                                - Manage Policies
                                                - Audit Activity
                                                - Manage Data Products
                                                - Manage Identifiers
                                              description: Domain permission
                                            domainId:
                                              type: string
                                              description: Domain ID
                                          required:
                                            - type
                                            - permission
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - ATTRIBUTE
                                            key:
                                              type: string
                                              description: Attribute key
                                            value:
                                              type: string
                                              description: Attribute value
                                          required:
                                            - type
                                            - key
                                            - value
                                    minItems: 1
                                required:
                                  - any
                          description: Array of stages for manual review
                      required:
                        - stages
                  required:
                    - type
                    - params
                - type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - dataProductPolicy
                  required:
                    - type
          required:
            - rules
            - defaultEvent
        id:
          type: string
          format: uuid
        dataUseAgreementIds:
          type: array
          items:
            type: string
            format: uuid
    LinkedDataProducts:
      type: array
      items:
        type: object
        properties:
          id:
            oneOf:
              - type: string
                format: cuid
              - type: string
                format: uuid
          name:
            type: string
            minLength: 1
            maxLength: 255
            pattern: ^[a-zA-Z0-9)(\-_/\\\s]*$
            description: Data product name
        required:
          - id
          - name
      description: The data products linked to the request form
    LinkedAssets:
      type: array
      items:
        type: object
        properties:
          id:
            type: string
            format: uuid
            description: Asset ID
          name:
            type: string
            minLength: 1
            description: Asset name
        required:
          - id
          - name
      description: The assets linked to the request form
externalDocs:
  description: Find out more about Immuta
  url: https://documentation.immuta.com/SaaS/
