> For the complete documentation index, see [llms.txt](https://documentation.immuta.com/saas/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://documentation.immuta.com/saas/developer-guides/api-intro/marketplace-api/access-request.md).

# Access Request

APIs for managing data access

## 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":{"$ref":"#/components/schemas/HydratedAccessRequest"}},"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"]},"HydratedAccessRequest":{"title":"Hydrated Access Request","description":"Access request with user and data product metadata","type":"object","properties":{"id":{"type":"string","format":"cuid","pattern":"^[cC][^\\s-]{8,}$"},"requestingUser":{"$ref":"#/components/schemas/ImmutaUser"},"user":{"$ref":"#/components/schemas/ImmutaUser"},"formVersion":{"type":"string","nullable":true},"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":{"description":"When the temporary access will expire","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"dataProduct":{"type":"object","properties":{"id":{"oneOf":[{"type":"string","format":"cuid","pattern":"^[cC][^\\s-]{8,}$"},{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"}]},"name":{"description":"Data product name","type":"string","minLength":1,"maxLength":255,"pattern":"^[\\p{L}\\p{M}\\p{N})(\\-_/\\\\\\s]*$"},"description":{"type":"string","description":"Data product description","nullable":true}},"required":["id","name"]},"asset":{"type":"object","properties":{"id":{"oneOf":[{"type":"string","format":"cuid","pattern":"^[cC][^\\s-]{8,}$"},{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"}]},"type":{"type":"string","enum":["DATA_OBJECT"]},"name":{"description":"Asset name","type":"string","minLength":1},"metadata":{"description":"Data object asset metadata","type":"object","properties":{"subjectMatterExperts":{"default":[],"type":"array","items":{"type":"object","properties":{"id":{"description":"Immuta global user ID of the subject matter expert","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"username":{"type":"string"},"name":{"type":"string"}},"required":["id"]}},"objectPath":{"type":"array","items":{"type":"string"}},"technology":{"type":"string","enum":["Snowflake","PostgreSQL","Databricks","Phantom","Glue","MySQL","Teradata","MariaDB","Oracle","SQLServer","Trino","Redshift","BigQuery","Custom"]},"host":{"type":"string"},"port":{"type":"integer","minimum":1,"maximum":65535},"legacyType":{"type":"string"},"dataSourceId":{"type":"number"},"description":{"type":"string","nullable":true},"externalLink":{"type":"string","nullable":true}},"required":["objectPath"]}},"required":["id","type","name","metadata"]},"isProcessing":{"description":"Whether the request is still processing","type":"boolean"}},"required":["id","requestingUser","user","type","status","createdAt","updatedAt","isProcessing"]},"ImmutaUser":{"title":"Immuta User","type":"object","properties":{"id":{"type":"number"},"iamId":{"description":"ID of the IAM the user is associated with","type":"string"},"globalUserId":{"description":"Immuta global user ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"trackingId":{"type":"string"},"username":{"description":"Username/login name for the user","type":"string"},"name":{"description":"Display name","type":"string"},"email":{"type":"string","description":"Email address","nullable":true},"authorizations":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}}}},"required":["id","iamId","globalUserId","username","name"]},"AugmentedZodDto":{"type":"object","properties":{"statusCode":{"type":"number"},"message":{"type":"string"},"error":{"type":"string"}},"required":["statusCode","message"]}}},"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":{"description":"Immuta global user ID of the user for whom access is being requested","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"}}},{"name":"includeTemporary","required":false,"in":"query","description":"Whether to include temporary access requests","deprecated":true,"schema":{"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":{"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","pattern":"^[cC][^\\s-]{8,}$"},{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"}]}},{"name":"assetId","required":false,"in":"query","description":"The ID of the asset to filter requests by","schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$","type":"string"}},{"name":"assetType","required":false,"in":"query","description":"Filter access requests by asset type (DATA_OBJECT or DATA_PRODUCT)","schema":{"type":"array","items":{"type":"string","enum":["DATA_PRODUCT","DATA_OBJECT"]}}},{"name":"targetType","required":false,"in":"query","description":"Target type filter selections (DATA_PRODUCT, COLUMNS, or legacy type strings like table/view/schema)","schema":{"type":"array","items":{"type":"string"}}},{"name":"reviewerUserIds","required":false,"in":"query","description":"Filter access requests to those any of the specified users can still review or have already reviewed","schema":{"maxItems":10,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"}}},{"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"}}}},"default":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AugmentedZodDto"}}}}},"summary":"Search access requests","tags":["Access Request"]}}}}
```

## Request bulk access or masking exceptions for a data product

> Create individual access or masking exception requests for each requested user

```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":{"CreateRequests":{"oneOf":[{"type":"object","properties":{"globalUserIds":{"description":"List of user global IDs to request access for","minItems":1,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"}},"targets":{"description":"Targets to request access for, each with its own form","minItems":1,"type":"array","items":{"type":"object","properties":{"dataProductId":{"description":"Data product ID to request access for","oneOf":[{"type":"string","format":"cuid","pattern":"^[cC][^\\s-]{8,}$"},{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"}]},"assetId":{"description":"Asset ID to request access for","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"form":{"description":"The request form submission"}},"additionalProperties":false}},"requestType":{"type":"string","enum":["DATA_ACCESS"]}},"required":["globalUserIds","targets","requestType"]},{"type":"object","properties":{"globalUserIds":{"description":"List of user global IDs to request access for","minItems":1,"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"}},"targets":{"description":"Targets to request masking exceptions for, each with its own form and columns","minItems":1,"type":"array","items":{"type":"object","properties":{"dataProductId":{"description":"Data product ID to request access for","oneOf":[{"type":"string","format":"cuid","pattern":"^[cC][^\\s-]{8,}$"},{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"}]},"assetId":{"description":"Asset ID to request access for","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"form":{"description":"The request form submission"},"columns":{"description":"List of columns to request masking exception for","minItems":1,"type":"array","items":{"description":"Column in the data source to request masking exception for","type":"object","properties":{"columnName":{"description":"The name of the column to request masking exception for","type":"string"},"sourceId":{"description":"The ID of the data source this column belongs to","type":"string"}},"required":["columnName","sourceId"]}}},"required":["columns"],"additionalProperties":false}},"requestType":{"type":"string","enum":["MASKING_EXCEPTION"]}},"required":["globalUserIds","targets","requestType"]}]},"BulkRequestResponse":{"type":"object","properties":{"results":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"globalUserId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"dataProductId":{"oneOf":[{"type":"string","format":"cuid","pattern":"^[cC][^\\s-]{8,}$"},{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"}]},"status":{"type":"string","enum":["CREATED"]},"request":{"$ref":"#/components/schemas/HydratedAccessRequest"}},"required":["globalUserId","status","request"]},{"type":"object","properties":{"globalUserId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"assetId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"dataProductId":{"oneOf":[{"type":"string","format":"cuid","pattern":"^[cC][^\\s-]{8,}$"},{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"}]},"status":{"type":"string","enum":["FAILED"]},"error":{"type":"string"}},"required":["globalUserId","status","error"]}]}}},"required":["results"]},"HydratedAccessRequest":{"title":"Hydrated Access Request","description":"Access request with user and data product metadata","type":"object","properties":{"id":{"type":"string","format":"cuid","pattern":"^[cC][^\\s-]{8,}$"},"requestingUser":{"$ref":"#/components/schemas/ImmutaUser"},"user":{"$ref":"#/components/schemas/ImmutaUser"},"formVersion":{"type":"string","nullable":true},"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":{"description":"When the temporary access will expire","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"dataProduct":{"type":"object","properties":{"id":{"oneOf":[{"type":"string","format":"cuid","pattern":"^[cC][^\\s-]{8,}$"},{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"}]},"name":{"description":"Data product name","type":"string","minLength":1,"maxLength":255,"pattern":"^[\\p{L}\\p{M}\\p{N})(\\-_/\\\\\\s]*$"},"description":{"type":"string","description":"Data product description","nullable":true}},"required":["id","name"]},"asset":{"type":"object","properties":{"id":{"oneOf":[{"type":"string","format":"cuid","pattern":"^[cC][^\\s-]{8,}$"},{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"}]},"type":{"type":"string","enum":["DATA_OBJECT"]},"name":{"description":"Asset name","type":"string","minLength":1},"metadata":{"description":"Data object asset metadata","type":"object","properties":{"subjectMatterExperts":{"default":[],"type":"array","items":{"type":"object","properties":{"id":{"description":"Immuta global user ID of the subject matter expert","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"username":{"type":"string"},"name":{"type":"string"}},"required":["id"]}},"objectPath":{"type":"array","items":{"type":"string"}},"technology":{"type":"string","enum":["Snowflake","PostgreSQL","Databricks","Phantom","Glue","MySQL","Teradata","MariaDB","Oracle","SQLServer","Trino","Redshift","BigQuery","Custom"]},"host":{"type":"string"},"port":{"type":"integer","minimum":1,"maximum":65535},"legacyType":{"type":"string"},"dataSourceId":{"type":"number"},"description":{"type":"string","nullable":true},"externalLink":{"type":"string","nullable":true}},"required":["objectPath"]}},"required":["id","type","name","metadata"]},"isProcessing":{"description":"Whether the request is still processing","type":"boolean"}},"required":["id","requestingUser","user","type","status","createdAt","updatedAt","isProcessing"]},"ImmutaUser":{"title":"Immuta User","type":"object","properties":{"id":{"type":"number"},"iamId":{"description":"ID of the IAM the user is associated with","type":"string"},"globalUserId":{"description":"Immuta global user ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"trackingId":{"type":"string"},"username":{"description":"Username/login name for the user","type":"string"},"name":{"description":"Display name","type":"string"},"email":{"type":"string","description":"Email address","nullable":true},"authorizations":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}}}},"required":["id","iamId","globalUserId","username","name"]},"AugmentedZodDto":{"type":"object","properties":{"statusCode":{"type":"number"},"message":{"type":"string"},"error":{"type":"string"}},"required":["statusCode","message"]}}},"paths":{"/api/access-request":{"post":{"description":"Create individual access or masking exception requests for each requested user","operationId":"bulkRequestAccess","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateRequests"}}}},"responses":{"201":{"description":"All requests were created successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkRequestResponse"}}}},"207":{"description":"Some requests were created and some failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkRequestResponse"}}}},"422":{"description":"All requests failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkRequestResponse"}}}},"default":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AugmentedZodDto"}}}}},"summary":"Request bulk access or masking exceptions for a data product","tags":["Access Request"]}}}}
```

## Get the list of approved masking exception columns for the specified user

> Returns the list of approved masking exception columns for the specified user

```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":{"RequestedMaskingExceptionColumns":{"description":"List of columns that have been requested for masking exception","type":"array","items":{"description":"Column in the data source to request masking exception for","type":"object","properties":{"columnName":{"description":"The name of the column to request masking exception for","type":"string"},"sourceId":{"description":"The ID of the data source this column belongs to","type":"string"}},"required":["columnName","sourceId"]}},"AugmentedZodDto":{"type":"object","properties":{"statusCode":{"type":"number"},"message":{"type":"string"},"error":{"type":"string"}},"required":["statusCode","message"]}}},"paths":{"/api/access-request/approved-masking-exception-columns":{"get":{"description":"Returns the list of approved masking exception columns for the specified user","operationId":"getApprovedMaskingExceptionColumns","parameters":[{"name":"userId","required":false,"in":"query","description":"Optional user ID to filter approved masking exception columns. Defaults to the current user's ID.","schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$","type":"string"}},{"description":"Optional user ID to filter approved masking exception columns. Defaults to the current user's ID.","required":false,"name":"userId","in":"query","schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$","type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RequestedMaskingExceptionColumns"}}}},"default":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AugmentedZodDto"}}}}},"summary":"Get the list of approved masking exception columns for the specified user","tags":["Access Request"]}}}}
```

## 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":{"title":"Hydrated Access Request","description":"Access request with user and data product metadata","type":"object","properties":{"id":{"type":"string","format":"cuid","pattern":"^[cC][^\\s-]{8,}$"},"requestingUser":{"$ref":"#/components/schemas/ImmutaUser"},"user":{"$ref":"#/components/schemas/ImmutaUser"},"formVersion":{"type":"string","nullable":true},"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":{"description":"When the temporary access will expire","type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"dataProduct":{"type":"object","properties":{"id":{"oneOf":[{"type":"string","format":"cuid","pattern":"^[cC][^\\s-]{8,}$"},{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"}]},"name":{"description":"Data product name","type":"string","minLength":1,"maxLength":255,"pattern":"^[\\p{L}\\p{M}\\p{N})(\\-_/\\\\\\s]*$"},"description":{"type":"string","description":"Data product description","nullable":true}},"required":["id","name"]},"asset":{"type":"object","properties":{"id":{"oneOf":[{"type":"string","format":"cuid","pattern":"^[cC][^\\s-]{8,}$"},{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"}]},"type":{"type":"string","enum":["DATA_OBJECT"]},"name":{"description":"Asset name","type":"string","minLength":1},"metadata":{"description":"Data object asset metadata","type":"object","properties":{"subjectMatterExperts":{"default":[],"type":"array","items":{"type":"object","properties":{"id":{"description":"Immuta global user ID of the subject matter expert","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"username":{"type":"string"},"name":{"type":"string"}},"required":["id"]}},"objectPath":{"type":"array","items":{"type":"string"}},"technology":{"type":"string","enum":["Snowflake","PostgreSQL","Databricks","Phantom","Glue","MySQL","Teradata","MariaDB","Oracle","SQLServer","Trino","Redshift","BigQuery","Custom"]},"host":{"type":"string"},"port":{"type":"integer","minimum":1,"maximum":65535},"legacyType":{"type":"string"},"dataSourceId":{"type":"number"},"description":{"type":"string","nullable":true},"externalLink":{"type":"string","nullable":true}},"required":["objectPath"]}},"required":["id","type","name","metadata"]},"isProcessing":{"description":"Whether the request is still processing","type":"boolean"}},"required":["id","requestingUser","user","type","status","createdAt","updatedAt","isProcessing"]},"ImmutaUser":{"title":"Immuta User","type":"object","properties":{"id":{"type":"number"},"iamId":{"description":"ID of the IAM the user is associated with","type":"string"},"globalUserId":{"description":"Immuta global user ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"trackingId":{"type":"string"},"username":{"description":"Username/login name for the user","type":"string"},"name":{"description":"Display name","type":"string"},"email":{"type":"string","description":"Email address","nullable":true},"authorizations":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}}}},"required":["id","iamId","globalUserId","username","name"]},"AugmentedZodDto":{"type":"object","properties":{"statusCode":{"type":"number"},"message":{"type":"string"},"error":{"type":"string"}},"required":["statusCode","message"]}}},"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"}}}},"default":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AugmentedZodDto"}}}}},"summary":"Get individual access request","tags":["Access Request"]}}}}
```

