Create persona

POST /api/service/personas

Create a new persona in Atlan.

Note that while it is technically possible to define policies at the same time as creating the persona itself, this does run the risk of timeouts for the creation API call. Therefore it is recommended to create and update policies in subsequent requests, not the initial persona creation request.

Body Required

Persona to create.

  • 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 Required

    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 Required

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

  • groups array[string] | null Required

    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 object

    Successfully created persona.

    • id string | null

      Unique identifier of the persona.

    • name string

      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.

    • createdAt integer(int64) | null

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

    • createdBy string | null

      User who created the persona.

    • updatedAt integer(int64) | null

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

    • updatedBy string | null

      User who last updated the persona.

    • type string | null

      Type of object that was created. (This will always be persona.)

    • level string | null

      Level of the created persona. (This will always be workspace.)

    • version string | null

      Unique identity for the version of the persona.

    • enabled boolean | null

      True when this persona is turned on, and false when it is turned off.

    • resources string | null
    • attributes object | null
POST /api/service/personas
curl \
 -X POST https://tenant.atlan.com/api/service/personas \
 -H "Authorization: Bearer $ACCESS_TOKEN" \
 -H "Content-Type: application/json" \
 -d '{"name":"Data Engineers","displayName":"Data Engineers","users":[],"groups":[]}'
Request example
{
  "name": "Data Engineers",
  "displayName": "Data Engineers",
  "users": [],
  "groups": []
}
Response example (200)
{
  "id": "9bee3ff8-9bf4-436f-927b-3e415fd3afe9",
  "name": "Data Engineers",
  "displayName": "Data Engineers",
  "createdAt": 1655205634935,
  "createdBy": "service-account-apikey-e8d1f0bd-600e-4a8a-9248-b7c9aa1ef8c3",
  "updatedAt": null,
  "updatedBy": "",
  "type": "persona",
  "level": "workspace",
  "description": "",
  "metadataPolicies": [],
  "dataPolicies": [],
  "glossaryPolicies": [],
  "users": [],
  "groups": [],
  "version": "morning-boat-1740",
  "enabled": true,
  "readme": "",
  "resources": null,
  "attributes": null
}