All pages
Powered by GitBook
1 of 3

Loading...

Loading...

Loading...

How-to Guides

Manage Request Forms

Data product managers are able to create and manage request forms. Data stewards can edit request forms they are assigned to.

Create a new request form

Requirement: Immuta permission GOVERNANCE or Manage Data Products in a domain

With the UI

From the Marketplace app,

  1. Navigate to the .

  2. Click New request form.

  3. Enter the form name, which is how data product owners can add it to their own data product.

  4. Enter one or more request questions for the data consumer to answer:

With the API

Ensure you set the and use a when using the Marketplace API. See the for additional guidance or to download the OpenAPI YAML for your own client generation.

Edit a request form

Requirement: Immuta permission GOVERNANCE, Manage Data Products in a domain, or assigned data steward in the request form

Editing a request form will impact any data products currently using it. However, pending or completed requests will not be retroactively impacted; they will continue to show the request form as it was when the request or approval was made.

Editing the Standard Request Form is not supported.

With the UI

From the Marketplace app,

  1. Navigate to the .

  2. Click on the name of the request form you want to edit.

  3. Make the changes you want.

  4. Click Save.

With the API

Ensure you set the and use a when using the Marketplace API. See the for additional guidance or to download the OpenAPI YAML for your own client generation.

Delete a request form

Requirement: Immuta permission GOVERNANCE or Manage Data Products in a domain

A request form can only be deleted if it is not currently in use in any data product.

With the UI

From the Marketplace app,

  1. Navigate to the .

  2. Click the name of the request for you want to delete.

  3. Click Delete.

With the API

Ensure you set the and use a when using the Marketplace API. See the for additional guidance or to download the OpenAPI YAML for your own client generation.

