For the complete documentation index, see llms.txt. This page is also available as Markdown.

Data Product

APIs for managing data products

Search data products across the marketplace

get

Search data products in the marketplace using the provided filters

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Query parameters
nextTokenstringOptional

Pagination token to fetch the next page of results

limitnumber · min: 1 · max: 100Optional

The number of items to return per page

Default: 10
sortOrderstring · enumOptionalDefault: ascPossible values:
sortBystring · enumOptionalPossible values:
nameFilterstringOptional
expirationbooleanOptional

Filter data products by whether data access has an expiration.

Responses
200Success
application/json
get/api/data-product
GET /marketplace/api/data-product HTTP/1.1
Host: na.api.immutacloud.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200Success
{
  "data": [
    {
      "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": "2026-01-01T00:00:00.000Z",
      "updatedAt": "2026-01-01T00:00:00.000Z",
      "status": "PENDING",
      "expiration": "2026-01-01T00:00:00.000Z",
      "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"
          }
        }
      }
    }
  ],
  "meta": {
    "nextToken": "text",
    "limit": 10
  }
}

Add new data products to the marketplace

post

Add one or more data products to the marketplace

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
namestring · min: 1 · max: 255Required

Data product name

Pattern: ^[\p{L}\p{M}\p{N})(\-_/\\\s]*$
descriptionone of · nullableOptional

Data product description

stringOptional

Data product description

Example: All sales records from the current fiscal year
metadataone of · nullableRequired
domainsstring[] · min: 1RequiredExample: ["4d004a3a-4568-4c1d-822e-30958ef898dc"]
idstring · uuidOptional

Data product ID

requestFormIdone ofOptionalDeprecated

Deprecated. Use dataAccessRequestFormId and maskingExceptionRequestFormId together, or keep using this field to set both to the same form.

string · cuidOptional
or
string · uuidOptional
dataAccessRequestFormIdone ofOptional

The request form ID for the data access review flow.

string · cuidOptional
or
string · uuidOptional
maskingExceptionRequestFormIdone ofOptional

The request form ID for the masking exception review flow.

string · cuidOptional
or
string · uuidOptional
Responses
201Success
application/json
idone ofRequired
string · cuidOptional
or
string · uuidOptional
namestring · min: 1 · max: 255Required

Data product name

Pattern: ^[\p{L}\p{M}\p{N})(\-_/\\\s]*$
descriptionone of · nullableOptional

Data product description

stringOptional

Data product description

Example: All sales records from the current fiscal year
domainsstring[] · min: 1RequiredExample: ["4d004a3a-4568-4c1d-822e-30958ef898dc"]
suspendedbooleanRequired

Whether access to the data product's data sources is suspended

Example: false
createdBystring · uuidRequired

Immuta global user ID of the user who created the data product

createdAtstring · date-timeRequired
updatedAtstring · date-timeRequired
statusstring · enumOptionalExample: PENDINGPossible values:
expirationone of · nullableOptional
string · date-timeOptional
requestIdstring · cuidOptional

If requested, the ID of the access request for the data product

sourceTypesstring[]Optional

The types of data sources contained in the data product.

Example: ["Databricks","Redshift","Snowflake"]
metadataone of · nullableRequired
post/api/data-product
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: 934

{
  "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"
  ],
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "dataSources": [
    {
      "sourceId": "text"
    }
  ],
  "dataAccessRequestFormId": "text",
  "maskingExceptionRequestFormId": "text",
  "dataAccessReviewFlow": {
    "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"
      }
    }
  },
  "maskingExceptionReviewFlow": {
    "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": "2026-01-01T00:00:00.000Z",
  "updatedAt": "2026-01-01T00:00:00.000Z",
  "status": "PENDING",
  "expiration": "2026-01-01T00:00:00.000Z",
  "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"
      }
    }
  }
}

Get data product by ID

get

Get data product metadata for the specified data product ID

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequired
Responses
200Success
application/json
idone ofRequired
string · cuidOptional
or
string · uuidOptional
namestring · min: 1 · max: 255Required

Data product name

Pattern: ^[\p{L}\p{M}\p{N})(\-_/\\\s]*$
descriptionone of · nullableOptional

