Update persona

POST /api/service/personas/{id}

Update a specific persona based on its unique identifier.

Path parameters

  • id string Required

    Unique identifier of the persona to update.

Body Required

Persona with details to include in the update.

Note that if any policy attributes are included, then all policy attributes must be included (even if they are only empty arrays).

  • id string | null

    Unique identifier of the persona.

  • name string Required

    Unique system name for the persona. This will generally be the same as the displayName, but must be unique.

  • displayName string | null

    Human-readable name of the persona. This is what is shown on the UI, and while not strictly required for creation if it is missing then no name will be displayed for the persona in the UI.

  • description string | null

    Meaningful explanation for what the persona represents or how it is used.

  • metadataPolicies array[object] | null

    Instance of a metadata policy for a persona in Atlan, with its detailed response-specific information.

    • actions array[string] | null

      List of granular permissions within the policy, to apply to the defined assets.

      Permissions are as follows:

      • entity-read: view activity, lineage, custom metadata and SQL queries for processes in lineage or view definitions
      • entity-update: update asset metadata including description, certification, owners, readme and resources
      • entity-create: create new assets within the selected connection or specified database/schema (via API)
      • entity-delete: delete assets within the selected connection or specified database/schema (via API)
      • entity-update-business-metadata: update custom metadata values for the assets
      • entity-add-classification: attach classifications to assets
      • entity-remove-classification: remove classifications from assets
      • add-terms: attach terms to assets
      • remove-terms: remove terms from assets
      • link-assets: link readme and resources to the assets

      Values are entity-read, entity-update, entity-create, entity-delete, entity-update-business-metadata, entity-add-classification, entity-remove-classification, add-terms, remove-terms, or link-assets.

    • allow boolean | null

      If false, this applies an "explicit deny" to the listed permissions. Those permissions will not be granted to any users on the policy, even if those users are parts of other policies that do give them those permissions. In other words, this "explicit deny" will take precedence over all other permissions for the same assets and users.

    • name string | null

      Meaningful explanation of the policy.

    • description string | null

      Unused.

    • assets array[string] | null

      List of assets to which the policy applies.

    • connectionId string | null

      Unique identifier (GUID) of the connection to which this policy applies.

    • createdAt integer(int64) | null

      Date and time (epoch) at which the policy was created, in milliseconds.

    • createdBy string | null

      User who created the policy.

    • updatedAt integer(int64) | null

      Date and time (epoch) at which the policy was last updated, in milliseconds.

    • updatedBy string | null

      User who last updated the policy.

    • id string | null

      Unique identifier (GUID) for the policy.

  • dataPolicies array[object] | null

    Instance of a data policy for a persona in Atlan, with its detailed response-specific information.

    • actions array[string] | null

      List of granular permissions within the policy, to apply to assets within the policy. For data policies the only possible permission is select, which applies to both previewing and querying data.

      Value is select.

    • allow boolean | null

      If false, this applies an "explicit deny" to preview and query permission. This denial for previewing and querying applies to entire tables within the assets defined in the policy.

    • name string | null

      Meaningful explanation of the policy.

    • description string | null

      Unused.

    • assets array[string] | null

      List of assets to which the policy applies.

    • connectionId string | null

      Unique identifier (GUID) of the connection to which this policy applies.

    • connectionName string | null

      Unused.

    • createdAt integer(int64) | null

      Date and time (epoch) at which the policy was created, in milliseconds.

    • createdBy string | null

      User who created the policy.

    • updatedAt integer(int64) | null

      Date and time (epoch) at which the policy was last updated, in milliseconds.

    • updatedBy string | null

      User who last updated the policy.

    • id string | null

      Unique identifier (GUID) for the policy.

  • glossaryPolicies array[object] | null

    Instance of a glossary policy for a persona in Atlan, with its detailed response-specific information.

    • actions array[string] | null

      List of granular permissions within the policy, to apply to the defined assets.

      Permissions are as follows:

      • entity-create: create terms and categories inside the glossary
      • entity-update: update metadata, resources, and readme for glossary, terms and categories and link those terms with all assets
      • entity-delete: delete terms and categories inside the glossary
      • entity-update-business-metadata: update custom metadata attributes for the terms and categories in selected glossary
      • entity-add-classification: attach classifications to terms
      • entity-remove-classification: remove classifications from terms
      • link-assets: link readme and resources to the glossary, terms and categories

      Values are entity-create, entity-update, entity-delete, entity-update-business-metadata, entity-add-classification, entity-remove-classification, or link-assets.

    • allow boolean | null

      If false, this applies an "explicit deny" to the listed permissions. Those permissions will not be granted to any users on the policy, even if those users are parts of other policies that do give them those permissions. In other words, this "explicit deny" will take precedence over all other permissions for the same assets and users.

    • name string | null

      Meaningful explanation of the policy.

    • description string | null

      Unused.

    • glossaryQualifiedNames array[string] | null

      List of qualifiedNames of the glossaries to which the policy applies.

    • createdAt integer(int64) | null

      Date and time (epoch) at which the policy was created, in milliseconds.

    • createdBy string | null

      User who created the policy.

    • updatedAt integer(int64) | null

      Date and time (epoch) at which the policy was last updated, in milliseconds.

    • updatedBy string | null

      User who last updated the policy.

    • id string | null

      Unique identifier (GUID) for the policy.

  • users array[string] | null

    List of unique identifiers (GUIDs) of users within the persona.

  • groups array[string] | null

    List of unique identifiers (GUIDs) of groups within the persona.

  • readme string | null

    URL-encoded HTML representing the richly-formatted readme for the persona.

Responses

  • 200

    Persona was updated successfully.

    Note that there is no content returned by this API when successful.

  • 400 object

    Bad request: typically because the persona could not be found.

    • code integer

      Unique code for the type of error that occurred.

    • error string

      High-level description of the error. This will typically be the words keycloak error.

    • info string | null
    • message string

      More detailed message regarding the error that occurred.

POST /api/service/personas/{id}
curl \
 -X POST https://tenant.atlan.com/api/service/personas/9bee3ff8-9bf4-436f-927b-3e415fd3afe9 \
 -H "Authorization: Bearer $ACCESS_TOKEN" \
 -H "Content-Type: application/json" \
 -d '{"name":"Data Engineers","description":"Personalization for our central team of Data Engineers.","users":[],"groups":["2a9f062d-485b-458d-96ee-1b82a19a1333"]}'
Request example
{
  "name": "Data Engineers",
  "description": "Personalization for our central team of Data Engineers.",
  "users": [],
  "groups": [
    "2a9f062d-485b-458d-96ee-1b82a19a1333"
  ]
}
Response example (400)
{
  "code": 3500,
  "error": "keycloak error",
  "info": "string",
  "message": "Got invalid status code from keycloak",
  "requestId": "2PYHURjODyNywCwRDHtK4lWoepxkoxYd"
}