Microsoft Purview Data Sources API

Operations for managing data source registrations

Operations 4

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

PUT /scan/datasources/{dataSourceName} Register or replace a data source · Microsoft Purview Create or replace a data source #
Ask an LLM
“How do I register a new data source for Purview to scan?”
“Can I overwrite the registration of an existing data source?”
Tell an agent
Register data source {source} of kind {kind}.
Replace the registration of data source {source} with properties {props}.
GET /scan/datasources/{dataSourceName} Get a registered data source · Microsoft Purview Get a data source #
Ask an LLM
“How is a specific data source registered in Purview?”
“Can I see the kind and properties of one data source by name?”
Tell an agent
Show me data source {source}.
Get the registration details of data source {source}.
DELETE /scan/datasources/{dataSourceName} Unregister a data source · Microsoft Purview Delete a data source #
Ask an LLM
“Can I remove a data source registration from Purview?”
“What is the way to stop tracking a data source entirely?”
Tell an agent destructive · confirm first
Delete data source {source}.
Unregister the {source} data source.
GET /scan/datasources List registered data sources · Microsoft Purview List data sources #
Ask an LLM
“Which data sources are registered in our Purview data map?”
“What sources has Purview been set up to scan?”
Tell an agent
List all registered data sources.
List data sources using API version {version}.

Documentation

📖
Documentation
https://learn.microsoft.com/en-us/rest/api/purview/
📖
Authentication
https://learn.microsoft.com/en-us/purview/tutorial-using-rest-apis
📖
GettingStarted
https://learn.microsoft.com/en-us/purview/data-gov-api-create-assets
📖
Documentation
https://learn.microsoft.com/en-us/rest/api/purview/scanning
📖
Documentation
https://learn.microsoft.com/en-us/rest/api/purview/account
📖
Authentication
https://learn.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-client-creds-grant-flow
📖
Documentation
https://learn.microsoft.com/en-us/rest/api/purview/datamap
📖
GettingStarted
https://learn.microsoft.com/en-us/purview/legacy/how-to-purview-custom-lineage-api-user-guide
📖
Documentation
https://learn.microsoft.com/en-us/rest/api/purview/metadatapolicies
📖
GettingStarted
https://learn.microsoft.com/en-us/purview/legacy/tutorial-metadata-policy-collections-apis
📖
Documentation
https://learn.microsoft.com/en-us/rest/api/purview/workflow
📖
Documentation
https://learn.microsoft.com/en-us/rest/api/purview/unified-catalog-api-overview
📖
Authentication
https://learn.microsoft.com/en-us/purview/data-gov-api-rest-data-plane
📖
Documentation
https://learn.microsoft.com/en-us/rest/api/purview/unified-catalog-data-quality
📖
Documentation
https://learn.microsoft.com/en-us/graph/api/resources/security-ediscovery-apioverview?view=graph-rest-1.0
📖
Authentication
https://learn.microsoft.com/en-us/graph/security-ediscovery-appauthsetup
📖
GettingStarted
https://learn.microsoft.com/en-us/purview/edisc-ref-api-guide
📖
Documentation
https://learn.microsoft.com/en-us/graph/security-information-protection-overview
📖
Documentation
https://learn.microsoft.com/en-us/graph/security-datasecurityandgovernance-overview
📖
GettingStarted
https://learn.microsoft.com/en-us/purview/developer/use-the-api
📖
Documentation
https://learn.microsoft.com/en-us/graph/api/resources/security-recordsmanagement-overview?view=graph-rest-1.0

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/microsoft-purview:microsoft-purview-data-sources-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

microsoft-purview-data-sources-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Microsoft Purview Scanning Data Sources API
  description: APIs for configuring and managing scans of data sources to automatically discover and catalog data assets. Supports registering data sources and scheduling automated scans across your data estate.
  version: 2023-09-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://{accountName}.scan.purview.azure.com
  description: Microsoft Purview Scanning API endpoint
  variables:
    accountName:
      description: The name of the Microsoft Purview account
      default: myaccount
security:
- oauth2: []
tags:
- name: Data Sources
  description: Operations for managing data source registrations