Data product description

stringOptional

Data product description

Example: All sales records from the current fiscal year
domainsstring[] · min: 1RequiredExample: ["4d004a3a-4568-4c1d-822e-30958ef898dc"]
suspendedbooleanRequired

Whether access to the data product's data sources is suspended

Example: false
createdBystring · uuidRequired

Immuta global user ID of the user who created the data product

createdAtstring · date-timeRequired
updatedAtstring · date-timeRequired
statusstring · enumOptionalExample: PENDINGPossible values:
expirationone of · nullableOptional
string · date-timeOptional
requestIdstring · cuidOptional

If requested, the ID of the access request for the data product

sourceTypesstring[]Optional

The types of data sources contained in the data product.

Example: ["Databricks","Redshift","Snowflake"]
metadataone of · nullableRequired
get/api/data-product/{id}
GET /marketplace/api/data-product/{id} HTTP/1.1
Host: na.api.immutacloud.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200Success
{
  "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": "2026-01-01T00:00:00.000Z",
  "updatedAt": "2026-01-01T00:00:00.000Z",
  "status": "PENDING",
  "expiration": "2026-01-01T00:00:00.000Z",
  "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"
      }
    }
  }
}

Update an existing data product

put

Update an existing data product by ID

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequired
Body
namestring · min: 1 · max: 255Optional

Data product name

Pattern: ^[\p{L}\p{M}\p{N})(\-_/\\\s]*$
descriptionone of · nullableOptional

Data product description

stringOptional

Data product description

Example: All sales records from the current fiscal year
metadataone of · nullableOptional
domainsstring[] · min: 1OptionalExample: ["4d004a3a-4568-4c1d-822e-30958ef898dc"]
idstring · uuidOptional

Data product ID

requestFormIdone ofOptionalDeprecated

Deprecated. Use dataAccessRequestFormId and maskingExceptionRequestFormId together, or keep using this field to set both to the same form.

string · cuidOptional
or
string · uuidOptional
dataAccessRequestFormIdone ofOptional

The request form ID for the data access review flow.

string · cuidOptional
or
string · uuidOptional
maskingExceptionRequestFormIdone ofOptional

The request form ID for the masking exception review flow.

string · cuidOptional
or
string · uuidOptional
suspendedbooleanOptional

Whether access to the data product's data sources is suspended

Example: false
Responses
200Success
application/json
idone ofRequired
string · cuidOptional
or
string · uuidOptional
namestring · min: 1 · max: 255Required

Data product name

Pattern: ^[\p{L}\p{M}\p{N})(\-_/\\\s]*$
descriptionone of · nullableOptional

Data product description

stringOptional

Data product description

Example: All sales records from the current fiscal year
domainsstring[] · min: 1RequiredExample: ["4d004a3a-4568-4c1d-822e-30958ef898dc"]
suspendedbooleanRequired

Whether access to the data product's data sources is suspended

Example: false
createdBystring · uuidRequired

Immuta global user ID of the user who created the data product

createdAtstring · date-timeRequired
updatedAtstring · date-timeRequired
statusstring · enumOptionalExample: PENDINGPossible values:
expirationone of · nullableOptional
string · date-timeOptional
requestIdstring · cuidOptional

If requested, the ID of the access request for the data product

sourceTypesstring[]Optional

The types of data sources contained in the data product.

Example: ["Databricks","Redshift","Snowflake"]
metadataone of · nullableRequired
put/api/data-product/{id}
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: 916

