Microsoft Purview Account API

APIs for managing Purview accounts, configurations, and administrative settings. Provides resource management operations for creating, updating, and deleting Purview accounts through Azure Resource Manager.

OpenAPI Specification

microsoft-purview-account-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Microsoft Purview Account API
  description: >-
    APIs for managing Purview accounts, configurations, and administrative
    settings through Azure Resource Manager. Provides resource management
    operations for creating, updating, and deleting Purview accounts.
  version: 2021-12-01
  contact:
    name: Microsoft Purview Support
    url: https://learn.microsoft.com/en-us/purview/
  license:
    name: Microsoft API License
    url: https://azure.microsoft.com/en-us/support/legal/
servers:
  - url: https://management.azure.com
    description: Azure Resource Manager endpoint
security:
  - oauth2: []
tags:
  - name: Accounts
    description: Operations for managing Purview accounts
  - name: Operations
    description: Operations available on the Purview resource provider
  - name: Private Endpoint Connections
    description: Operations for managing private endpoint connections
paths:
  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Purview/accounts/{accountName}:
    put:
      operationId: createOrUpdateAccount
      summary: Microsoft Purview Create or update a Purview account
      description: Create or update an account resource in the specified resource group.
      tags:
        - Accounts
      parameters:
        - $ref: '#/components/parameters/SubscriptionId'
        - $ref: '#/components/parameters/ResourceGroupName'
        - $ref: '#/components/parameters/AccountName'
        - $ref: '#/components/parameters/ApiVersion'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Account'
      responses:
        '200':
          description: Account updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Account'
        '201':
          description: Account creation initiated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Account'
        '400':
          description: Bad request
        '401':
          description: Unauthorized
    get:
      operationId: getAccount
      summary: Microsoft Purview Get a Purview account
      description: Gets the account resource for a given account name.
      tags:
        - Accounts
      parameters:
        - $ref: '#/components/parameters/SubscriptionId'
        - $ref: '#/components/parameters/ResourceGroupName'
        - $ref: '#/components/parameters/AccountName'
        - $ref: '#/components/parameters/ApiVersion'
      responses:
        '200':
          description: Account retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Account'
        '401':
          description: Unauthorized
        '404':
          description: Account not found
    patch:
      operationId: updateAccount
      summary: Microsoft Purview Update a Purview account
      description: Patches the account resource with the given properties.
      tags:
        - Accounts
      parameters:
        - $ref: '#/components/parameters/SubscriptionId'
        - $ref: '#/components/parameters/ResourceGroupName'
        - $ref: '#/components/parameters/AccountName'
        - $ref: '#/components/parameters/ApiVersion'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AccountUpdateParameters'
      responses:
        '200':
          description: Account updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Account'
        '202':
          description: Account update accepted
        '401':
          description: Unauthorized
    delete:
      operationId: deleteAccount
      summary: Microsoft Purview Delete a Purview account
      description: Deletes the account resource.
      tags:
        - Accounts
      parameters:
        - $ref: '#/components/parameters/SubscriptionId'
        - $ref: '#/components/parameters/ResourceGroupName'
        - $ref: '#/components/parameters/AccountName'
        - $ref: '#/components/parameters/ApiVersion'
      responses:
        '200':
          description: Account deleted successfully
        '202':
          description: Account deletion accepted
        '204':
          description: Account not found
        '401':
          description: Unauthorized
  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Purview/accounts:
    get:
      operationId: listAccountsByResourceGroup
      summary: Microsoft Purview List accounts by resource group
      description: Gets the accounts resources by resource group.
      tags:
        - Accounts
      parameters:
        - $ref: '#/components/parameters/SubscriptionId'
        - $ref: '#/components/parameters/ResourceGroupName'
        - $ref: '#/components/parameters/ApiVersion'
        - name: $skipToken
          in: query
          description: The skip token for pagination
          schema:
            type: string
      responses:
        '200':
          description: Accounts listed successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountList'
        '401':
          description: Unauthorized
  /subscriptions/{subscriptionId}/providers/Microsoft.Purview/accounts:
    get:
      operationId: listAccountsBySubscription
      summary: Microsoft Purview List accounts by subscription
      description: Gets the accounts resources by subscription.
      tags:
        - Accounts
      parameters:
        - $ref: '#/components/parameters/SubscriptionId'
        - $ref: '#/components/parameters/ApiVersion'
        - name: $skipToken
          in: query
          description: The skip token for pagination
          schema:
            type: string
      responses:
        '200':
          description: Accounts listed successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountList'
        '401':
          description: Unauthorized
  ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Purview/accounts/{accountName}/listkeys
  : post:
      operationId: listAccountKeys
      summary: Microsoft Purview List account keys
      description: Lists the keys asynchronous for the Purview account.
      tags:
        - Accounts
      parameters:
        - $ref: '#/components/parameters/SubscriptionId'
        - $ref: '#/components/parameters/ResourceGroupName'
        - $ref: '#/components/parameters/AccountName'
        - $ref: '#/components/parameters/ApiVersion'
      responses:
        '200':
          description: Keys retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessKeys'
        '401':
          description: Unauthorized
  ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Purview/accounts/{accountName}/addRootCollectionAdmin
  : post:
      operationId: addRootCollectionAdmin
      summary: Microsoft Purview Add root collection admin
      description: Add the administrator for root collection associated with this account.
      tags:
        - Accounts
      parameters:
        - $ref: '#/components/parameters/SubscriptionId'
        - $ref: '#/components/parameters/ResourceGroupName'
        - $ref: '#/components/parameters/AccountName'
        - $ref: '#/components/parameters/ApiVersion'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CollectionAdminUpdate'
      responses:
        '200':
          description: Admin added successfully
        '401':
          description: Unauthorized
  /subscriptions/{subscriptionId}/providers/Microsoft.Purview/checkNameAvailability:
    post:
      operationId: checkNameAvailability
      summary: Microsoft Purview Check name availability
      description: Checks the account name availability for the given subscription.
      tags:
        - Accounts
      parameters:
        - $ref: '#/components/parameters/SubscriptionId'
        - $ref: '#/components/parameters/ApiVersion'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CheckNameAvailabilityRequest'
      responses:
        '200':
          description: Name availability check completed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CheckNameAvailabilityResult'
        '401':
          description: Unauthorized
  ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Purview/accounts/{accountName}/privateEndpointConnections
  : get:
      operationId: listPrivateEndpointConnections
      summary: Microsoft Purview List private endpoint connections
      description: Gets private endpoint connections for the Purview account.
      tags:
        - Private Endpoint Connections
      parameters:
        - $ref: '#/components/parameters/SubscriptionId'
        - $ref: '#/components/parameters/ResourceGroupName'
        - $ref: '#/components/parameters/AccountName'
        - $ref: '#/components/parameters/ApiVersion'
      responses:
        '200':
          description: Private endpoint connections listed successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PrivateEndpointConnectionList'
        '401':
          description: Unauthorized
  ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Purview/accounts/{accountName}/privateEndpointConnections/{privateEndpointConnectionName}
  : get:
      operationId: getPrivateEndpointConnection
      summary: Microsoft Purview Get a private endpoint connection
      description: Gets a private endpoint connection for the Purview account.
      tags:
        - Private Endpoint Connections
      parameters:
        - $ref: '#/components/parameters/SubscriptionId'
        - $ref: '#/components/parameters/ResourceGroupName'
        - $ref: '#/components/parameters/AccountName'
        - name: privateEndpointConnectionName
          in: path
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/ApiVersion'
      responses:
        '200':
          description: Private endpoint connection retrieved
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PrivateEndpointConnection'
        '401':
          description: Unauthorized
        '404':
          description: Not found
  /providers/Microsoft.Purview/operations:
    get:
      operationId: listOperations
      summary: Microsoft Purview List available operations
      description: Lists the available operations for the Purview resource provider.
      tags:
        - Operations
      parameters:
        - $ref: '#/components/parameters/ApiVersion'
      responses:
        '200':
          description: Operations listed successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OperationList'
        '401':
          description: Unauthorized