paths:
  /scan/datasources/{dataSourceName}:
    put:
      operationId: createOrReplaceDataSource
      summary: Microsoft Purview Create or replace a data source
      description: Creates or replaces a data source registration in the Purview account.
      tags:
      - Data Sources
      parameters:
      - name: dataSourceName
        in: path
        required: true
        description: The name of the data source
        schema:
          type: string
      - name: api-version
        in: query
        required: true
        schema:
          type: string
          default: '2023-09-01'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DataSource'
      responses:
        '200':
          description: Data source updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataSource'
        '201':
          description: Data source created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataSource'
        '400':
          description: Bad request
        '401':
          description: Unauthorized
    get:
      operationId: getDataSource
      summary: Microsoft Purview Get a data source
      description: Gets a data source by name.
      tags:
      - Data Sources
      parameters:
      - name: dataSourceName
        in: path
        required: true
        description: The name of the data source
        schema:
          type: string
      - name: api-version
        in: query
        required: true
        schema:
          type: string
          default: '2023-09-01'
      responses:
        '200':
          description: Data source retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataSource'
        '401':
          description: Unauthorized
        '404':
          description: Data source not found
    delete:
      operationId: deleteDataSource
      summary: Microsoft Purview Delete a data source
      description: Deletes a data source registration.
      tags:
      - Data Sources
      parameters:
      - name: dataSourceName
        in: path
        required: true
        description: The name of the data source
        schema:
          type: string
      - name: api-version
        in: query
        required: true
        schema:
          type: string
          default: '2023-09-01'
      responses:
        '200':
          description: Data source deleted successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataSource'
        '401':
          description: Unauthorized
        '404':
          description: Data source not found
  /scan/datasources:
    get:
      operationId: listDataSources
      summary: Microsoft Purview List data sources
      description: Lists data sources in Data catalog.
      tags:
      - Data Sources
      parameters:
      - name: api-version
        in: query
        required: true
        schema:
          type: string
          default: '2023-09-01'
      responses:
        '200':
          description: Data sources listed successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataSourceList'
        '401':
          description: Unauthorized
components:
  schemas:
    DataSourceList:
      type: object
      properties:
        value:
          type: array
          items:
            $ref: '#/components/schemas/DataSource'
        nextLink:
          type: string
        count:
          type: integer
          format: int64
    Scan:
      type: object
      description: A scan configuration
      properties:
        id:
          type: string
          readOnly: true
        name:
          type: string
        kind:
          type: string
          description: The scan type
        properties:
          type: object
          properties:
            scanRulesetName:
              type: string
            scanRulesetType:
              type: string
              enum:
              - Custom
              - System
            collection:
              $ref: '#/components/schemas/CollectionReference'
            connectedVia:
              $ref: '#/components/schemas/ConnectedVia'
            createdAt:
              type: string
              format: date-time
            lastModifiedAt:
              type: string
              format: date-time
            lastScheduled:
              type: string
              format: date-time
    CollectionReference:
      type: object
      properties:
        referenceName:
          type: string
        type:
          type: string
    DataSource:
      type: object
      description: A registered data source
      properties:
        id:
          type: string
          readOnly: true
        name:
          type: string
        kind:
          type: string
          description: The data source type
          enum:
          - AzureSubscription
          - AzureResourceGroup
          - AzureSynapseWorkspace
          - AzureSynapse
          - AdlsGen1
          - AdlsGen2
          - AmazonAccount
          - AmazonS3
          - AmazonSql
          - AzureCosmosDb
          - AzureDataExplorer
          - AzureFileService
          - AzureSqlDatabase
          - AzureSqlDatabaseManagedInstance
          - AzureSqlDataWarehouse
          - AzureMySql
          - AzurePostgreSql
          - AzureStorage
          - Teradata
          - Oracle
          - SapS4Hana
          - SapEcc
          - PowerBI
        properties:
          type: object
          description: Data source properties
          properties:
            endpoint:
              type: string
            resourceGroup:
              type: string
            subscriptionId:
              type: string
            location:
              type: string
            resourceName:
              type: string
            resourceId:
              type: string
            collection:
              $ref: '#/components/schemas/CollectionReference'
            dataSourceCollectionMovingState:
              type: integer
              format: int32
            createdAt:
              type: string
              format: date-time
            lastModifiedAt:
              type: string
              format: date-time
        scans:
          type: array
          items:
            $ref: '#/components/schemas/Scan'
    ConnectedVia:
      type: object
      properties:
        referenceName:
          type: string
        integrationRuntimeType:
          type: string
  securitySchemes:
    oauth2:
      type: oauth2
      description: Azure Active Directory OAuth2 authentication
      flows:
        clientCredentials:
          tokenUrl: https://login.microsoftonline.com/{tenantId}/oauth2/v2.0/token
          scopes:
            https://purview.azure.net/.default: Access Microsoft Purview