{
  "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"
  ],
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "dataAccessRequestFormId": "text",
  "maskingExceptionRequestFormId": "text",
  "dataAccessReviewFlow": {
    "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"
      }
    }
  },
  "maskingExceptionReviewFlow": {
    "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"
      }
    }
  },
  "suspended": false
}
200Success
{
  "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": "2026-01-01T00:00:00.000Z",
  "updatedAt": "2026-01-01T00:00:00.000Z",
  "status": "PENDING",
  "expiration": "2026-01-01T00:00:00.000Z",
  "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 data product by ID

delete

Delete the specified data product from the system

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequired
Responses
200Success

No content

delete/api/data-product/{id}
DELETE /marketplace/api/data-product/{id} HTTP/1.1
Host: na.api.immutacloud.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200Success

No content

Get data product by name

get

Get data product metadata for the specified data product name

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
namestringRequired
Responses
200Success
application/json
idone ofRequired
string · cuidOptional
or
string · uuidOptional
namestring · min: 1 · max: 255Required

Data product name

Pattern: ^[\p{L}\p{M}\p{N})(\-_/\\\s]*$
descriptionone of · nullableOptional

Data product description

stringOptional

Data product description

Example: All sales records from the current fiscal year
domainsstring[] · min: 1RequiredExample: ["4d004a3a-4568-4c1d-822e-30958ef898dc"]
suspendedbooleanRequired

Whether access to the data product's data sources is suspended

Example: false
createdBystring · uuidRequired

Immuta global user ID of the user who created the data product

createdAtstring · date-timeRequired
updatedAtstring · date-timeRequired
statusstring · enumOptionalExample: PENDINGPossible values:
expirationone of · nullableOptional
string · date-timeOptional
requestIdstring · cuidOptional

If requested, the ID of the access request for the data product

sourceTypesstring[]Optional

The types of data sources contained in the data product.

Example: ["Databricks","Redshift","Snowflake"]
metadataone of · nullableRequired
get/api/data-product/{name}/byName
GET /marketplace/api/data-product/{name}/byName HTTP/1.1
Host: na.api.immutacloud.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200Success
{
  "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": "2026-01-01T00:00:00.000Z",
  "updatedAt": "2026-01-01T00:00:00.000Z",
  "status": "PENDING",
  "expiration": "2026-01-01T00:00:00.000Z",
  "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"
      }
    }
  }
}

Search all data sources in the data product

get

Search all data sources for the data product using the provided filters

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequired
Query parameters
nextTokenstringOptional

Pagination token to fetch the next page of results

limitnumber · min: 1 · max: 100Optional

The number of items to return per page

Default: 10
userstring · uuidOptional

The global user ID to search data source access status for

nameFilterone ofOptional

Data source name to filter by

Default: ""
stringOptional

Data source name to filter by

or
stringOptional
Responses
200Success
application/json
get/api/data-product/{id}/datasources
GET /marketplace/api/data-product/{id}/datasources HTTP/1.1
Host: na.api.immutacloud.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200Success
{
  "data": [
    {
      "id": "text",
      "name": "Web Sales 2024",
      "type": "text",
      "sourceId": "text",
      "hostname": "text",
      "database": "text",
      "schema": "text",
      "table": "text",
      "prefix": "text",
      "status": "NONE"
    }
  ],
  "meta": {
    "nextToken": "text",
    "limit": 10
  }
}

Update the data product's data sources

put

Update the data sources associated with the data product. Any currently associated data sources not included in the payload will be removed.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequired
Body
Responses
200Success
application/json
idone ofRequired
string · cuidOptional
or
string · uuidOptional
namestring · min: 1 · max: 255Required

Data product name

Pattern: ^[\p{L}\p{M}\p{N})(\-_/\\\s]*$
descriptionone of · nullableOptional

Data product description

stringOptional

Data product description

Example: All sales records from the current fiscal year
domainsstring[] · min: 1RequiredExample: ["4d004a3a-4568-4c1d-822e-30958ef898dc"]
suspendedbooleanRequired

Whether access to the data product's data sources is suspended

Example: false
createdBystring · uuidRequired

Immuta global user ID of the user who created the data product

createdAtstring · date-timeRequired
updatedAtstring · date-timeRequired
statusstring · enumOptionalExample: PENDINGPossible values:
expirationone of · nullableOptional
string · date-timeOptional
requestIdstring · cuidOptional

If requested, the ID of the access request for the data product

sourceTypesstring[]Optional

The types of data sources contained in the data product.

Example: ["Databricks","Redshift","Snowflake"]
metadataone of · nullableRequired
put/api/data-product/{id}/datasources
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"
    }
  ]
}
200Success
{
  "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": "2026-01-01T00:00:00.000Z",
  "updatedAt": "2026-01-01T00:00:00.000Z",
  "status": "PENDING",
  "expiration": "2026-01-01T00:00:00.000Z",
  "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"
      }
    }
  }
}

