Visier Administration APIs

Administration APIs for managing a Visier deployment: tenants, users, user groups, profiles, permissions, projects, production versions, system status, sources, email domains, and network subnets. 125 operations across 19 tags.

OpenAPI Specification

visier-administration-apis-openapi.yaml Raw ↑
openapi: 3.0.3
info:
  title: Visier Administration APIs
  description: Visier APIs for managing your tenant or tenants in Visier. You can programmatically manage user accounts in Visier, the profiles and permissions assigned to users, and to make changes in projects and publish projects to production. Administrating tenant users can use administration APIs to manage their analytic tenants and consolidated analytics tenants.<br>**Note:** If you submit API requests for changes that cause a project to publish to production (such as assigning permissions to users or updating permissions), each request is individually published to production, resulting in hundreds or thousands of production versions. We recommend that you use the `ProjectID` request header to make changes in a project, if `ProjectID` is available for the API endpoint.
  license:
    name: Apache License, Version 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0
  version: 22222222.99201.3040
paths:
  /v1/admin/capabilities:
    get:
      tags:
        - Permissions
      summary: Retrieve a list of all permission capabilities
      description: "Retrieve all the permission capabilities in your tenant.\n You can use the returned capabilities in other API calls when creating or updating permissions to assign the capability to the permission.\n\n To specify the project in which to retrieve the permission capabilities, provide a project UUID in the `ProjectID` request header."
      operationId: Permissions_GetCapabilities
      parameters:
        - name: tenantCode
          in: query
          description: Specify the tenant to retrieve the capabilities from.
          schema:
            type: string
        - name: TargetTenantID
          in: header
          description: Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant.
          schema:
            type: string
        - name: ProjectID
          in: header
          description: Optionally, specify a project in which to make the request.
          schema:
            type: string
            format: uuid
      responses:
        default:
          description: Default error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Status'
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/servicing.GetCapabilitiesAPIResponseDTO'
  /v1/admin/capabilities/{capabilityId}:
    get:
      tags:
        - Permissions
      summary: Retrieve a permission capability's details
      description: "Retrieve the details of a specific capability.\n\n To specify the project in which to retrieve the permission capability, provide a project UUID in the `ProjectID` request header."
      operationId: Permissions_GetCapability
      parameters:
        - name: capabilityId
          in: path
          description: The unique identifier of the capability you want to retrieve.
          required: true
          schema:
            type: string
        - name: tenantCode
          in: query
          description: Specify the tenant to retrieve a capability from.
          schema:
            type: string
        - name: TargetTenantID
          in: header
          description: Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant.
          schema:
            type: string
        - name: ProjectID
          in: header
          description: Optionally, specify a project in which to make the request.
          schema:
            type: string
            format: uuid
      responses:
        default:
          description: Default error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Status'
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/servicing.CapabilityDTO'
  /v1/admin/content-packages:
    get:
      tags:
        - Permissions
      summary: Retrieve a list of all content packages
      description: "Retrieve the list of available content packages.\n You can use the returned content packages in other API calls when creating or updating permissions to add the content package to the permission.\n\n To specify the project in which to retrieve the available content packages, provide a project UUID in the `ProjectID` request header."
      operationId: Permissions_GetContentPackages
      parameters:
        - name: tenantCode
          in: query
          description: Specify the tenant to retrieve the content packages from.
          schema:
            type: string
        - name: searchString
          in: query
          description: "Optional search string to return only content packages whose display name or description contains that search string.\n If searchString is empty or not provided, the response returns a list of all content packages."
          schema:
            type: string
        - name: TargetTenantID
          in: header
          description: Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant.
          schema:
            type: string
        - name: ProjectID
          in: header
          description: Optionally, specify a project in which to make the request.
          schema:
            type: string
            format: uuid
      responses:
        default:
          description: Default error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Status'
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/servicing.GetContentPackagesAPIResponseDTO'
  /v1/admin/content-packages/{contentPackageId}:
    get:
      tags:
        - Permissions
      summary: Retrieve a content package's details
      description: "Retrieve the details of a specific content package.\n\n To specify the project in which to retrieve a content package, provide a project UUID in the `ProjectID` request header."
      operationId: Permissions_GetContentPackage
      parameters:
        - name: contentPackageId
          in: path
          description: The unique identifier of the content package you want to retrieve.
          required: true
          schema:
            type: string
        - name: tenantCode
          in: query
          description: Specify the tenant to retrieve a content package from.
          schema:
            type: string
        - name: with
          in: query
          description: "Controls the amount of detail to return in the response. Omit to return basic information.\n * `details`: Include the content package's artifacts, grouped by artifact type."
          schema:
            type: array
            items:
              type: string
        - name: TargetTenantID
          in: header
          description: Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant.
          schema:
            type: string
        - name: ProjectID
          in: header
          description: Optionally, specify a project in which to make the request.
          schema:
            type: string
            format: uuid
      responses:
        default:
          description: Default error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Status'
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/servicing.ContentPackageDTO'
  /v1/admin/data-access-sets:
    get:
      tags:
        - Permissions
      summary: Retrieve a list of all data access sets
      description: "Retrieve a list of all shareable data access sets. Data access sets define the level of access that users have to properties and property values for the analytic object in a permission. Data access sets also grant access to properties of subjects that are referenced by the analytic object in the permission.\n You can assign data access sets to a permission when creating or updating permissions.\n\n To specify the project in which to retrieve the shareable data access sets, provide a project UUID in the `ProjectID` request header.\n\n **Note:** If the number of valid data access sets exceeds the default limit of 100, the response status code is 206. To retrieve more than 100 data access sets, set `limit` to a higher number."
      operationId: Permissions_GetDataAccessSets
      parameters:
        - name: analyticObjectId
          in: query
          description: Specify the analytic object ID to retrieve the shareable data access sets for. Default is all analytic objects.
          schema:
            type: string
        - name: with
          in: query
          description: "The information about the data access set to include in the request response.\n * If empty, returns basic information for the data access set, including its unique ID, display name, description, and analytic object ID.\n * If `details`, returns basic information and property data access information (`propertyAccessConfigs`)."
          schema:
            type: array
            items:
              type: string
        - name: limit
          in: query
          description: The maximum number of data access sets to return. Default is 100. Maximum is 1000.
          schema:
            type: integer
            format: int32
        - name: correlationIds
          in: query
          description: "If defined, `correlationIds` limits the response to the data access sets associated with the specified correlation IDs.\n You can specify multiple correlation IDs in the `correlationIds` parameter separated by commas; for example, `correlationIds=123,abc,456`.\n\n **Note**:\n - Correlation IDs must be between 3 and 64 characters long and may only contain alphanumeric characters, underscores and hyphens.\n - Correlation IDs have a lifetime of up to 7 days after creation. After a correlation ID expires, you can only retrieve specific data access sets using the data access set ID.\n - Correlation IDs are optional during data access set creation and are only applicable to those objects created with a defined correlation ID."
          schema:
            type: string
        - name: TargetTenantID
          in: header
          description: Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant.
          schema:
            type: string
        - name: ProjectID
          in: header
          description: Optionally, specify a project in which to make the request.
          schema:
            type: string
            format: uuid
        - name: NonVersioned
          in: header
          description: If `true`, the API call executes on non-versioned artifacts and create/update actions take effect without a new production version. If `false`, the API call executes on versioned artifacts and create/update actions release a new production version. Default is `false`.
          schema:
            type: boolean
      responses:
        default:
          description: Default error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Status'
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/servicing.GetDataAccessSetsAPIResponseDTO'
    put:
      tags:
        - Permissions
      summary: Update shareable data access sets
      description: "Update shareable data access sets. Shareable data access sets let you reuse common data access configurations in multiple permissions.\n\n To specify the project in which to update shareable data access sets, provide a project UUID in the `ProjectID` request header."
      operationId: Permissions_UpdateDataAccessSets
      parameters:
        - name: TargetTenantID
          in: header
          description: Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant.
          schema:
            type: string
        - name: ProjectID
          in: header
          description: Optionally, specify a project in which to make the request.
          schema:
            type: string
            format: uuid
        - name: NonVersioned
          in: header
          description: If `true`, the API call executes on non-versioned artifacts and create/update actions take effect without a new production version. If `false`, the API call executes on versioned artifacts and create/update actions release a new production version. Default is `false`.
          schema:
            type: boolean
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/servicing.BulkDataAccessSetRequestDTO'
        required: true
      responses:
        default:
          description: Default error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Status'
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/servicing.BulkDataAccessSetResponseDTO'
    post:
      tags:
        - Permissions
      summary: Create shareable data access sets
      description: "Create shareable data access sets. Shareable data access sets let you reuse common data access configurations in multiple permissions.\n\n To specify the project in which to create shareable data access sets, provide a project UUID in the `ProjectID` request header."
      operationId: Permissions_CreateDataAccessSets
      parameters:
        - name: TargetTenantID
          in: header
          description: Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant.
          schema:
            type: string
        - name: ProjectID
          in: header
          description: Optionally, specify a project in which to make the request.
          schema:
            type: string
            format: uuid
        - name: NonVersioned
          in: header
          description: If `true`, the API call executes on non-versioned artifacts and create/update actions take effect without a new production version. If `false`, the API call executes on versioned artifacts and create/update actions release a new production version. Default is `false`.
          schema:
            type: boolean
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/servicing.BulkDataAccessSetRequestDTO'
        required: true
      responses:
        default:
          description: Default error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Status'
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/servicing.BulkDataAccessSetResponseDTO'
    delete:
      tags:
        - Permissions
      summary: Delete shareable data access sets
      description: "Delete shareable data access sets.\n\n To specify the project in which to delete shareable data access sets, provide a project UUID in the `ProjectID` request header."
      operationId: Permissions_DeleteDataAccessSets
      parameters:
        - name: TargetTenantID
          in: header
          description: Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant.
          schema:
            type: string
        - name: ProjectID
          in: header
          description: Optionally, specify a project in which to make the request.
          schema:
            type: string
            format: uuid
        - name: NonVersioned
          in: header
          description: If `true`, the API call executes on non-versioned artifacts and create/update actions take effect without a new production version. If `false`, the API call executes on versioned artifacts and create/update actions release a new production version. Default is `false`.
          schema:
            type: boolean
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/servicing.BulkDataAccessSetDeleteRequestDTO'
        required: true
      responses:
        default:
          description: Default error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Status'
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/servicing.BulkDataAccessSetResponseDTO'
  /v1/admin/data-access-sets/revert-to-parent:
    post:
      tags:
        - Permissions
      summary: Revert data access sets
      description: "Revert a shareable data access set to its parent version. For example, if you revert a:\n - Tenant override object: The object reverts to the Blueprint version or, for administrating tenants who revert an analytic tenant's object, the administrating tenant's object version.\n - Tenant object: The API request fails. The object is unique to your tenant and no parent version exists.\n - Blueprint object: Nothing happens. The object is inherited from the parent and there is nothing to revert on this tenant."
      operationId: Permissions_RevertDataAccessSetsToParent
      parameters:
        - name: TargetTenantID
          in: header
          description: Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant.
          schema:
            type: string
        - name: ProjectID
          in: header
          description: Optionally, specify a project in which to make the request.
          schema:
            type: string
            format: uuid
        - name: NonVersioned
          in: header
          description: If `true`, the API call executes on non-versioned artifacts and create/update actions take effect without a new production version. If `false`, the API call executes on versioned artifacts and create/update actions release a new production version. Default is `false`.
          schema:
            type: boolean
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/servicing.BulkDataAccessSetRevertRequestDTO'
        required: true
      responses:
        default:
          description: Default error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Status'
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/servicing.BulkDataAccessSetResponseDTO'
  /v1/admin/data-access-sets/{dataAccessSetId}:
    get:
      tags:
        - Permissions
      summary: Retrieve a data access set's details
      description: "Retrieve the details of a specific shareable data access set. You must know the ID of the data access set to retrieve its details. To retrieve data access set IDs, see `GET v1/admin/data-access-sets`.\n\n To specify the project in which to retrieve the shareable data access set, provide a project UUID in the `ProjectID` request header."
      operationId: Permissions_GetDataAccessSet
      parameters:
        - name: dataAccessSetId
          in: path
          description: The unique identifier of the data access set you want to retrieve.
          required: true
          schema:
            type: string
        - name: TargetTenantID
          in: header
          description: Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant.
          schema:
            type: string
        - name: ProjectID
          in: header
          description: Optionally, specify a project in which to make the request.
          schema:
            type: string
            format: uuid
        - name: NonVersioned
          in: header
          description: If `true`, the API call executes on non-versioned artifacts and create/update actions take effect without a new production version. If `false`, the API call executes on versioned artifacts and create/update actions release a new production version. Default is `false`.
          schema:
            type: boolean
      responses:
        default:
          description: Default error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Status'
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/servicing.DataAccessSetDTO'
  /v1/admin/data-security-objects:
    get:
      tags:
        - Permissions
      summary: Retrieve a list of data security objects
      description: "Retrieve the list of available data security objects.\n Data security objects are analytic objects and their related objects that are available to define\n permissions' data security profiles.\n\n To specify the project in which to retrieve the available data security objects, provide a project UUID in the `ProjectID` request header."
      operationId: Permissions_GetDataSecurityObjects
      parameters:
        - name: id
          in: query
          description: "The unique identifiers of the data security objects (analytic objects) to retrieve.\n Default is all data security objects."
          schema:
            type: array
            items:
              type: string
        - name: includeDetails
          in: query
          description: "If `true`, the response includes the analytic objects (display name, ID, and object type), related objects,\n securable properties, and securable dimensions. If `false`, the response only includes analytic objects\n (display name, ID, and object type). Default is `false`."
          schema:
            type: boolean
        - name: tenantCode
          in: query
          description: Specify the tenant to retrieve data security objects from.
          schema:
            type: string
        - name: TargetTenantID
          in: header
          description: Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant.
          schema:
            type: string
        - name: ProjectID
          in: header
          description: Optionally, specify a project in which to make the request.
          schema:
            type: string
            format: uuid
      responses:
        default:
          description: Default error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Status'
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/servicing.GetDataSecurityObjectsAPIResponseDTO'
  /v1/admin/permissions:
    get:
      tags:
        - Permissions
      summary: Retrieve a list of all permissions
      description: "Retrieve the full list of user permissions in your tenant.\n\n To specify the project in which to retrieve permissions, provide a project UUID in the `ProjectID` request header."
      operationId: Permissions_GetPermissions
      parameters:
        - name: tenantCode
          in: query
          description: Specify the tenant to retrieve the permissions from.
          schema:
            type: string
        - name: includeDetails
          in: query
          description: "If `true`, returns the permission's details. If `false`, only returns the permissions' ID, display name,\n and description. Default is `false`."
          schema:
            type: boolean
        - name: includeDetailsWithStatus
          in: query
          description: "If `true`, returns the validity statuses for the permission's properties in data access sets and the\n permission's dimensions, dimension members, and hierarchy properties in member filters. If `false`,\n doesn't return validity status information. Default is `false`."
          schema:
            type: boolean
        - name: correlationIds
          in: query
          description: "If defined, `correlationIds` limits the response to the permissions associated with the specified correlation IDs.\n You can specify multiple correlation IDs in the `correlationIds` parameter separated by commas; for example, `correlationIds=123,abc,456`.\n\n **Note**:\n - Correlation IDs must be between 3 and 64 characters long and may only contain alphanumeric characters, underscores and hyphens.\n - Correlation IDs have a lifetime of up to 7 days after creation. After a correlation ID expires, you can only retrieve specific permissions using the permission ID.\n - Correlation IDs are optional during permission creation and are only applicable to those objects created with a defined correlation ID."
          schema:
            type: string
        - name: TargetTenantID
          in: header
          description: Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant.
          schema:
            type: string
        - name: ProjectID
          in: header
          description: Optionally, specify a project in which to make the request.
          schema:
            type: string
            format: uuid
        - name: NonVersioned
          in: header
          description: If `true`, the API call executes on non-versioned artifacts and create/update actions take effect without a new production version. If `false`, the API call executes on versioned artifacts and create/update actions release a new production version. Default is `false`.
          schema:
            type: boolean
      responses:
        default:
          description: Default error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Status'
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/servicing.GetPermissionsAPIResponseDTO'
    put:
      tags:
        - Permissions
      summary: Update permissions
      description: "Update existing permissions.\n\n To specify the project in which to update permissions, provide a project UUID in the `ProjectID` request header."
      operationId: Permissions_UpdatePermissions
      parameters:
        - name: tenantCode
          in: query
          description: Specify the tenant to update permissions in.
          schema:
            type: string
        - name: TargetTenantID
          in: header
          description: Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant.
          schema:
            type: string
        - name: ProjectID
          in: header
          description: Optionally, specify a project in which to make the request.
          schema:
            type: string
            format: uuid
        - name: NonVersioned
          in: header
          description: If `true`, the API call executes on non-versioned artifacts and create/update actions take effect without a new production version. If `false`, the API call executes on versioned artifacts and create/update actions release a new production version. Default is `false`.
          schema:
            type: boolean
        - name: FastMode
          in: header
          description: If `true`, the API skips loading the tenant's data environment. Use `FastMode` to reduce latency when you don't need to perform dynamic permission checks, such as checking for the Super Admin permission assignment. Without the environment, permission checks that depend on dynamic, data-driven security, such as group assignments using dynamic populations, fall back to checks resolvable from the requesting user's static user group or direct assignments. Default is `false`.
          schema:
            type: boolean
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/admin.PermissionsListDTO'
        required: true
      responses:
        default:
          description: Default error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Status'
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/servicing.PermissionBulkOperationResponseDTO'
    post:
      tags:
        - Permissions
      summary: Create permissions
      description: "Create new permissions. Administrating tenant users can specify the tenant in which to add these permissions.\n\n To specify the project in which to create permissions, provide a project UUID in the `ProjectID` request header."
      operationId: Permissions_CreatePermissions
      parameters:
        - name: tenantCode
          in: query
          description: Specify the tenant to create permissions in.
          schema:
            type: string
        - name: TargetTenantID
          in: header
          description: Optionally, specify the tenant that you want to execute the API call on. This defines the tenant that you're logged into. If omitted, the request uses the administrating tenant as the login tenant.
          schema:
            type: string
        - name: ProjectID
          in: header
          description: Optionally, specify a project in which to make the request.
          schema:
            type: string
            format: uuid
        - name: NonVersioned
          in: header
          description: If `true`, the API call executes on non-versioned artifacts and create/update actions take effect without a new production version. If `false`, the API call executes on versioned artifacts and create/update actions release a new production version. Default is `false`.
          schema:
            type: boolean
        - name: FastMode
          in: header
          description: If `true`, the API skips loading the tenant's data environment. Use `FastMode` to reduce latency when you don't need to perform dynamic permission checks, such as checking for the Super Admin permission assignment. Without the environment, permission checks that depend on dynamic, data-driven security, such as group assignments using dynamic populations, fall back to checks resolvable from the requesting user's static user group or direct assignments. Default is `false`.
          schema:
            type: boolean
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/admin.PermissionsListDTO'
        required: true
      responses:
        default:
 

# --- truncated at 32 KB (379 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/visier/refs/heads/main/openapi/visier-administration-apis-openapi.yaml