## Cancel a pending access request

> Cancel the specified pending access request by ID, cascading the cancellation to any pending and blocked approval records.

```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":{"AugmentedZodDto":{"type":"object","properties":{"statusCode":{"type":"number"},"message":{"type":"string"},"error":{"type":"string"}},"required":["statusCode","message"]}}},"paths":{"/api/access-request/{id}":{"delete":{"description":"Cancel the specified pending access request by ID, cascading the cancellation to any pending and blocked approval records.","operationId":"cancelAccessRequest","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"204":{"description":""},"default":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AugmentedZodDto"}}}}},"summary":"Cancel a pending access request","tags":["Access Request"]}}}}
```

## Get approval records associated with the request

> Returns all approval records associated with 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":{"ApprovalRecords":{"type":"object","properties":{"approvalRecords":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"cuid","pattern":"^[cC][^\\s-]{8,}$"},"dataAccessRequestId":{"type":"string","format":"cuid","pattern":"^[cC][^\\s-]{8,}$"},"approvers":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"description":"Entity type","type":"string","enum":["USER"]},"id":{"description":"Entity ID","type":"string"},"displayName":{"description":"Entity display name","type":"string"}},"required":["type","id"]},{"type":"object","properties":{"type":{"description":"Entity type","type":"string","enum":["GROUP"]},"id":{"description":"Entity ID","type":"number"},"iamId":{"description":"IAM ID","type":"string"},"name":{"description":"Entity display name","type":"string"}},"required":["type","name"]},{"type":"object","properties":{"type":{"type":"string","enum":["PERMISSION"]},"permission":{"description":"Global permission","type":"string","enum":["GOVERNANCE","USER_ADMIN","AUDIT"]}},"required":["type","permission"]},{"type":"object","properties":{"type":{"type":"string","enum":["DOMAIN PERMISSION"]},"permission":{"description":"Domain permission","type":"string","enum":["Manage Policies","Audit Activity","Manage Data Products","Manage Identifiers"]},"domainId":{"description":"Domain ID","type":"string"}},"required":["type","permission"]},{"type":"object","properties":{"type":{"type":"string","enum":["ATTRIBUTE"]},"key":{"description":"Attribute key","type":"string"},"value":{"description":"Attribute value","type":"string"}},"required":["type","key","value"]},{"type":"object","properties":{"type":{"type":"string","enum":["CATALOG PERMISSION"]}},"required":["type"]}]}},"prerequisites":{"type":"array","items":{"type":"string"}},"actionBy":{"description":"The user who took action on this approval record","$ref":"#/components/schemas/ImmutaUser"},"status":{"type":"string","enum":["APPROVED","BLOCKED","CANCELED","DENIED","PENDING"]},"reason":{"type":"string"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"approverCriteriaMet":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"description":"Entity type","type":"string","enum":["USER"]},"id":{"description":"Entity ID","type":"string"},"displayName":{"description":"Entity display name","type":"string"}},"required":["type","id"]},{"type":"object","properties":{"type":{"description":"Entity type","type":"string","enum":["GROUP"]},"id":{"description":"Entity ID","type":"number"},"iamId":{"description":"IAM ID","type":"string"},"name":{"description":"Entity display name","type":"string"}},"required":["type","name"]},{"type":"object","properties":{"type":{"type":"string","enum":["PERMISSION"]},"permission":{"description":"Global permission","type":"string","enum":["GOVERNANCE","USER_ADMIN","AUDIT"]}},"required":["type","permission"]},{"type":"object","properties":{"type":{"type":"string","enum":["DOMAIN PERMISSION"]},"permission":{"description":"Domain permission","type":"string","enum":["Manage Policies","Audit Activity","Manage Data Products","Manage Identifiers"]},"domainId":{"description":"Domain ID","type":"string"}},"required":["type","permission"]},{"type":"object","properties":{"type":{"type":"string","enum":["ATTRIBUTE"]},"key":{"description":"Attribute key","type":"string"},"value":{"description":"Attribute value","type":"string"}},"required":["type","key","value"]},{"type":"object","properties":{"type":{"type":"string","enum":["CATALOG PERMISSION"]}},"required":["type"]}]},"nullable":true},"duration":{"type":"number","nullable":true},"durationUnit":{"type":"string","nullable":true},"canReview":{"description":"Whether the caller can approve or deny this record now (pending and caller is an approver)","type":"boolean"}},"required":["id","dataAccessRequestId","approvers","prerequisites","status","createdAt","updatedAt","approverCriteriaMet","duration","durationUnit","canReview"]}}},"required":["approvalRecords"]},"ImmutaUser":{"title":"Immuta User","type":"object","properties":{"id":{"type":"number"},"iamId":{"description":"ID of the IAM the user is associated with","type":"string"},"globalUserId":{"description":"Immuta global user ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"trackingId":{"type":"string"},"username":{"description":"Username/login name for the user","type":"string"},"name":{"description":"Display name","type":"string"},"email":{"type":"string","description":"Email address","nullable":true},"authorizations":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}}}},"required":["id","iamId","globalUserId","username","name"]},"AugmentedZodDto":{"type":"object","properties":{"statusCode":{"type":"number"},"message":{"type":"string"},"error":{"type":"string"}},"required":["statusCode","message"]}}},"paths":{"/api/access-request/{id}/records":{"get":{"description":"Returns all approval records associated with a specific access request","operationId":"getAccessRequestRecords","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApprovalRecords"}}}},"default":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AugmentedZodDto"}}}}},"summary":"Get approval records associated with the request","tags":["Access Request"]}}}}
```

## Get the risk assessment for a specific access request

> Returns the risk assessment 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":{"RiskAssessmentResponse":{"oneOf":[{"type":"object","properties":{"conflictDetected":{"type":"boolean"},"approvalRisk":{"type":"string","enum":["HIGH","MODERATE","LOW","INDETERMINATE","PENDING"]},"recommendation":{"oneOf":[{"type":"string","enum":["APPROVED","BLOCKED","CANCELED","DENIED","PENDING"]},{"type":"string","enum":["NONE"]}]},"nAllowed":{"type":"number"},"nDenied":{"type":"number"},"riskValue":{"type":"number"},"cohort":{"type":"object","properties":{"literals":{"type":"array","items":{"allOf":[{"oneOf":[{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"]},{"type":"object","properties":{"name":{"type":"string"}},"required":["name"]},{"type":"object","properties":{"label":{"type":"string"},"similarRequests":{"type":"object","additionalProperties":{"type":"string"}}},"required":["label"]}]},{"type":"object","properties":{"negation":{"type":"boolean"}}}]}}},"required":["literals"]},"medianApprovalTimeWindowInDays":{"type":"number","nullable":true},"explanation":{"type":"string"},"approvalReasons":{"type":"array","items":{"type":"string"}},"denialReasons":{"type":"array","items":{"type":"string"}}},"required":["conflictDetected","approvalRisk","recommendation","nAllowed","nDenied","riskValue","cohort","explanation","approvalReasons","denialReasons"]},{"type":"object","properties":{"approvalRisk":{"type":"string","enum":["HIGH","MODERATE","LOW","INDETERMINATE","PENDING"]}},"required":["approvalRisk"]}]},"AugmentedZodDto":{"type":"object","properties":{"statusCode":{"type":"number"},"message":{"type":"string"},"error":{"type":"string"}},"required":["statusCode","message"]}}},"paths":{"/api/access-request/{id}/risk-assessment":{"get":{"description":"Returns the risk assessment for a specific access request","operationId":"getRiskAssessment","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RiskAssessmentResponse"}}}},"default":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AugmentedZodDto"}}}}},"summary":"Get the risk assessment for a specific access request","tags":["Access Request"]}}}}
```