Search all access requests for the data product

get

Search all access requests for the data product using the provided filters

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequired
Query parameters
searchTextstringOptional
userIdsstring[]Optional
includeTemporarybooleanOptionalDeprecated

Whether to include temporary access requests

Default: false
expirationbooleanOptional

Filter access requests by whether it has an expiration

dataProductIdone ofOptional

The ID of the data product to filter requests by

string · cuidOptional

The ID of the data product to filter requests by

or
string · uuidOptional
assetIdstring · uuidOptional

The ID of the asset to filter requests by

targetTypestring[]Optional

Target type filter selections (DATA_PRODUCT, COLUMNS, or legacy type strings like table/view/schema)

offsetnumberOptionalDefault: 0
limitnumber · min: 1OptionalDefault: 10
sortOrderstring · enumOptionalDefault: descPossible values:
sortBystring · enumOptionalDefault: createdAtPossible values:
Responses
200Success
application/json
get/api/data-product/{id}/request
GET /marketplace/api/data-product/{id}/request HTTP/1.1
Host: na.api.immutacloud.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200Success
{
  "data": [
    {
      "id": "text",
      "requestingUser": {
        "id": 1,
        "iamId": "text",
        "globalUserId": "123e4567-e89b-12d3-a456-426614174000",
        "username": "text",
        "name": "text",
        "email": "text",
        "authorizations": {
          "ANY_ADDITIONAL_PROPERTY": [
            "text"
          ]
        }
      },
      "user": {
        "id": 1,
        "iamId": "text",
        "globalUserId": "123e4567-e89b-12d3-a456-426614174000",
        "username": "text",
        "name": "text",
        "email": "text",
        "authorizations": {
          "ANY_ADDITIONAL_PROPERTY": [
            "text"
          ]
        }
      },
      "formVersion": "text",
      "form": null,
      "type": "DATA_ACCESS",
      "metadata": null,
      "status": "PENDING",
      "expiration": "2026-01-01T00:00:00.000Z",
      "createdAt": "2026-01-01T00:00:00.000Z",
      "updatedAt": "2026-01-01T00:00:00.000Z",
      "dataProduct": {
        "id": "text",
        "name": "text",
        "description": "All sales records from the current fiscal year"
      },
      "asset": {
        "id": "text",
        "type": "DATA_OBJECT",
        "name": "text",
        "metadata": {
          "subjectMatterExperts": [
            {
              "id": "123e4567-e89b-12d3-a456-426614174000",
              "username": "text",
              "name": "text"
            }
          ],
          "objectPath": [
            "text"
          ],
          "technology": "Snowflake",
          "host": "text",
          "port": 1,
          "legacyType": "text",
          "dataSourceId": 1,
          "description": "text",
          "externalLink": "text"
        }
      }
    }
  ],
  "meta": {
    "offset": 0,
    "limit": 10,
    "totalCount": 1,
    "pageCount": 1,
    "currentPage": 1,
    "totalPages": 1
  }
}

Request access to a data product

post

Create a new data access request for the specified data product

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequired
Body
userstring · uuidRequired

Immuta global user ID of the user for whom access is being requested

formanyOptional

The request form submission

Responses
201Success
application/json

Access request with user and data product metadata

idstring · cuidRequired
formVersionstringRequired
formanyOptional

The request form submission

typestring · enumRequiredExample: DATA_ACCESSPossible values:
metadataanyOptional

Metadata associated with the access request

statusstring · enumRequiredExample: PENDINGPossible values:
expirationstring · date-timeOptional

When the temporary access will expire

createdAtstring · date-timeRequired
updatedAtstring · date-timeRequired
post/api/data-product/{id}/request
POST /marketplace/api/data-product/{id}/request HTTP/1.1
Host: na.api.immutacloud.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 59