components:
  securitySchemes:
    oauth2:
      type: oauth2
      description: Azure Active Directory OAuth2 authentication
      flows:
        clientCredentials:
          tokenUrl: https://login.microsoftonline.com/{tenantId}/oauth2/v2.0/token
          scopes:
            https://management.azure.com/.default: Access Azure Resource Manager
  parameters:
    SubscriptionId:
      name: subscriptionId
      in: path
      required: true
      description: The Azure subscription ID
      schema:
        type: string
        format: uuid
    ResourceGroupName:
      name: resourceGroupName
      in: path
      required: true
      description: The resource group name
      schema:
        type: string
    AccountName:
      name: accountName
      in: path
      required: true
      description: The name of the Purview account
      schema:
        type: string
    ApiVersion:
      name: api-version
      in: query
      required: true
      description: The API version
      schema:
        type: string
        default: '2021-12-01'
  schemas:
    Account:
      type: object
      description: A Microsoft Purview account resource
      properties:
        id:
          type: string
          readOnly: true
        identity:
          $ref: '#/components/schemas/Identity'
        location:
          type: string
        name:
          type: string
          readOnly: true
        properties:
          $ref: '#/components/schemas/AccountProperties'
        sku:
          $ref: '#/components/schemas/AccountSku'
        tags:
          type: object
          additionalProperties:
            type: string
        type:
          type: string
          readOnly: true
    AccountProperties:
      type: object
      properties:
        cloudConnectors:
          type: object
          properties:
            awsExternalId:
              type: string
              readOnly: true
        createdAt:
          type: string
          format: date-time
          readOnly: true
        createdBy:
          type: string
          readOnly: true
        createdByObjectId:
          type: string
          readOnly: true
        endpoints:
          $ref: '#/components/schemas/AccountEndpoints'
        friendlyName:
          type: string
          readOnly: true
        managedResourceGroupName:
          type: string
        managedResources:
          type: object
          readOnly: true
          properties:
            eventHubNamespace:
              type: string
            resourceGroup:
              type: string
            storageAccount:
              type: string
        privateEndpointConnections:
          type: array
          readOnly: true
          items:
            $ref: '#/components/schemas/PrivateEndpointConnection'
        provisioningState:
          type: string
          readOnly: true
          enum: [Unknown, Creating, Moving, Deleting, SoftDeleting, SoftDeleted, Failed, Succeeded, Canceled]
        publicNetworkAccess:
          type: string
          enum: [NotSpecified, Enabled, Disabled]
    AccountEndpoints:
      type: object
      readOnly: true
      properties:
        catalog:
          type: string
        guardian:
          type: string
        scan:
          type: string
    AccountUpdateParameters:
      type: object
      properties:
        identity:
          $ref: '#/components/schemas/Identity'
        properties:
          type: object
          properties:
            managedResourceGroupName:
              type: string
            publicNetworkAccess:
              type: string
              enum: [NotSpecified, Enabled, Disabled]
        tags:
          type: object
          additionalProperties:
            type: string
    AccountList:
      type: object
      properties:
        value:
          type: array
          items:
            $ref: '#/components/schemas/Account'
        nextLink:
          type: string
        count:
          type: integer
          format: int64
    Identity:
      type: object
      properties:
        principalId:
          type: string
          readOnly: true
        tenantId:
          type: string
          readOnly: true
        type:
          type: string
          enum: [None, SystemAssigned, UserAssigned]
        userAssignedIdentities:
          type: object
          additionalProperties:
            type: object
            properties:
              clientId:
                type: string
              principalId:
                type: string
    AccountSku:
      type: object
      properties:
        capacity:
          type: integer
          format: int32
        name:
          type: string
          enum: [Standard]
    AccessKeys:
      type: object
      properties:
        atlasKafkaPrimaryEndpoint:
          type: string
        atlasKafkaSecondaryEndpoint:
          type: string
    CollectionAdminUpdate:
      type: object
      properties:
        objectId:
          type: string
    CheckNameAvailabilityRequest:
      type: object
      properties:
        name:
          type: string
        type:
          type: string
    CheckNameAvailabilityResult:
      type: object
      properties:
        message:
          type: string
        nameAvailable:
          type: boolean
        reason:
          type: string
          enum: [Invalid, AlreadyExists]
    PrivateEndpointConnection:
      type: object
      properties:
        id:
          type: string
          readOnly: true
        name:
          type: string
          readOnly: true
        properties:
          type: object
          properties:
            privateEndpoint:
              type: object
              properties:
                id:
                  type: string
            privateLinkServiceConnectionState:
              type: object
              properties:
                actionsRequired:
                  type: string
                description:
                  type: string
                status:
                  type: string
                  enum: [Unknown, Pending, Approved, Rejected, Disconnected]
            provisioningState:
              type: string
              readOnly: true
        type:
          type: string
          readOnly: true
    PrivateEndpointConnectionList:
      type: object
      properties:
        value:
          type: array
          items:
            $ref: '#/components/schemas/PrivateEndpointConnection'
        nextLink:
          type: string
        count:
          type: integer
          format: int64
    OperationList:
      type: object
      properties:
        value:
          type: array
          items:
            $ref: '#/components/schemas/Operation'
        nextLink:
          type: string
        count:
          type: integer
          format: int64
    Operation:
      type: object
      properties:
        display:
          type: object
          properties:
            description:
              type: string
            operation:
              type: string
            provider:
              type: string
            resource:
              type: string
        isDataAction:
          type: boolean
        name:
          type: string
        origin:
          type: string