Enter a question and select the answer format in the dropdown.

  1. Short answer: Enter a question that the requester must answer with their own text response.

  2. Dropdown: Enter a question and the options for the dropdown. A requester must answer the question with a single dropdown option.

  3. Checkboxes: Enter a question and the options for the checkboxes. A requester may answer the question with multiple checkbox options.

  4. Access duration: The question and options will be pre-populated. A requester must answer the question with a time range.

  • Use the switch to dictate if the question is required. Access duration is always required if included.

  • Click the + icon to add more questions.

  • Select how you want the review flow determined:

    1. Delegate to data product: Data products that use this form will configure their own review flow.

    2. In this request form: The review flow defined here will apply to all assigned data products.

      1. Choose if you would like to require approval for requests on this data product:

        • Yes: When the user makes a request on a data product, in addition to acknowledging the data use agreement and answering the required question, they will need to be approved by the data stewards.

          • Assign the data stewards: Choose the Immuta source from the dropdowns that will dictate who is a data steward. If you select a domain permission, the data steward must have that domain-specific permission for the domain that the data product is built off of.

          • Choose if you would like to require all or any data stewards to approve:

  • Add a data use agreement (optional). Use the default data use agreement or Create new +. The data use agreement is what the data consumer must agree to when requesting access to your data product.

  • Click Save.

  • Request forms page
    correct global segment
    Marketplace-specific personal access token (PAT)
    Marketplace API docs
    Request forms page
    correct global segment
    Marketplace-specific personal access token (PAT)
    Marketplace API docs
    Request forms page
    correct global segment
    Marketplace-specific personal access token (PAT)
    Marketplace API docs

    All stewards: For every source you select, a data steward from that source must make a determination. If a data steward qualifies multiple sources, their determination will count for each of the sources they have. If any of the data stewards deny the request, it will be denied. If any of the data stewards temporarily approve the request, once the determination is made, the user will be approved for temporary access for the shortest time period given.

  • Any steward: A single determination is required for the request, and any data steward with any of the sources dictated can make the determination.

  • No: When the user makes a request on a data product, they will be automatically approved once they acknowledge the data use agreement and answer any question required for access:

    • Auto approve: Enter the reason users do not need approval.

    • Auto approve with expiration: Enter the reason users do not need approval and use the dropdown to select how long users will have access to the data before the access expires.

  • View and Respond to Access Requests

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

    Respond to an access request

    With the UI

    In the Marketplace app,

    1. Navigate to the .

    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.

    When available, 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.

    With the API

    Ensure you set the and use a when using the Marketplace API. See the for additional guidance or to download the OpenAPI YAML for your own client generation.

    View access requests

    With the UI

    In the Marketplace app,

    1. Navigate to the .

    2. Opt to filter by status, type, or date.

    With the API

    Ensure you set the and use a when using the Marketplace API. See the for additional guidance or to download the OpenAPI YAML for your own client generation.

    View the access requests of a specific data product

    With the UI

    ,

    1. Navigate 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 and use a when using the Marketplace API. See the for additional guidance or to download the OpenAPI YAML for your own client generation.

    View the approval record for a request

    With the UI

    In the Marketplace app,

    1. Navigate to the .

    2. Click the request you want the details for.

    With the API

    Ensure you set the and use a when using the Marketplace API. See the for additional guidance or to download the OpenAPI YAML for your own client generation.

    Revoke access

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

    • Data access: To revoke a user's data access to a data product, , or revoke access through the access request ().

    • Masking exception: To revoke a user's unmasked access to a masked column, revoke access through the access request ().

    With the UI

    In the Marketplace app,

    1. Navigate to the .

    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 and use a when using the Marketplace API. See the for additional guidance or to download the OpenAPI YAML for your own client generation.

    Masking exception request: Review the request details, columns the user wants unmasked access to, and data use agreement.

  • Select Continue to determination, and opt to view the Determination history tab for data access requests.

  • 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 product.

      • Use the dropdowns to select how long the user should have access to the data product. 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 product.

    • Deny: Deny the access request.

      • Enter your reason to deny access to the data product.

  • Click Submit determination. Your determination cannot be edited after it is submitted, even if the request remains open for other data stewards to approve.

  • Access Requests page
    AI-powered feature
    review assist
    correct global segment
    Marketplace-specific personal access token (PAT)
    Marketplace API docs
    Access Requests page
    correct global segment
    Marketplace-specific personal access token (PAT)
    Marketplace API docs
    In the Marketplace app
    correct global segment
    Marketplace-specific personal access token (PAT)
    Marketplace API docs
    Access Requests page
    correct global segment
    Marketplace-specific personal access token (PAT)
    Marketplace API docs
    remove them as a member from the data product
    see below
    see below
    Access Requests page
    correct global segment
    Marketplace-specific personal access token (PAT)
    Marketplace API docs
    post

    Create a request form

    Authorizations
    AuthorizationstringRequired
    Bearer authentication header of the form Bearer <token>.
    Body
    namestringRequired
    idstring · uuidOptional
    dataUseAgreementIdsstring · uuid[]Optional
    Responses
    201Success
    application/json
    409

    Request form with name already exists.

    post
    /api/request-form

    Update a request form

    put

    Update a request form

    Authorizations
    AuthorizationstringRequired
    Bearer authentication header of the form Bearer <token>.
    Path parameters
    idstringRequired
    Body
    Responses
    201Success
    application/json
    put
    /api/request-form/{id}

    Delete a request form

    delete

    Delete a request form

    Authorizations
    AuthorizationstringRequired
    Bearer authentication header of the form Bearer <token>.
    Path parameters
    idstringRequired
    Responses
    204Success
    delete
    /api/request-form/{id}

    Approve or reject an approval record

    put

    Modify a pending approval record as an approver

    Authorizations
    AuthorizationstringRequired
    Bearer authentication header of the form Bearer <token>.
    Path parameters
    idstringRequired
    Body
    statusstring · enumRequiredExample: PENDINGPossible values:
    reasonstringOptional
    durationnumber · min: 1Optional
    durationUnitstring · enumOptionalPossible values:
    Responses
    200Success
    application/json
    put
    /api/approval-record/{id}

    Search access requests

    get

    Search and filter access requests the current user can manage

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

    Whether to include historical access requests

    Default: true
    includeTemporarybooleanOptional

    Whether to include temporary access requests

    Default: false
    dataProductIdone ofOptional

    The ID of the data product to filter requests by

    string · cuidOptional

    The ID of the data product to filter requests by

    or
    string · uuidOptional
    offsetnumberOptionalDefault: 0
    limitnumber · min: 1OptionalDefault: 10
    sortOrderstring · enumOptionalDefault: descPossible values:
    sortBystring · enumOptionalDefault: createdAtPossible values:
    Responses
    200Success
    application/json
    get
    /api/access-request

    Search all access requests for the data product

    get

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

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

    Whether to include historical access requests

    Default: true
    includeTemporarybooleanOptional

    Whether to include temporary access requests

    Default: false
    dataProductIdone ofOptional

    The ID of the data product to filter requests by

    string · cuidOptional

    The ID of the data product to filter requests by

    or
    string · uuidOptional
    offsetnumberOptionalDefault: 0
    limitnumber · min: 1OptionalDefault: 10
    sortOrderstring · enumOptionalDefault: descPossible values:
    sortBystring · enumOptionalDefault: createdAtPossible values:
    Responses
    200Success
    application/json
    get
    /api/data-product/{id}/request

    Get individual access request

    get

    Returns specific details for a specific access request

    Authorizations
    AuthorizationstringRequired
    Bearer authentication header of the form Bearer <token>.
    Path parameters
    idstringRequired
    Responses
    200Success
    application/json
    get
    /api/access-request/{id}

    Revoke access to a data product

    delete

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

    Authorizations
    AuthorizationstringRequired
    Bearer authentication header of the form Bearer <token>.
    Path parameters
    idstringRequired
    requestIdstringRequired
    Responses
    204Success
    delete
    /api/data-product/{id}/request/{requestId}
    namestringOptional
    idstring · uuidOptional
    dataUseAgreementIdsstring · uuid[]Optional
    201Success
    204Success

    No content

    200Success
    200Success
    200Success
    200Success
    204Success

    No content

    {
      "id": "123e4567-e89b-12d3-a456-426614174000",
      "name": "text",
      "fields": [
        {
          "id": "123e4567-e89b-12d3-a456-426614174000",
          "type": "DROPDOWN",
          "label": "text",
          "required": true,
          "options": [
            {
              "value": "text"
            }
          ]
        }
      ],
      "policy": {
        "version": "text",
        "rules": [
          {
            "conditions": {
              "all": []
            },
            "event": {
              "type": "approve",
              "params": {
                "comment": "text",
                "duration": 1,
                "durationUnit": "HOURS"
              }
            }
          }
        ],
        "defaultEvent": {
          "type": "approve",
          "params": {
            "comment": "text",
            "duration": 1,
            "durationUnit": "HOURS"
          }
        }
      },
      "dataUseAgreements": [
        {
          "id": "123e4567-e89b-12d3-a456-426614174000",
          "name": "text",
          "body": "text"
        }
      ],
      "createdBy": {
        "globalUserId": "123e4567-e89b-12d3-a456-426614174000",
        "name": "text"
      },
      "createdAt": "2025-12-14T17:28:25.679Z",
      "updatedBy": {
        "globalUserId": "123e4567-e89b-12d3-a456-426614174000",
        "name": "text"
      },
      "updatedAt": "2025-12-14T17:28:25.679Z",
      "version": "text"
    }
    {
      "id": "123e4567-e89b-12d3-a456-426614174000",
      "name": "text",
      "fields": [
        {
          "id": "123e4567-e89b-12d3-a456-426614174000",
          "type": "DROPDOWN",
          "label": "text",
          "required": true,
          "options": [
            {
              "value": "text"
            }
          ]
        }
      ],
      "policy": {
        "version": "text",
        "rules": [
          {
            "conditions": {
              "all": []
            },
            "event": {
              "type": "approve",
              "params": {
                "comment": "text",
                "duration": 1,
                "durationUnit": "HOURS"
              }
            }
          }
        ],
        "defaultEvent": {
          "type": "approve",
          "params": {
            "comment": "text",
            "duration": 1,
            "durationUnit": "HOURS"
          }
        }
      },
      "dataUseAgreements": [
        {
          "id": "123e4567-e89b-12d3-a456-426614174000",
          "name": "text",
          "body": "text"
        }
      ],
      "createdBy": {
        "globalUserId": "123e4567-e89b-12d3-a456-426614174000",
        "name": "text"
      },
      "createdAt": "2025-12-14T17:28:25.679Z",
      "updatedBy": {
        "globalUserId": "123e4567-e89b-12d3-a456-426614174000",
        "name": "text"
      },
      "updatedAt": "2025-12-14T17:28:25.679Z",
      "version": "text"
    }
    POST /marketplace/api/request-form HTTP/1.1
    Host: na.api.immutacloud.com
    Authorization: Bearer YOUR_SECRET_TOKEN
    Content-Type: application/json
    Accept: */*
    Content-Length: 510
    
    {
      "name": "text",
      "fields": [
        {
          "id": "123e4567-e89b-12d3-a456-426614174000",
          "type": "DROPDOWN",
          "label": "text",
          "required": true,
          "options": [
            {
              "value": "text"
            }
          ]
        }
      ],
      "policy": {
        "version": "text",
        "rules": [
          {
            "conditions": {
              "all": []
            },
            "event": {
              "type": "approve",
              "params": {
                "comment": "text",
                "duration": 1,
                "durationUnit": "HOURS"
              }
            }
          }
        ],
        "defaultEvent": {
          "type": "approve",
          "params": {
            "comment": "text",
            "duration": 1,
            "durationUnit": "HOURS"
          }
        }
      },
      "id": "123e4567-e89b-12d3-a456-426614174000",
      "dataUseAgreementIds": [
        "123e4567-e89b-12d3-a456-426614174000"
      ]
    }
    PUT /marketplace/api/request-form/{id} HTTP/1.1
    Host: na.api.immutacloud.com
    Authorization: Bearer YOUR_SECRET_TOKEN
    Content-Type: application/json
    Accept: */*
    Content-Length: 510
    
    {
      "name": "text",
      "fields": [
        {
          "id": "123e4567-e89b-12d3-a456-426614174000",
          "type": "DROPDOWN",
          "label": "text",
          "required": true,
          "options": [
            {
              "value": "text"
            }
          ]
        }
      ],
      "policy": {
        "version": "text",
        "rules": [
          {
            "conditions": {
              "all": []
            },
            "event": {
              "type": "approve",
              "params": {
                "comment": "text",
                "duration": 1,
                "durationUnit": "HOURS"
              }
            }
          }
        ],
        "defaultEvent": {
          "type": "approve",
          "params": {
            "comment": "text",
            "duration": 1,
            "durationUnit": "HOURS"
          }
        }
      },
      "id": "123e4567-e89b-12d3-a456-426614174000",
      "dataUseAgreementIds": [
        "123e4567-e89b-12d3-a456-426614174000"
      ]
    }
    DELETE /marketplace/api/request-form/{id} HTTP/1.1
    Host: na.api.immutacloud.com
    Authorization: Bearer YOUR_SECRET_TOKEN
    Accept: */*
    
    {
      "id": "text",
      "dataAccessRequestId": "text",
      "approvers": [
        {
          "type": "USER",
          "id": "text",
          "displayName": "text"
        }
      ],
      "prerequisites": [
        "text"
      ],
      "actionBy": {
        "id": 1,
        "iamId": "text",
        "globalUserId": "123e4567-e89b-12d3-a456-426614174000",
        "username": "text",
        "name": "text",
        "email": "text",
        "authorizations": {
          "ANY_ADDITIONAL_PROPERTY": [
            "text"
          ]
        }
      },
      "status": "PENDING",
      "reason": "text",
      "createdAt": "2025-12-14T17:28:25.679Z",
      "updatedAt": "2025-12-14T17:28:25.679Z",
      "approverCriteriaMet": [
        {
          "type": "USER",
          "id": "text",
          "displayName": "text"
        }
      ],
      "duration": 1,
      "durationUnit": "text"
    }
    {
      "data": [
        {
          "id": "text",
          "requestingUser": {
            "id": 1,
            "iamId": "text",
            "globalUserId": "123e4567-e89b-12d3-a456-426614174000",
            "username": "text",
            "name": "text",
            "email": "text",
            "authorizations": {
              "ANY_ADDITIONAL_PROPERTY": [
                "text"
              ]
            }
          },
          "user": {
            "id": 1,
            "iamId": "text",
            "globalUserId": "123e4567-e89b-12d3-a456-426614174000",
            "username": "text",
            "name": "text",
            "email": "text",
            "authorizations": {
              "ANY_ADDITIONAL_PROPERTY": [
                "text"
              ]
            }
          },
          "formVersion": "text",
          "form": null,
          "type": "DATA_ACCESS",
          "metadata": null,
          "status": "PENDING",
          "expiration": "2025-12-14T17:28:25.679Z",
          "createdAt": "2025-12-14T17:28:25.679Z",
          "updatedAt": "2025-12-14T17:28:25.679Z",
          "dataProduct": {
            "id": "text",
            "name": "text",
            "description": "All sales records from the current fiscal year"
          }
        }
      ],
      "meta": {
        "offset": 0,
        "limit": 10,
        "totalCount": 1,
        "pageCount": 1,
        "currentPage": 1,
        "totalPages": 1
      }
    }
    {
      "data": [
        {
          "id": "text",
          "requestingUser": {
            "id": 1,
            "iamId": "text",
            "globalUserId": "123e4567-e89b-12d3-a456-426614174000",
            "username": "text",
            "name": "text",
            "email": "text",
            "authorizations": {
              "ANY_ADDITIONAL_PROPERTY": [
                "text"
              ]
            }
          },
          "user": {
            "id": 1,
            "iamId": "text",
            "globalUserId": "123e4567-e89b-12d3-a456-426614174000",
            "username": "text",
            "name": "text",
            "email": "text",
            "authorizations": {
              "ANY_ADDITIONAL_PROPERTY": [
                "text"
              ]
            }
          },
          "formVersion": "text",
          "form": null,
          "type": "DATA_ACCESS",
          "metadata": null,
          "status": "PENDING",
          "expiration": "2025-12-14T17:28:25.679Z",
          "createdAt": "2025-12-14T17:28:25.679Z",
          "updatedAt": "2025-12-14T17:28:25.679Z",
          "dataProduct": {
            "id": "text",
            "name": "text",
            "description": "All sales records from the current fiscal year"
          }
        }
      ],
      "meta": {
        "offset": 0,
        "limit": 10,
        "totalCount": 1,
        "pageCount": 1,
        "currentPage": 1,
        "totalPages": 1
      }
    }
    {
      "id": "text",
      "requestingUser": {
        "id": 1,
        "iamId": "text",
        "globalUserId": "123e4567-e89b-12d3-a456-426614174000",
        "username": "text",
        "name": "text",
        "email": "text",
        "authorizations": {
          "ANY_ADDITIONAL_PROPERTY": [
            "text"
          ]
        }
      },
      "user": {
        "id": 1,
        "iamId": "text",
        "globalUserId": "123e4567-e89b-12d3-a456-426614174000",
        "username": "text",
        "name": "text",
        "email": "text",
        "authorizations": {
          "ANY_ADDITIONAL_PROPERTY": [
            "text"
          ]
        }
      },
      "formVersion": "text",
      "form": null,
      "type": "DATA_ACCESS",
      "metadata": null,
      "status": "PENDING",
      "expiration": "2025-12-14T17:28:25.679Z",
      "createdAt": "2025-12-14T17:28:25.679Z",
      "updatedAt": "2025-12-14T17:28:25.679Z",
      "dataProduct": {
        "id": "text",
        "name": "text",
        "description": "All sales records from the current fiscal year"
      }
    }
    PUT /marketplace/api/approval-record/{id} HTTP/1.1
    Host: na.api.immutacloud.com
    Authorization: Bearer YOUR_SECRET_TOKEN
    Content-Type: application/json
    Accept: */*
    Content-Length: 72
    
    {
      "status": "PENDING",
      "reason": "text",
      "duration": 1,
      "durationUnit": "HOURS"
    }
    GET /marketplace/api/access-request HTTP/1.1
    Host: na.api.immutacloud.com
    Authorization: Bearer YOUR_SECRET_TOKEN
    Accept: */*
    
    GET /marketplace/api/data-product/{id}/request HTTP/1.1
    Host: na.api.immutacloud.com
    Authorization: Bearer YOUR_SECRET_TOKEN
    Accept: */*
    
    GET /marketplace/api/access-request/{id} HTTP/1.1
    Host: na.api.immutacloud.com
    Authorization: Bearer YOUR_SECRET_TOKEN
    Accept: */*
    
    DELETE /marketplace/api/data-product/{id}/request/{requestId} HTTP/1.1
    Host: na.api.immutacloud.com
    Authorization: Bearer YOUR_SECRET_TOKEN
    Accept: */*