{
  "user": "123e4567-e89b-12d3-a456-426614174000",
  "form": null
}
201Success
{
  "id": "text",
  "requestingUser": {
    "id": 1,
    "iamId": "text",
    "globalUserId": "123e4567-e89b-12d3-a456-426614174000",
    "username": "text",
    "name": "text",
    "email": "text",
    "authorizations": {
      "ANY_ADDITIONAL_PROPERTY": [
        "text"
      ]
    }
  },
  "user": {
    "id": 1,
    "iamId": "text",
    "globalUserId": "123e4567-e89b-12d3-a456-426614174000",
    "username": "text",
    "name": "text",
    "email": "text",
    "authorizations": {
      "ANY_ADDITIONAL_PROPERTY": [
        "text"
      ]
    }
  },
  "formVersion": "text",
  "form": null,
  "type": "DATA_ACCESS",
  "metadata": null,
  "status": "PENDING",
  "expiration": "2026-01-01T00:00:00.000Z",
  "createdAt": "2026-01-01T00:00:00.000Z",
  "updatedAt": "2026-01-01T00:00:00.000Z",
  "dataProduct": {
    "id": "text",
    "name": "text",
    "description": "All sales records from the current fiscal year"
  },
  "asset": {
    "id": "text",
    "type": "DATA_OBJECT",
    "name": "text",
    "metadata": {
      "subjectMatterExperts": [
        {
          "id": "123e4567-e89b-12d3-a456-426614174000",
          "username": "text",
          "name": "text"
        }
      ],
      "objectPath": [
        "text"
      ],
      "technology": "Snowflake",
      "host": "text",
      "port": 1,
      "legacyType": "text",
      "dataSourceId": 1,
      "description": "text",
      "externalLink": "text"
    }
  }
}

Search all access requests for the data product

get

Search all approved access requests for the data product

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequired
Query parameters
searchTextstringOptional
userIdsstring[]Optional
expirationbooleanOptional

Filter access requests by whether it has an expiration

dataProductIdone ofOptional

The ID of the data product to filter requests by

string · cuidOptional

The ID of the data product to filter requests by

or
string · uuidOptional
assetIdstring · uuidOptional

The ID of the asset to filter requests by

targetTypestring[]Optional

Target type filter selections (DATA_PRODUCT, COLUMNS, or legacy type strings like table/view/schema)

offsetnumberOptionalDefault: 0
limitnumber · min: 1OptionalDefault: 10
sortOrderstring · enumOptionalDefault: descPossible values:
sortBystring · enumOptionalDefault: createdAtPossible values:
Responses
200Success
application/json
get/api/data-product/{id}/members
GET /marketplace/api/data-product/{id}/members HTTP/1.1
Host: na.api.immutacloud.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200Success
{
  "data": [
    {
      "id": "text",
      "requestingUser": {
        "id": 1,
        "iamId": "text",
        "globalUserId": "123e4567-e89b-12d3-a456-426614174000",
        "username": "text",
        "name": "text",
        "email": "text",
        "authorizations": {
          "ANY_ADDITIONAL_PROPERTY": [
            "text"
          ]
        }
      },
      "user": {
        "id": 1,
        "iamId": "text",
        "globalUserId": "123e4567-e89b-12d3-a456-426614174000",
        "username": "text",
        "name": "text",
        "email": "text",
        "authorizations": {
          "ANY_ADDITIONAL_PROPERTY": [
            "text"
          ]
        }
      },
      "formVersion": "text",
      "form": null,
      "type": "DATA_ACCESS",
      "metadata": null,
      "status": "PENDING",
      "expiration": "2026-01-01T00:00:00.000Z",
      "createdAt": "2026-01-01T00:00:00.000Z",
      "updatedAt": "2026-01-01T00:00:00.000Z",
      "dataProduct": {
        "id": "text",
        "name": "text",
        "description": "All sales records from the current fiscal year"
      },
      "asset": {
        "id": "text",
        "type": "DATA_OBJECT",
        "name": "text",
        "metadata": {
          "subjectMatterExperts": [
            {
              "id": "123e4567-e89b-12d3-a456-426614174000",
              "username": "text",
              "name": "text"
            }
          ],
          "objectPath": [
            "text"
          ],
          "technology": "Snowflake",
          "host": "text",
          "port": 1,
          "legacyType": "text",
          "dataSourceId": 1,
          "description": "text",
          "externalLink": "text"
        }
      }
    }
  ],
  "meta": {
    "offset": 0,
    "limit": 10,
    "totalCount": 1,
    "pageCount": 1,
    "currentPage": 1,
    "totalPages": 1
  }
}