## Search masking exception columns associated with the masking exception request

> Search masking exception columns associated with a specific masking exception 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":{"PaginatedMaskingExceptionColumns":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"name":{"description":"Name of the column","type":"string"},"sourceId":{"description":"The ID of the data source containing the column","type":"string"},"sourceName":{"description":"The name of the data source containing the column","type":"string"},"tags":{"description":"Tags associated with the column","type":"array","items":{"type":"string"}},"type":{"description":"The data source technology/platform type","type":"string"},"globalPolicyInfo":{"type":"object","properties":{"maskingType":{"description":"The type of masking policy that was applied","type":"string"},"matchingTag":{"type":"string","description":"The tag that caused the global masking policy to be applied","nullable":true},"matchingRegex":{"type":"string","description":"The regex that caused the global masking policy to be applied","nullable":true}},"required":["maskingType"],"nullable":true}},"required":["name","sourceId","sourceName","tags"]}},"meta":{"type":"object","properties":{"offset":{"default":0,"type":"number","minimum":0},"limit":{"default":10,"type":"number","minimum":1},"totalCount":{"type":"number"},"pageCount":{"type":"number"},"currentPage":{"type":"number"},"totalPages":{"type":"number"}},"required":["totalCount","pageCount","currentPage","totalPages"]}},"required":["data","meta"]},"AugmentedZodDto":{"type":"object","properties":{"statusCode":{"type":"number"},"message":{"type":"string"},"error":{"type":"string"}},"required":["statusCode","message"]}}},"paths":{"/api/access-request/{id}/masking-exception-columns":{"get":{"description":"Search masking exception columns associated with a specific masking exception request","operationId":"searchAccessRequestMaskingExceptionColumns","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"offset","required":false,"in":"query","schema":{"minimum":0,"default":0,"type":"number"}},{"name":"limit","required":false,"in":"query","schema":{"minimum":1,"default":10,"type":"number"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedMaskingExceptionColumns"}}}},"default":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AugmentedZodDto"}}}}},"summary":"Search masking exception columns associated with the masking exception request","tags":["Access Request"]}}}}
```

## 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","minLength":1},"duration":{"type":"number","minimum":1},"durationUnit":{"type":"string","enum":["HOURS","DAYS","WEEKS","MONTHS","YEARS"]}},"required":["status","reason"]},"ApprovalRecord":{"type":"object","properties":{"id":{"type":"string","format":"cuid","pattern":"^[cC][^\\s-]{8,}$"},"dataAccessRequestId":{"type":"string","format":"cuid","pattern":"^[cC][^\\s-]{8,}$"},"approvers":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"description":"Entity type","type":"string","enum":["USER"]},"id":{"description":"Entity ID","type":"string"},"displayName":{"description":"Entity display name","type":"string"}},"required":["type","id"]},{"type":"object","properties":{"type":{"description":"Entity type","type":"string","enum":["GROUP"]},"id":{"description":"Entity ID","type":"number"},"iamId":{"description":"IAM ID","type":"string"},"name":{"description":"Entity display name","type":"string"}},"required":["type","name"]},{"type":"object","properties":{"type":{"type":"string","enum":["PERMISSION"]},"permission":{"description":"Global permission","type":"string","enum":["GOVERNANCE","USER_ADMIN","AUDIT"]}},"required":["type","permission"]},{"type":"object","properties":{"type":{"type":"string","enum":["DOMAIN PERMISSION"]},"permission":{"description":"Domain permission","type":"string","enum":["Manage Policies","Audit Activity","Manage Data Products","Manage Identifiers"]},"domainId":{"description":"Domain ID","type":"string"}},"required":["type","permission"]},{"type":"object","properties":{"type":{"type":"string","enum":["ATTRIBUTE"]},"key":{"description":"Attribute key","type":"string"},"value":{"description":"Attribute value","type":"string"}},"required":["type","key","value"]},{"type":"object","properties":{"type":{"type":"string","enum":["CATALOG PERMISSION"]}},"required":["type"]}]}},"prerequisites":{"type":"array","items":{"type":"string"}},"actionBy":{"description":"The user who took action on this approval record","$ref":"#/components/schemas/ImmutaUser"},"status":{"type":"string","enum":["APPROVED","BLOCKED","CANCELED","DENIED","PENDING"]},"reason":{"type":"string"},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"approverCriteriaMet":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"description":"Entity type","type":"string","enum":["USER"]},"id":{"description":"Entity ID","type":"string"},"displayName":{"description":"Entity display name","type":"string"}},"required":["type","id"]},{"type":"object","properties":{"type":{"description":"Entity type","type":"string","enum":["GROUP"]},"id":{"description":"Entity ID","type":"number"},"iamId":{"description":"IAM ID","type":"string"},"name":{"description":"Entity display name","type":"string"}},"required":["type","name"]},{"type":"object","properties":{"type":{"type":"string","enum":["PERMISSION"]},"permission":{"description":"Global permission","type":"string","enum":["GOVERNANCE","USER_ADMIN","AUDIT"]}},"required":["type","permission"]},{"type":"object","properties":{"type":{"type":"string","enum":["DOMAIN PERMISSION"]},"permission":{"description":"Domain permission","type":"string","enum":["Manage Policies","Audit Activity","Manage Data Products","Manage Identifiers"]},"domainId":{"description":"Domain ID","type":"string"}},"required":["type","permission"]},{"type":"object","properties":{"type":{"type":"string","enum":["ATTRIBUTE"]},"key":{"description":"Attribute key","type":"string"},"value":{"description":"Attribute value","type":"string"}},"required":["type","key","value"]},{"type":"object","properties":{"type":{"type":"string","enum":["CATALOG PERMISSION"]}},"required":["type"]}]},"nullable":true},"duration":{"type":"number","nullable":true},"durationUnit":{"type":"string","nullable":true}},"required":["id","dataAccessRequestId","approvers","prerequisites","status","createdAt","updatedAt","approverCriteriaMet","duration","durationUnit"]},"ImmutaUser":{"title":"Immuta User","type":"object","properties":{"id":{"type":"number"},"iamId":{"description":"ID of the IAM the user is associated with","type":"string"},"globalUserId":{"description":"Immuta global user ID","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"},"trackingId":{"type":"string"},"username":{"description":"Username/login name for the user","type":"string"},"name":{"description":"Display name","type":"string"},"email":{"type":"string","description":"Email address","nullable":true},"authorizations":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}}}},"required":["id","iamId","globalUserId","username","name"]},"AugmentedZodDto":{"type":"object","properties":{"statusCode":{"type":"number"},"message":{"type":"string"},"error":{"type":"string"}},"required":["statusCode","message"]}}},"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"}}}},"default":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AugmentedZodDto"}}}}},"summary":"Approve or reject an approval record","tags":["Access Request"]}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

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

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://documentation.immuta.com/saas/developer-guides/api-intro/marketplace-api/access-request.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
