# View and Respond to Access Requests

Data stewards are able to make determinations on access requests for access to data products, assets, and masking exceptions.

## Respond to an access request

{% hint style="info" %}
If you approve an unmasking request for a user, but that user is targeted by a masking policy that uses the **for** **everyone who** clause, the column will remain masked for the user. The **for** **everyone who** clause acts as a guardrail for the masking policy, preventing the users targeted by the clause from getting an exception to the masking rule. See the [Data policies reference guide](https://documentation.immuta.com/saas/govern/secure-your-data/authoring-policies-in-secure/data-policies/reference-guides/data-policies#reveal-policy-merge-conflicts) for details.
{% endhint %}

### With the UI

1. Navigate to the <i class="fa-list-check">:list-check:</i> [**Access Requests** page](https://app.immutacloud.com/marketplace/access-requests?offset=1\&size=10\&status=PENDING).
2. Click the request you want to approve or deny.
3. Review the request details depending on the request type:
   1. Data access request: Review the request details, data sources, and data use agreement.
   2. Masking exception request: Review the request details, columns the user wants unmasked access to, and data use agreement.
4. Select **Continue to determination**, and opt to view the **Determination history** tab for data access requests.
5. Select the determination for access:
   * **Temporarily approve**: Approve the access request for a specific period of time. If the request form had an access duration question, the requester's response will be presented as a recommendation.
     * Enter your reason to approve access to the data.
     * Use the dropdowns to select how long the user should have access to the data. If entering a custom time range, you must enter a whole, positive number.
   * **Approve**: Approve the access request indefinitely.
     * Enter your reason to approve access to the data.
   * **Deny**: Deny the access request.
     * Enter your reason to deny access to the data.
6. Click **Submit determination**. Your determination cannot be edited after it is submitted, even if the request remains open for other data stewards to approve.

{% hint style="info" %} <i class="fa-sparkles">:sparkles:</i> [**AI-powered feature**](https://documentation.immuta.com/saas/configuration/application-configuration/reference-guides/immuta-ai-faq/immutas-ai-features)

When available, [review assist](https://documentation.immuta.com/saas/request/review-access-requests/reference-guides/understanding-review-assist) will offer a recommended determination for the access request and provide a reasoning for its recommendation. Opt to accept the recommendation or override it with your own.
{% endhint %}

### With the API

Ensure you set the [correct global segment](https://documentation.immuta.com/saas/developer-guides/api-intro/marketplace-api#base-path-and-global-segment) and use a [Request app personal access token (PAT)](https://documentation.immuta.com/saas/developer-guides/api-intro/marketplace-api#generate-a-personal-access-token-pat) when using the Request app API. See the [Request app API docs](https://documentation.immuta.com/saas/developer-guides/api-intro/marketplace-api) for additional guidance or to download the OpenAPI YAML for your own client generation.

## Approve or reject an approval record

> Modify a pending approval record as an approver

```json
{"openapi":"3.0.0","info":{"title":"Immuta Data Marketplace","version":"1.0"},"tags":[{"name":"Access Request","description":"APIs for managing data access"}],"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"}}}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"UpdateApprovalRecordRequest":{"type":"object","properties":{"status":{"type":"string","enum":["APPROVED","BLOCKED","CANCELED","DENIED","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"]},"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"]}}},"paths":{"/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"}}}}},"summary":"Approve or reject an approval record","tags":["Access Request"]}}}}
```

## View access requests

### With the UI

1. Navigate to the <i class="fa-list-check">:list-check:</i> [**Access Requests** page](https://app.immutacloud.com/marketplace/access-requests?offset=1\&size=10\&status=PENDING).
2. Opt to filter by status, type, or date.

### With the API

Ensure you set the [correct global segment](https://documentation.immuta.com/saas/developer-guides/api-intro/marketplace-api#base-path-and-global-segment) and use a [Request app personal access token (PAT)](https://documentation.immuta.com/saas/developer-guides/api-intro/marketplace-api#generate-a-personal-access-token-pat) when using the Request app API. See the [Request app API docs](https://documentation.immuta.com/saas/developer-guides/api-intro/marketplace-api) for additional guidance or to download the OpenAPI YAML for your own client generation.

## Search access requests

> Search and filter access requests the current user can manage

```json
{"openapi":"3.0.0","info":{"title":"Immuta Data Marketplace","version":"1.0"},"tags":[{"name":"Access Request","description":"APIs for managing data access"}],"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"}}}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"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"]},"metadata":{"description":"Metadata associated with the access request"},"status":{"type":"string","enum":["APPROVED","CANCELED","DENIED","PENDING","NONE","PUBLISHER","REVOKED","EXPIRED"]},"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"}],"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"]},"metadata":{"type":"object","properties":{"subjectMatterExperts":{"default":[],"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"}],"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"]},"metadata":{"type":"object","properties":{"subjectMatterExperts":{"default":[],"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"]}}},"paths":{"/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"]}}},{"name":"type","required":false,"in":"query","schema":{"type":"array","items":{"type":"string","enum":["DATA_ACCESS","MASKING_EXCEPTION"]}}},{"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"}}}}},"summary":"Search access requests","tags":["Access Request"]}}}}
```

## View the access requests of a specific data product

### With the UI

1. [Navigate](https://app.immutacloud.com/marketplace/data-products) to the **Data product** you want to view requests for.
2. Click the **Access requests** tab.
3. Opt to filter by status, type, or date.

### With the API

Ensure you set the [correct global segment](https://documentation.immuta.com/saas/developer-guides/api-intro/marketplace-api#base-path-and-global-segment) and use a [Request app personal access token (PAT)](https://documentation.immuta.com/saas/developer-guides/api-intro/marketplace-api#generate-a-personal-access-token-pat) when using the Request app API. See the [Request app API docs](https://documentation.immuta.com/saas/developer-guides/api-intro/marketplace-api) for additional guidance or to download the OpenAPI YAML for your own client generation.

## Search all access requests for the data product

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

```json
{"openapi":"3.0.0","info":{"title":"Immuta Data Marketplace","version":"1.0"},"tags":[{"name":"Data Product","description":"APIs for managing data products"},{"name":"Access Request","description":"APIs for managing data access"}],"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"}}}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"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"]},"metadata":{"description":"Metadata associated with the access request"},"status":{"type":"string","enum":["APPROVED","CANCELED","DENIED","PENDING","NONE","PUBLISHER","REVOKED","EXPIRED"]},"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"}],"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"]},"metadata":{"type":"object","properties":{"subjectMatterExperts":{"default":[],"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"}],"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"]},"metadata":{"type":"object","properties":{"subjectMatterExperts":{"default":[],"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"]}}},"paths":{"/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"]}}},{"name":"type","required":false,"in":"query","schema":{"type":"array","items":{"type":"string","enum":["DATA_ACCESS","MASKING_EXCEPTION"]}}},{"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"}}}}},"summary":"Search all access requests for the data product","tags":["Data Product","Access Request"]}}}}
```

## View the approval record for a request

### With the UI

1. Navigate to the <i class="fa-list-check">:list-check:</i> [**Access Requests** page](https://app.immutacloud.com/marketplace/access-requests?offset=1\&size=10\&status=PENDING).
2. Click the request you want the details for.

### With the API

Ensure you set the [correct global segment](https://documentation.immuta.com/saas/developer-guides/api-intro/marketplace-api#base-path-and-global-segment) and use a [Request app personal access token (PAT)](https://documentation.immuta.com/saas/developer-guides/api-intro/marketplace-api#generate-a-personal-access-token-pat) when using the Request app API. See the [Request app API docs](https://documentation.immuta.com/saas/developer-guides/api-intro/marketplace-api) for additional guidance or to download the OpenAPI YAML for your own client generation.

## Get individual access request

> Returns specific details for a specific access request

```json
{"openapi":"3.0.0","info":{"title":"Immuta Data Marketplace","version":"1.0"},"tags":[{"name":"Access Request","description":"APIs for managing data access"}],"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"}}}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"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"]},"metadata":{"description":"Metadata associated with the access request"},"status":{"type":"string","enum":["APPROVED","CANCELED","DENIED","PENDING","NONE","PUBLISHER","REVOKED","EXPIRED"]},"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"}],"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"]},"metadata":{"type":"object","properties":{"subjectMatterExperts":{"default":[],"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"}],"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"]},"metadata":{"type":"object","properties":{"subjectMatterExperts":{"default":[],"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"}}},"paths":{"/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"}}}}},"summary":"Get individual access request","tags":["Access Request"]}}}}
```

## Revoke access

Revoking access to data depends on the type of access granted:

* Data access: To revoke a user's data access to an asset or data product, [remove them as a member from the data product](https://documentation.immuta.com/saas/configure/how-to-guides/manage-data-products#with-the-ui-1), or revoke access through the access request ([see below](#with-the-ui-4)).
* Masking exception: To revoke a user's unmasked access to a masked column, revoke access through the access request ([see below](#with-the-ui-4)).

### With the UI

1. Navigate to the <i class="fa-list-check">:list-check:</i> [**Access Requests** page](https://app.immutacloud.com/marketplace/access-requests?offset=1\&size=10\&status=PENDING).
2. Click the request that originally granted the user access to the data product.
3. Click **Revoke Access,** and then **Confirm revoke access**.

### With the API

Ensure you set the [correct global segment](https://documentation.immuta.com/saas/developer-guides/api-intro/marketplace-api#base-path-and-global-segment) and use a [Request app personal access token (PAT)](https://documentation.immuta.com/saas/developer-guides/api-intro/marketplace-api#generate-a-personal-access-token-pat) when using the Request app API. See the [Request app API docs](https://documentation.immuta.com/saas/developer-guides/api-intro/marketplace-api) for additional guidance or to download the OpenAPI YAML for your own client generation.

## Revoke access to a data product

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

```json
{"openapi":"3.0.0","info":{"title":"Immuta Data Marketplace","version":"1.0"},"tags":[{"name":"Data Product","description":"APIs for managing data products"},{"name":"Access Request","description":"APIs for managing data access"}],"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"}}}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}}},"paths":{"/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":""}},"summary":"Revoke access to a data product","tags":["Data Product","Access Request"]}}}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://documentation.immuta.com/saas/request/review-access-requests/how-to-guides/view-and-respond-to-access-requests.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