Request masking exception to columns in a data product

post

Create a new masking exception request for specific columns in the specified data product

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequired
Body
userstring · uuidRequired

Immuta global user ID of the user for whom access is being requested

formanyOptional

The request form submission

Responses
201Success
application/json

Access request with user and data product metadata

idstring · cuidRequired
formVersionstringRequired
formanyOptional

The request form submission

typestring · enumRequiredExample: DATA_ACCESSPossible values:
metadataanyOptional

Metadata associated with the access request

statusstring · enumRequiredExample: PENDINGPossible values:
expirationstring · date-timeOptional

When the temporary access will expire

createdAtstring · date-timeRequired
updatedAtstring · date-timeRequired
post/api/data-product/{id}/request/masking-exception
POST /marketplace/api/data-product/{id}/request/masking-exception HTTP/1.1
Host: na.api.immutacloud.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 111

{
  "user": "123e4567-e89b-12d3-a456-426614174000",
  "form": null,
  "columns": [
    {
      "columnName": "text",
      "sourceId": "text"
    }
  ]
}
201Success
{
  "id": "text",
  "requestingUser": {
    "id": 1,
    "iamId": "text",
    "globalUserId": "123e4567-e89b-12d3-a456-426614174000",
    "username": "text",
    "name": "text",
    "email": "text",
    "authorizations": {
      "ANY_ADDITIONAL_PROPERTY": [
        "text"
      ]
    }
  },
  "user": {
    "id": 1,
    "iamId": "text",
    "globalUserId": "123e4567-e89b-12d3-a456-426614174000",
    "username": "text",
    "name": "text",
    "email": "text",
    "authorizations": {
      "ANY_ADDITIONAL_PROPERTY": [
        "text"
      ]
    }
  },
  "formVersion": "text",
  "form": null,
  "type": "DATA_ACCESS",
  "metadata": null,
  "status": "PENDING",
  "expiration": "2026-01-01T00:00:00.000Z",
  "createdAt": "2026-01-01T00:00:00.000Z",
  "updatedAt": "2026-01-01T00:00:00.000Z",
  "dataProduct": {
    "id": "text",
    "name": "text",
    "description": "All sales records from the current fiscal year"
  },
  "asset": {
    "id": "text",
    "type": "DATA_OBJECT",
    "name": "text",
    "metadata": {
      "subjectMatterExperts": [
        {
          "id": "123e4567-e89b-12d3-a456-426614174000",
          "username": "text",
          "name": "text"
        }
      ],
      "objectPath": [
        "text"
      ],
      "technology": "Snowflake",
      "host": "text",
      "port": 1,
      "legacyType": "text",
      "dataSourceId": 1,
      "description": "text",
      "externalLink": "text"
    }
  }
}

Revoke access to a data product

delete

Updates the specified access request to revoked and revokes access to data sources associated with the data product

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequired
requestIdstringRequired
Responses
204Success

No content

delete/api/data-product/{id}/request/{requestId}
DELETE /marketplace/api/data-product/{id}/request/{requestId} HTTP/1.1
Host: na.api.immutacloud.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
204Success

No content

Get all data sources in the data product

get

Get all data sources in the data product

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequired
Responses
200Success
application/json
get/api/data-product/{id}/datasources/all
GET /marketplace/api/data-product/{id}/datasources/all HTTP/1.1
Host: na.api.immutacloud.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200Success
{
  "dataSources": [
    {
      "sourceId": "text"
    }
  ]
}

Returns 5 most recent manual access determinations

get

