Manage Frameworks

Frameworks API reference guide

The frameworks resource allows you to create and manage classification frameworks. System-created frameworks cannot be edited, so create a clone to make any adjustments.

Endpoints

GET /frameworks

Get all the frameworks in Immuta.

curl -X 'GET' \
    'https://www.organization.immuta.com/frameworks' \
    -H 'accept: application/json' \
    -H 'Content-Type: application/json' \
    -H 'Authorization: 846e9e43c86a4ct1be14290d95127d13f'

Response

The response returns all the frameworks in Immuta. See the framework reference section for details about the response schema.

POST /frameworks

Create a new framework. This example creates a framework that will tag all columns in a data source with the tag "HR Framework . Internal Employee Data" when a single column within the data source has the tag "Employee Name". Then subscription and data policies can be built to only allow HR to access this sensitive employee data.

curl -X 'POST' \
    'https://www.organization.immuta.com/frameworks' \
    -H 'accept: application/json' \
    -H 'Content-Type: application/json' \
    -H 'Authorization: 846e9e43c86a4ct1be14290d95127d13f' \
    -d '{
    "active": true,
    "shortName": "HR Information",
    "name": "HR Information Framework",
    "description": "This framework finds internal employee information and tags it for HR.",
    "tags": [
    {
      "name": "HR Framework.Internal Employee Data",
      "source": "curated",
      "description": "Indicates data that represents information about an internal employee.",
      "sensitivities": []
    }],
    "rules": [
    { "name": "HR Rule 1",
      "classificationTag": {
        "name": "HR Framework.Internal Employee Data",
        "source": "curated"
      },
      "columnTags": [],
      "neighborColumnTags": [
        {
        "name": "Employee Name",
        "source": "curated"
        }
      ],
      "tableTags": []
      }
    ]}

Body parameters

The request accepts a JSON or YAML payload. See the framework payload description for parameter details.

Response

The response returns the framework that was created. See the framework reference section for details about the response schema.

{
  "id": "9a6bf3b1-823c-4b2e-aef9-570dac6793cc",
  "version": "4e823e0b-8e38-455d-b23c-1f03200d203a",
  "shortName": "HR Information",
  "name": "HR Information Framework",
  "description": "This framework finds internal employee information and tags it for HR.",
  "createdBy": 2,
  "createdAt": "2023-10-19T16:14:39.109Z",
  "tags": [
    {
      "name": "HR Framework.Internal Employee Data",
      "source": "curated",
      "description": "Indicates data that represents information about an internal employee.",
      "sensitivities": []
    }
  ],
  "rules": [
    {  "name": "HR Rule 1",
      "classificationTag": {
        "name": "HR Framework.Internal Employee Data",
        "source": "curated"
      },
      "columnTags": [],
      "neighborColumnTags": [
        {
          "name": "Employee Name",
          "source": "curated"
        }
      ],
      "tableTags": []
    }
  ],
  "active": true
}

DELETE /frameworks/{frameworkId}

Deletes the framework you specify in the request.

curl -X 'DELETE' \
    'https://www.organization.immuta.com/frameworks/123456' \
    -H 'accept: application/json' \
    -H 'Content-Type: application/json' \
    -H 'Authorization: 846e9e43c86a4ct1be14290d95127d13f'

Request parameter

Response

The response returns a 204 response code if the request was successful.

GET /frameworks/{frameworkId}

Gets the framework you specify in the request.

curl -X 'GET' \
    'https://www.organization.immuta.com/frameworks/123456' \
    -H 'accept: application/json' \
    -H 'Content-Type: application/json' \
    -H 'Authorization: 846e9e43c86a4ct1be14290d95127d13f'

Request parameter

Response

The response returns the framework specified in the request. See the framework reference section for details about the response schema.

PUT /frameworks/{frameworkId}

Update a framework. This example updates a framework to be inactive.

curl -X 'PUT' \
    'https://www.organization.immuta.com/frameworks/123456' \
    -H 'accept: application/json' \
    -H 'Content-Type: application/json' \
    -H 'Authorization: 846e9e43c86a4ct1be14290d95127d13f' \
    -d '{
    "active": false
    }

Request parameter

Body parameters

The request accepts a JSON or YAML payload. See the framework payload description for parameter options; partial updates are supported.

Response

The response returns the framework that was updated. See the framework reference section for details about the response schema.

{
  "id": "123456",
  "version": "4e823e0b-8e38-455d-b23c-1f03200d203a",
  "shortName": "HR Information",
  "name": "HR Information Framework",
  "description": "This framework finds internal employee information and tags it for HR.",
  "createdBy": 2,
  "createdAt": "2023-10-19T16:14:39.109Z",
  "tags": [
    {
      "name": "HR Framework.Internal Employee Data",
      "source": "curated",
      "description": "Indicates data that represents information about an internal employee.",
      "sensitivities": []
    }
  ],
  "rules": [
    { "name": "HR Rule 1",
      "classificationTag": {
        "name": "HR Framework.Internal Employee Data",
        "source": "curated"
      },
      "columnTags": [],
      "neighborColumnTags": [
        {
          "name": "Employee Name",
          "source": "curated"
        }
      ],
      "tableTags": []
    }
  ],
  "active": false
}

POST /frameworks/{frameworkId}/clone

Clone a framework from an existing framework.

curl -X 'POST' \
    'https://www.organization.immuta.com/frameworks/123456/clone' \
    -H 'accept: application/json' \
    -H 'Content-Type: application/json' \
    -H 'Authorization: 846e9e43c86a4ct1be14290d95127d13f'

Request parameter

Response

The response returns the framework that was created as a clone. See the framework reference section for details about the response schema.

{
  "id": "123456",
  "version": "4e823e0b-8e38-455d-b23c-1f03200d203a",
  "shortName": "HR Information",
  "name": "HR Information Framework",
  "description": "This framework finds internal employee information and tags it for HR.",
  "createdBy": 2,
  "createdAt": "2023-10-19T16:14:39.109Z",
  "tags": [
    {
      "name": "HR Framework.Internal Employee Data",
      "source": "curated",
      "description": "Indicates data that represents information about an internal employee.",
      "sensitivities": []
    }
  ],
  "rules": [
    { "name": "HR Rule 1",
      "classificationTag": {
        "name": "HR Framework.Internal Employee Data",
        "source": "curated"
      },
      "columnTags": [],
      "neighborColumnTags": [
        {
          "name": "Employee Name",
          "source": "curated"
        }
      ],
      "tableTags": []
    }
  ],
  "active": false
}

GET /frameworks/{frameworkId}/versions

Gets every version of the framework you specify in the request.

curl -X 'GET' \
    'https://www.organization.immuta.com/frameworks/123456/versions' \
    -H 'accept: application/json' \
    -H 'Content-Type: application/json' \
    -H 'Authorization: 846e9e43c86a4ct1be14290d95127d13f'

Request parameter

Response

The response returns a copy of every version of the framework specified in the request. See the framework reference section for details about the response schema.

Framework payload

The framework payload is used when creating or updating a framework. See the parameters below.

Tags object

The tags object specifies the tags created for and used in the framework. It includes metadata for the tags, like sensitivity and descriptions. The table below outlines its child parameters.

Rules object

The rules object specifies the rules used in the framework. The table below outlines its child parameters.

Framework reference

The framework reference is the response for many /frameworks requests. See the parameters described below.

Last updated

Copyright © 2014-2024 Immuta Inc. All rights reserved.