Give your Marketplace app the custom look and feel of your company by supplying your own branding:
Add your logo (with light and dark mode options)
Select a primary and accent color
Customizing Marketplace adds appeal for your data consumers and makes the Marketplace app appear more proprietary to your business.
Requirement: Immuta permission APPLICATION_ADMIN
From the Governance app,
Navigate to the App Settings page and click on the Marketplace tab.
In the Logo section, click Upload. Upload both a light mode and dark mode version of the logo since the mode is specific to the client's preference. It can be the same image if visible in both modes.
In the pop-up, select your logo. Images should be transparent PNG or SVG and a maximum size of 1 MB. For best results, use a horizontally aligned image 100px by 800px or smaller.
You will need to refresh the Marketplace app in order to see your changes after saving.
From the Governance app,
Navigate to the App Settings page and click on the Marketplace tab.
In the Color section, click the dropdown and select the primary and accent colors.
You can see the preview of the colors in the preview section.
Click Save.
You will need to refresh the Marketplace app in order to see your changes after saving.
Data product managers are able to publish and manage data products.
Requirement: Immuta permission GOVERNANCE or Manage Data Products in a domain
,
Click Publish product.
Select the Domain from the dropdown. You will only be able to include data sources from this domain in your data product. .
Click Next.
Select the data sources you want in the data product. .
Ensure you set the and use a when using the Marketplace API. See the for additional guidance or to download the OpenAPI YAML for your own client generation.
To revoke a member's access, you can remove them from the a data product,
,
Select the data product and navigate to the Members tab.
Click the more actions icon.
Select Revoke Access.
Ensure you set the and use a when using the Marketplace API. See the for additional guidance or to download the OpenAPI YAML for your own client generation.
Once a data product has been published, many components can be edited from different parts of the data product:
Details: Edit the name, description, or subject matter expert
Data sources: Add or remove data sources from the data product
Request form: Edit the request form assigned to the data product
,
Select the data product.
Navigate to the tab with the information you want to edit.
Click Edit.
Make your edits and click Save.
Ensure you set the and use a when using the Marketplace API. See the for additional guidance or to download the OpenAPI YAML for your own client generation.
To update the request form of a data product:
Run POST /api/request-form to create a new request form: Use the ID from the response in the next call.
Run PUT/api/data-product/{id} to add the new request form to the data product: The {id} in the request should be the data product ID and the request form ID from the previous call should be included in the payload.
Ensure you set the and use a when using the Marketplace API. See the for additional guidance or to download the OpenAPI YAML for your own client generation.
To update data sources associated with a data product:
Data products can be suspended. Suspending access revokes all access to data sources in the data product that was gained from the approvals in the Marketplace and all masking exceptions granted by approvals. However, the data product access can be resumed to grant the approvals again.
,
Select the data product.
Navigate to the Settings tab.
Select Suspend access and then click Suspend access on the modal.
Ensure you set the and use a when using the Marketplace API. See the for additional guidance or to download the OpenAPI YAML for your own client generation.
Update the suspended parameter using the endpoint below:
It is also possible to delete data products, which will remove all users' access to the data sources within the data product and any masking exceptions associated with the data product. Deleting a data product cannot be undone.
,
Select the data product.
Navigate to the Settings tab.
Click Delete data product.
Enter the name of your data product in the textbox and then click Delete again.
Ensure you set the and use a when using the Marketplace API. See the for additional guidance or to download the OpenAPI YAML for your own client generation.
Click Next.
Enter the following metadata for your new data product:
Name of the data product
Description of the data product (optional)
Enter the subject matter expert (optional). This should be a user that data consumers and stewards can reach out to for any questions about the data product.
Click Next.
Using the dropdown, select a request form or scroll down to Create new +. Any data consumer requesting access or making a masking exception request to your data product will need to complete the same request form:
Select an existing request form: Review the form details, review flow, data use agreement, and linked products.
Create new: This will create a new request form that will be used for this data product and can be used in data products published in the future.
Enter the form name, which is how other data product owners can add the request form to their own data product.
Enter one or more request questions for the data consumer to answer:
Enter a question and select the answer format in the dropdown.
Use the switch to dictate if the question is required.
Click the + icon to add more questions.
Select how you want the review flow determined:
Delegate to data product: Data products that use this form will configure their own review flow.
In this request form: The review flow defined here will apply to all assigned data products.
Choose if you would like to require approval for requests on this data product:
Add a data use agreement (optional). Use the default data use agreement or Create new +. The data use agreement is what the data consumer must agree to when requesting access or a masking exception to your data product.
Click Next.
If your request form has the review flow set to Delegate to data product you must set your data stewards:
Choose if you would like to require approval for requests on this data product:
Yes: When the user makes a request on a data product, in addition to acknowledging the data use agreement and answering the required question, they will need to be approved by the data stewards.
Assign the data stewards: Choose the Immuta source from the dropdowns that will dictate who is a data steward. If you select a domain permission, the data steward must have that domain-specific permission for the domain that the data product is built off of.
Choose if you would like to require all or any data stewards to approve:
All stewards: For every source you select, a data steward from that source must make a determination. If a data steward qualifies multiple sources, their determination will count for each of the sources they have. If any of the data stewards deny the request, it will be denied. If any of the data stewards temporarily approve the request, once the determination is made, the user will be approved for temporary access for the shortest time period given.
Any steward: A single determination is required for the request, and any data steward with any of the sources dictated can make the determination.
No: When the user makes a request on a data product, they will be automatically approved once they acknowledge the data use agreement and answer any question required for access:
Auto approve: Enter the reason users do not need approval.
Auto approve with expiration: Enter the reason users do not need approval and use the dropdown to select how long users will have access to the data before the access expires.
Click Publish data product.
Yes: When the user makes a request on a data product, in addition to acknowledging the data use agreement and answering the required question, they will need to be approved by the data stewards.
Assign the data stewards: Choose the Immuta source from the dropdowns that will dictate who is a data steward. If you select a domain permission, the data steward must have that domain-specific permission for the domain that the data product is built off of.
Choose if you would like to require all or any data stewards to approve:
All stewards: For every source you select, a data steward from that source must make a determination. If a data steward qualifies multiple sources, their determination will count for each of the sources they have. If any of the data stewards deny the request, it will be denied. If any of the data stewards temporarily approve the request, once the determination is made, the user will be approved for temporary access for the shortest time period given.
Any steward: A single determination is required for the request, and any data steward with any of the sources dictated can make the determination.
No: When the user makes a request on a data product, they will be automatically approved once they acknowledge the data use agreement and answer any question required for access:
Auto approve: Enter the reason users do not need approval.
Auto approve with expiration: Enter the reason users do not need approval and use the dropdown to select how long users will have access to the data before the access expires.
Updates the specified access request to revoked and revokes access to data sources associated with the data product
Create a request form
Request form with name already exists.
Update the data sources associated with the data product. Any currently associated data sources not included in the payload will be removed.
Update an existing data product by ID
Data product name
^[a-zA-Z0-9)(\-_/\\\s]*$Data product description
Data product description
All sales records from the current fiscal year["4d004a3a-4568-4c1d-822e-30958ef898dc"]Data product ID
Whether access to the data product's data sources is suspended
falseData product name
^[a-zA-Z0-9)(\-_/\\\s]*$Data product description
Data product description
All sales records from the current fiscal year["4d004a3a-4568-4c1d-822e-30958ef898dc"]Data product ID
Data Product name in use.
No content
Data product name
^[a-zA-Z0-9)(\-_/\\\s]*$Data product description
Data product description
All sales records from the current fiscal year["4d004a3a-4568-4c1d-822e-30958ef898dc"]Data product ID
Whether access to the data product's data sources is suspended
falseNo content
POST /marketplace/api/data-product HTTP/1.1
Host: na.api.immutacloud.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 877
{
"name": "text",
"description": "All sales records from the current fiscal year",
"metadata": {
"subjectMatterExpert": {
"id": "123e4567-e89b-12d3-a456-426614174000",
"username": "text",
"name": "text"
}
},
"domains": [
"4d004a3a-4568-4c1d-822e-30958ef898dc"
],
"dataAccessPolicy": {
"version": "text",
"rules": [
{
"conditions": {
"all": []
},
"event": {
"type": "approve",
"params": {
"comment": "text",
"duration": 1,
"durationUnit": "HOURS"
}
}
}
],
"defaultEvent": {
"type": "approve",
"params": {
"comment": "text",
"duration": 1,
"durationUnit": "HOURS"
}
}
},
"maskingExceptionPolicy": {
"version": "text",
"rules": [
{
"conditions": {
"all": []
},
"event": {
"type": "approve",
"params": {
"comment": "text",
"duration": 1,
"durationUnit": "HOURS"
}
}
}
],
"defaultEvent": {
"type": "approve",
"params": {
"comment": "text",
"duration": 1,
"durationUnit": "HOURS"
}
}
},
"id": "123e4567-e89b-12d3-a456-426614174000",
"dataSources": [
{
"sourceId": "text"
}
],
"requestFormId": "text"
}{
"id": "text",
"name": "text",
"description": "All sales records from the current fiscal year",
"domains": [
"4d004a3a-4568-4c1d-822e-30958ef898dc"
],
"suspended": false,
"createdBy": "123e4567-e89b-12d3-a456-426614174000",
"createdAt": "2025-12-14T17:33:22.212Z",
"updatedAt": "2025-12-14T17:33:22.212Z",
"status": "PENDING",
"expiration": "2025-12-14T17:33:22.212Z",
"stats": {
"dataSourceCount": 1,
"pendingRequestCount": 1,
"approvedRequestCount": 1,
"revokedRequestCount": 1,
"canceledRequestCount": 1,
"deniedRequestCount": 1,
"totalRequestCount": 1
},
"requestId": "text",
"sourceTypes": [
"Databricks",
"Redshift",
"Snowflake"
],
"metadata": {
"subjectMatterExpert": {
"id": "123e4567-e89b-12d3-a456-426614174000",
"username": "text",
"name": "text"
}
},
"dataAccessPolicy": {
"version": "text",
"rules": [
{
"conditions": {
"all": []
},
"event": {
"type": "approve",
"params": {
"comment": "text",
"duration": 1,
"durationUnit": "HOURS"
}
}
}
],
"defaultEvent": {
"type": "approve",
"params": {
"comment": "text",
"duration": 1,
"durationUnit": "HOURS"
}
}
},
"maskingExceptionPolicy": {
"version": "text",
"rules": [
{
"conditions": {
"all": []
},
"event": {
"type": "approve",
"params": {
"comment": "text",
"duration": 1,
"durationUnit": "HOURS"
}
}
}
],
"defaultEvent": {
"type": "approve",
"params": {
"comment": "text",
"duration": 1,
"durationUnit": "HOURS"
}
}
}
}{
"id": "123e4567-e89b-12d3-a456-426614174000",
"name": "text",
"fields": [
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"type": "DROPDOWN",
"label": "text",
"required": true,
"options": [
{
"value": "text"
}
]
}
],
"policy": {
"version": "text",
"rules": [
{
"conditions": {
"all": []
},
"event": {
"type": "approve",
"params": {
"comment": "text",
"duration": 1,
"durationUnit": "HOURS"
}
}
}
],
"defaultEvent": {
"type": "approve",
"params": {
"comment": "text",
"duration": 1,
"durationUnit": "HOURS"
}
}
},
"dataUseAgreements": [
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"name": "text",
"body": "text"
}
],
"createdBy": {
"globalUserId": "123e4567-e89b-12d3-a456-426614174000",
"name": "text"
},
"createdAt": "2025-12-14T17:33:22.212Z",
"updatedBy": {
"globalUserId": "123e4567-e89b-12d3-a456-426614174000",
"name": "text"
},
"updatedAt": "2025-12-14T17:33:22.212Z",
"version": "text"
}{
"id": "text",
"name": "text",
"description": "All sales records from the current fiscal year",
"domains": [
"4d004a3a-4568-4c1d-822e-30958ef898dc"
],
"suspended": false,
"createdBy": "123e4567-e89b-12d3-a456-426614174000",
"createdAt": "2025-12-14T17:33:22.212Z",
"updatedAt": "2025-12-14T17:33:22.212Z",
"status": "PENDING",
"expiration": "2025-12-14T17:33:22.212Z",
"stats": {
"dataSourceCount": 1,
"pendingRequestCount": 1,
"approvedRequestCount": 1,
"revokedRequestCount": 1,
"canceledRequestCount": 1,
"deniedRequestCount": 1,
"totalRequestCount": 1
},
"requestId": "text",
"sourceTypes": [
"Databricks",
"Redshift",
"Snowflake"
],
"metadata": {
"subjectMatterExpert": {
"id": "123e4567-e89b-12d3-a456-426614174000",
"username": "text",
"name": "text"
}
},
"dataAccessPolicy": {
"version": "text",
"rules": [
{
"conditions": {
"all": []
},
"event": {
"type": "approve",
"params": {
"comment": "text",
"duration": 1,
"durationUnit": "HOURS"
}
}
}
],
"defaultEvent": {
"type": "approve",
"params": {
"comment": "text",
"duration": 1,
"durationUnit": "HOURS"
}
}
},
"maskingExceptionPolicy": {
"version": "text",
"rules": [
{
"conditions": {
"all": []
},
"event": {
"type": "approve",
"params": {
"comment": "text",
"duration": 1,
"durationUnit": "HOURS"
}
}
}
],
"defaultEvent": {
"type": "approve",
"params": {
"comment": "text",
"duration": 1,
"durationUnit": "HOURS"
}
}
}
}{
"id": "text",
"name": "text",
"description": "All sales records from the current fiscal year",
"domains": [
"4d004a3a-4568-4c1d-822e-30958ef898dc"
],
"suspended": false,
"createdBy": "123e4567-e89b-12d3-a456-426614174000",
"createdAt": "2025-12-14T17:33:22.212Z",
"updatedAt": "2025-12-14T17:33:22.212Z",
"status": "PENDING",
"expiration": "2025-12-14T17:33:22.212Z",
"stats": {
"dataSourceCount": 1,
"pendingRequestCount": 1,
"approvedRequestCount": 1,
"revokedRequestCount": 1,
"canceledRequestCount": 1,
"deniedRequestCount": 1,
"totalRequestCount": 1
},
"requestId": "text",
"sourceTypes": [
"Databricks",
"Redshift",
"Snowflake"
],
"metadata": {
"subjectMatterExpert": {
"id": "123e4567-e89b-12d3-a456-426614174000",
"username": "text",
"name": "text"
}
},
"dataAccessPolicy": {
"version": "text",
"rules": [
{
"conditions": {
"all": []
},
"event": {
"type": "approve",
"params": {
"comment": "text",
"duration": 1,
"durationUnit": "HOURS"
}
}
}
],
"defaultEvent": {
"type": "approve",
"params": {
"comment": "text",
"duration": 1,
"durationUnit": "HOURS"
}
}
},
"maskingExceptionPolicy": {
"version": "text",
"rules": [
{
"conditions": {
"all": []
},
"event": {
"type": "approve",
"params": {
"comment": "text",
"duration": 1,
"durationUnit": "HOURS"
}
}
}
],
"defaultEvent": {
"type": "approve",
"params": {
"comment": "text",
"duration": 1,
"durationUnit": "HOURS"
}
}
}
}{
"id": "text",
"name": "text",
"description": "All sales records from the current fiscal year",
"domains": [
"4d004a3a-4568-4c1d-822e-30958ef898dc"
],
"suspended": false,
"createdBy": "123e4567-e89b-12d3-a456-426614174000",
"createdAt": "2025-12-14T17:33:22.212Z",
"updatedAt": "2025-12-14T17:33:22.212Z",
"status": "PENDING",
"expiration": "2025-12-14T17:33:22.212Z",
"stats": {
"dataSourceCount": 1,
"pendingRequestCount": 1,
"approvedRequestCount": 1,
"revokedRequestCount": 1,
"canceledRequestCount": 1,
"deniedRequestCount": 1,
"totalRequestCount": 1
},
"requestId": "text",
"sourceTypes": [
"Databricks",
"Redshift",
"Snowflake"
],
"metadata": {
"subjectMatterExpert": {
"id": "123e4567-e89b-12d3-a456-426614174000",
"username": "text",
"name": "text"
}
},
"dataAccessPolicy": {
"version": "text",
"rules": [
{
"conditions": {
"all": []
},
"event": {
"type": "approve",
"params": {
"comment": "text",
"duration": 1,
"durationUnit": "HOURS"
}
}
}
],
"defaultEvent": {
"type": "approve",
"params": {
"comment": "text",
"duration": 1,
"durationUnit": "HOURS"
}
}
},
"maskingExceptionPolicy": {
"version": "text",
"rules": [
{
"conditions": {
"all": []
},
"event": {
"type": "approve",
"params": {
"comment": "text",
"duration": 1,
"durationUnit": "HOURS"
}
}
}
],
"defaultEvent": {
"type": "approve",
"params": {
"comment": "text",
"duration": 1,
"durationUnit": "HOURS"
}
}
}
}DELETE /marketplace/api/data-product/{id}/request/{requestId} HTTP/1.1
Host: na.api.immutacloud.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
POST /marketplace/api/request-form HTTP/1.1
Host: na.api.immutacloud.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 510
{
"name": "text",
"fields": [
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"type": "DROPDOWN",
"label": "text",
"required": true,
"options": [
{
"value": "text"
}
]
}
],
"policy": {
"version": "text",
"rules": [
{
"conditions": {
"all": []
},
"event": {
"type": "approve",
"params": {
"comment": "text",
"duration": 1,
"durationUnit": "HOURS"
}
}
}
],
"defaultEvent": {
"type": "approve",
"params": {
"comment": "text",
"duration": 1,
"durationUnit": "HOURS"
}
}
},
"id": "123e4567-e89b-12d3-a456-426614174000",
"dataUseAgreementIds": [
"123e4567-e89b-12d3-a456-426614174000"
]
}PUT /marketplace/api/data-product/{id} HTTP/1.1
Host: na.api.immutacloud.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 895
{
"name": "text",
"description": "All sales records from the current fiscal year",
"metadata": {
"subjectMatterExpert": {
"id": "123e4567-e89b-12d3-a456-426614174000",
"username": "text",
"name": "text"
}
},
"domains": [
"4d004a3a-4568-4c1d-822e-30958ef898dc"
],
"dataAccessPolicy": {
"version": "text",
"rules": [
{
"conditions": {
"all": []
},
"event": {
"type": "approve",
"params": {
"comment": "text",
"duration": 1,
"durationUnit": "HOURS"
}
}
}
],
"defaultEvent": {
"type": "approve",
"params": {
"comment": "text",
"duration": 1,
"durationUnit": "HOURS"
}
}
},
"maskingExceptionPolicy": {
"version": "text",
"rules": [
{
"conditions": {
"all": []
},
"event": {
"type": "approve",
"params": {
"comment": "text",
"duration": 1,
"durationUnit": "HOURS"
}
}
}
],
"defaultEvent": {
"type": "approve",
"params": {
"comment": "text",
"duration": 1,
"durationUnit": "HOURS"
}
}
},
"id": "123e4567-e89b-12d3-a456-426614174000",
"dataSources": [
{
"sourceId": "text"
}
],
"requestFormId": "text",
"suspended": false
}PUT /marketplace/api/data-product/{id}/datasources HTTP/1.1
Host: na.api.immutacloud.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 37
{
"dataSources": [
{
"sourceId": "text"
}
]
}PUT /marketplace/api/data-product/{id} HTTP/1.1
Host: na.api.immutacloud.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 895
{
"name": "text",
"description": "All sales records from the current fiscal year",
"metadata": {
"subjectMatterExpert": {
"id": "123e4567-e89b-12d3-a456-426614174000",
"username": "text",
"name": "text"
}
},
"domains": [
"4d004a3a-4568-4c1d-822e-30958ef898dc"
],
"dataAccessPolicy": {
"version": "text",
"rules": [
{
"conditions": {
"all": []
},
"event": {
"type": "approve",
"params": {
"comment": "text",
"duration": 1,
"durationUnit": "HOURS"
}
}
}
],
"defaultEvent": {
"type": "approve",
"params": {
"comment": "text",
"duration": 1,
"durationUnit": "HOURS"
}
}
},
"maskingExceptionPolicy": {
"version": "text",
"rules": [
{
"conditions": {
"all": []
},
"event": {
"type": "approve",
"params": {
"comment": "text",
"duration": 1,
"durationUnit": "HOURS"
}
}
}
],
"defaultEvent": {
"type": "approve",
"params": {
"comment": "text",
"duration": 1,
"durationUnit": "HOURS"
}
}
},
"id": "123e4567-e89b-12d3-a456-426614174000",
"dataSources": [
{
"sourceId": "text"
}
],
"requestFormId": "text",
"suspended": false
}DELETE /marketplace/api/data-product/{id} HTTP/1.1
Host: na.api.immutacloud.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*