Returns 5 most recent data access requests with a terminal status as well as the approval records which contributed to that status.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequired
Query parameters
typestring · enumOptionalDefault: DATA_ACCESSPossible values:
Responses
200Success
application/json
get/api/data-product/{id}/recent-determinations
GET /marketplace/api/data-product/{id}/recent-determinations HTTP/1.1
Host: na.api.immutacloud.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200Success
{
  "determinations": [
    {
      "id": "text",
      "requestingUser": {
        "id": 1,
        "iamId": "text",
        "globalUserId": "123e4567-e89b-12d3-a456-426614174000",
        "username": "text",
        "name": "text",
        "email": "text",
        "authorizations": {
          "ANY_ADDITIONAL_PROPERTY": [
            "text"
          ]
        }
      },
      "user": {
        "id": 1,
        "iamId": "text",
        "globalUserId": "123e4567-e89b-12d3-a456-426614174000",
        "username": "text",
        "name": "text",
        "email": "text",
        "authorizations": {
          "ANY_ADDITIONAL_PROPERTY": [
            "text"
          ]
        }
      },
      "actionBy": {
        "id": 1,
        "iamId": "text",
        "globalUserId": "123e4567-e89b-12d3-a456-426614174000",
        "username": "text",
        "name": "text",
        "email": "text",
        "authorizations": {
          "ANY_ADDITIONAL_PROPERTY": [
            "text"
          ]
        }
      },
      "reason": "text",
      "status": "PENDING",
      "createdAt": "2026-01-01T00:00:00.000Z",
      "updatedAt": "2026-01-01T00:00:00.000Z",
      "expiration": "2026-01-01T00:00:00.000Z"
    }
  ]
}

View all request forms for a data product

get

Get all the request forms for the specified data product

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequired
Responses
200Success
application/json
idstring · uuidRequired
namestringRequired
createdAtone ofRequired
string · date-timeOptional
or
string · date-timeOptional
updatedAtone ofRequired
string · date-timeOptional
or
string · date-timeOptional
versionstring · cuidRequired

The current version of the request form

requestTypestring · enumRequiredPossible values:
get/api/data-product/{id}/request-forms
GET /marketplace/api/data-product/{id}/request-forms HTTP/1.1
Host: na.api.immutacloud.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200Success
[
  {
    "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": "2026-01-01T00:00:00.000Z",
    "updatedBy": {
      "globalUserId": "123e4567-e89b-12d3-a456-426614174000",
      "name": "text"
    },
    "updatedAt": "2026-01-01T00:00:00.000Z",
    "version": "text",
    "inheritedFrom": {
      "id": "text",
      "name": "text",
      "type": "DATA_OBJECT",
      "createdAt": "2026-01-01T00:00:00.000Z",
      "updatedAt": "2026-01-01T00:00:00.000Z",
      "dagTagId": 1,
      "requestId": "text",
      "status": "PENDING",
      "metadata": {
        "subjectMatterExperts": [
          {
            "id": "123e4567-e89b-12d3-a456-426614174000",
            "username": "text",
            "name": "text"
          }
        ],
        "objectPath": [
          "text"
        ],
        "technology": "Snowflake",
        "host": "text",
        "port": 1,
        "legacyType": "text",
        "dataSourceId": 1,
        "description": "text",
        "externalLink": "text"
      },
      "registered": true,
      "stats": {
        "dataSourceCount": 1
      }
    },
    "requestType": "DATA_ACCESS"
  }
]

Search columns in data product

get

Search and filter columns in the data product using the provided filters

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequired
Query parameters
offsetnumberOptionalDefault: 0
limitnumber · min: 1OptionalDefault: 10
sortOrderstring · enumOptionalDefault: ascPossible values:
searchTextstringOptional

Search text to filter data source columns

maskedOnlybooleanOptional

Whether to filter columns that have a masking policy applied to them

Default: false
tagIdsstring[]OptionalDefault: []
dirstring · enumOptionalDefault: ASCPossible values:
dataSourceIdsstring[]OptionalDefault: []
Responses
200Success
application/json
get/api/data-product/{id}/columns
GET /marketplace/api/data-product/{id}/columns HTTP/1.1
Host: na.api.immutacloud.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200Success
{
  "data": [
    {
      "name": "text",
      "sourceId": "text",
      "sourceName": "text",
      "tags": [
        "text"
      ],
      "type": "text",
      "globalPolicyInfo": {
        "maskingType": "text"
      },
      "localPolicyInfo": {
        "maskingType": "text"
      }
    }
  ],
  "meta": {
    "offset": 0,
    "limit": 10,
    "totalCount": 1,
    "pageCount": 1,
    "currentPage": 1,
    "totalPages": 1
  }
}

Last updated

Was this helpful?