Microsoft Fabric External Data Shares Provider API

The ExternalDataSharesProvider API from Microsoft Fabric — 4 operation(s) for externaldatasharesprovider.

Operations 6

GET /items/externalDataShares Lists the external data shares in the tenant #
POST /workspaces/{workspaceId}/items/{itemId}/externalDataShares/{externalDataShareId}/revoke Revokes the specified external data share. This action cannot be undone #
POST /workspaces/{workspaceId}/items/{itemId}/externalDataShares Creates an external data share for a given path or list of paths in the… #
GET /workspaces/{workspaceId}/items/{itemId}/externalDataShares Returns a list of the external data shares that exist for the specified item #
GET /workspaces/{workspaceId}/items/{itemId}/externalDataShares/{externalDataShareId} Returns the details of the specified external data share #
DELETE /workspaces/{workspaceId}/items/{itemId}/externalDataShares/{externalDataShareId} Deletes the specified external data share #

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-fabric:microsoft-fabric-externaldatasharesprovider-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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-fabric-externaldatasharesprovider-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Microsoft Fabric External Data Shares Provider API
  version: v1
  x-refined-note:
  - x-source differs across the merged source definitions and was not carried
  description: 'Operations tagged ExternalDataSharesProvider across 2 of this provider''s published API definitions: microsoft-fabric-admin-openapi.yml, microsoft-fabric-platform-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.fabric.microsoft.com/v1/admin
- url: https://api.fabric.microsoft.com/v1
security: []
tags:
- name: ExternalDataSharesProvider
paths:
  /items/externalDataShares:
    get:
      summary: Lists the external data shares in the tenant
      description: 'This API supports pagination.


        ## Permissions


        The caller must be a Fabric administrator or authenticate using a service principal.


        ## Required Delegated Scopes


        Tenant.ReadWrite.All


        ## Required Tenant Settings


        To use this API, enable the *External data sharing* admin switch for the calling principal.


        ## Limitations


        Maximum 10 requests per minute.


        ## Microsoft Entra supported identities


        This API supports the Microsoft identities listed in this section.


        | Identity | Support |

        |-|-|

        | User | Yes |

        | Service principal and Managed identities | Yes |


        ## Interface'
      tags:
      - ExternalDataSharesProvider
      operationId: ExternalDataSharesProvider_ListExternalDataShares
      x-ms-pageable:
        nextLinkName: continuationUri
        itemName: value
      parameters:
      - in: query
        name: continuationToken
        description: A token for retrieving the next page of results.
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Request completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExternalDataShares'
        '429':
          description: The service rate limit was exceeded. The server returns a `Retry-After` header indicating, in seconds, how long the client must wait before sending additional requests.
          x-ms-error-response: true
          headers:
            Retry-After:
              description: The number of seconds to wait before retrying the request.
              schema:
                type: integer
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        default:
          description: 'Common error codes:


            * UnknownError - An error occurred.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    servers:
    - url: https://api.fabric.microsoft.com/v1/admin
  /workspaces/{workspaceId}/items/{itemId}/externalDataShares/{externalDataShareId}/revoke:
    post:
      summary: Revokes the specified external data share. This action cannot be undone
      description: '## Permissions


        The caller must be a Fabric administrator.


        ## Required Delegated Scopes


        Tenant.ReadWrite.All


        ## Required Tenant Settings


        To use this API, enable the *External data sharing* admin switch for the calling principal.


        ## Limitations


        Maximum 10 requests per minute.


        ## Microsoft Entra supported identities


        This API supports the Microsoft identities listed in this section.


        | Identity | Support |

        |-|-|

        | User | Yes |

        | Service principal and Managed identities | Yes |


        ## Interface'
      tags:
      - ExternalDataSharesProvider
      operationId: ExternalDataSharesProvider_RevokeExternalDataShare
      parameters:
      - in: path
        name: workspaceId
        description: The workspace ID.
        required: true
        schema:
          type: string
          format: uuid
      - in: path
        name: itemId
        description: The item ID.
        required: true
        schema:
          type: string
          format: uuid
      - in: path
        name: externalDataShareId
        description: The external data share ID.
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Request completed successfully.
        '429':
          description: The service rate limit was exceeded. The server returns a `Retry-After` header indicating, in seconds, how long the client must wait before sending additional requests.
          x-ms-error-response: true
          headers:
            Retry-After:
              description: The number of seconds to wait before retrying the request.
              schema:
                type: integer
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        default:
          description: 'Common error codes:


            * UnknownError - An error occurred.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    servers:
    - url: https://api.fabric.microsoft.com/v1/admin
  /workspaces/{workspaceId}/items/{itemId}/externalDataShares:
    post:
      summary: Creates an external data share for a given path or list of paths in the…
      description: '## Permissions


        The caller must have *read* and *reshare* permissions on the item.


        ## Required Delegated Scopes


        Item APIs can have one of these scopes in their token:

        - Generic scope: Item.ExternalDataShare.All

        - Specific scope: *itemType*.ExternalDataShare.All, for example: Lakehouse.ExternalDataShare.All


        For more information about scopes, see scopes article.


        ## Required Tenant Settings


        To use this API, enable the *External data sharing* admin switch for the calling principal.


        ## Limitations


        Maximum 10 requests per minute.


        Supported item types: See External data sharing in Microsoft Fabric - Supported item types.


        ## Microsoft Entra supported identities


        This API supports the Microsoft identities listed in this section.


        | Identity | Support |

        |-|-|

        | User | Yes |

        | Service principal and Managed identities | Yes |


        ## Interface'
      tags:
      - ExternalDataSharesProvider
      operationId: ExternalDataSharesProvider_CreateExternalDataShare
      parameters:
      - in: path
        name: workspaceId
        description: The workspace ID.
        required: true
        schema:
          type: string
          format: uuid
      - in: path
        name: itemId
        description: The item ID.
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '201':
          description: Successfully created.
          headers:
            Location:
              description: The URL of the newly created external data share.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExternalDataShare'
        '429':
          description: The service rate limit was exceeded. The server returns a `Retry-After` header indicating, in seconds, how long the client must wait before sending additional requests.
          x-ms-error-response: true
          headers:
            Retry-After:
              description: The number of seconds to wait before retrying the request.
              schema:
                type: integer
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        default:
          description: 'Common error codes:


            * UnknownError - An error occurred.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateExternalDataShareRequest'
        description: The request payload for creating an external data share.
        required: true
    get:
      summary: Returns a list of the external data shares that exist for the specified item
      description: 'This API supports pagination.


        ## Permissions


        The caller must have *read* and *reshare* permissions on the item.


        ## Required Delegated Scopes


        Item APIs can have one of these scopes in their token:

        - Generic scope: Item.ExternalDataShare.All

        - Specific scope: *itemType*.ExternalDataShare.All, for example: Lakehouse.ExternalDataShare.All


        For more information about scopes, see scopes article.


        ## Required Tenant Settings


        To use this API, enable the *External data sharing* admin switch for the calling principal.


        ## Limitations


        Maximum 10 requests per minute.


        ## Microsoft Entra supported identities


        This API supports the Microsoft identities listed in this section.


        | Identity | Support |

        |-|-|

        | User | Yes |

        | Service principal and Managed identities | Yes |


        ## Interface'
      tags:
      - ExternalDataSharesProvider
      operationId: ExternalDataSharesProvider_ListExternalDataSharesInItem
      x-ms-pageable:
        nextLinkName: continuationUri
      parameters:
      - in: path
        name: workspaceId
        description: The workspace ID.
        required: true
        schema:
          type: string
          format: uuid
      - in: path
        name: itemId
        description: The item ID.
        required: true
        schema:
          type: string
          format: uuid
      - in: query
        name: continuationToken
        description: A token for retrieving the next page of results.
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Request completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExternalDataShares'
        '429':
          description: The service rate limit was exceeded. The server returns a `Retry-After` header indicating, in seconds, how long the client must wait before sending additional requests.
          x-ms-error-response: true
          headers:
            Retry-After:
              description: The number of seconds to wait before retrying the request.
              schema:
                type: integer
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        default:
          description: 'Common error codes:


            * UnknownError - An error occurred.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    servers:
    - url: https://api.fabric.microsoft.com/v1
  /workspaces/{workspaceId}/items/{itemId}/externalDataShares/{externalDataShareId}:
    get:
      summary: Returns the details of the specified external data share
      description: '## Permissions


        The caller must have *read* and *reshare* permissions on the item.


        ## Required Delegated Scopes


        Item APIs can have one of these scopes in their token:

        - Generic scope: Item.ExternalDataShare.All

        - Specific scope: *itemType*.ExternalDataShare.All, for example: Lakehouse.ExternalDataShare.All


        For more information about scopes, see scopes article.


        ## Required Tenant Settings


        To use this API, enable the *External data sharing* admin switch for the calling principal.


        ## Limitations


        Maximum 10 requests per minute.


        ## Microsoft Entra supported identities


        This API supports the Microsoft identities listed in this section.


        | Identity | Support |

        |-|-|

        | User | Yes |

        | Service principal and Managed identities | Yes |


        ## Interface'
      tags:
      - ExternalDataSharesProvider
      operationId: ExternalDataSharesProvider_GetExternalDataShare
      parameters:
      - in: path
        name: workspaceId
        description: The workspace ID.
        required: true
        schema:
          type: string
          format: uuid
      - in: path
        name: itemId
        description: The item ID.
        required: true
        schema:
          type: string
          format: uuid
      - in: path
        name: externalDataShareId
        description: The external data share ID.
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Request completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExternalDataShare'
        '429':
          description: The service rate limit was exceeded. The server returns a `Retry-After` header indicating, in seconds, how long the client must wait before sending additional requests.
          x-ms-error-response: true
          headers:
            Retry-After:
              description: The number of seconds to wait before retrying the request.
              schema:
                type: integer
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        default:
          description: 'Common error codes:


            * UnknownError - An error occurred.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      summary: Deletes the specified external data share
      description: '## Permissions


        The caller must have *read* and *reshare* permissions on the item.


        ## Required Delegated Scopes


        Item APIs can have one of these scopes in their token:

        - Generic scope: Item.ExternalDataShare.All

        - Specific scope: *itemType*.ExternalDataShare.All, for example: Lakehouse.ExternalDataShare.All


        For more information about scopes, see scopes article.


        ## Required Tenant Settings


        To use this API, enable the *External data sharing* admin switch for the calling principal.


        ## Limitations


        Maximum 10 requests per minute.


        ## Microsoft Entra supported identities


        This API supports the Microsoft identities listed in this section.


        | Identity | Support |

        |-|-|

        | User | Yes |

        | Service principal and Managed identities | Yes |


        ## Interface'
      tags:
      - ExternalDataSharesProvider
      operationId: ExternalDataSharesProvider_DeleteExternalDataShare
      parameters:
      - in: path
        name: workspaceId
        description: The workspace ID.
        required: true
        schema:
          type: string
          format: uuid
      - in: path
        name: itemId
        description: The item ID.
        required: true
        schema:
          type: string
          format: uuid
      - in: path
        name: externalDataShareId
        description: The external data share ID.
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Request completed successfully.
        '429':
          description: The service rate limit was exceeded. The server returns a `Retry-After` header indicating, in seconds, how long the client must wait before sending additional requests.
          x-ms-error-response: true
          headers:
            Retry-After:
              description: The number of seconds to wait before retrying the request.
              schema:
                type: integer
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        default:
          description: 'Common error codes:


            * UnknownError - An error occurred.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    servers:
    - url: https://api.fabric.microsoft.com/v1
components:
  schemas:
    ErrorResponse:
      description: The error response.
      required:
      - message
      - errorCode
      allOf:
      - $ref: '#/components/schemas/ErrorResponseDetails'
      properties:
        requestId:
          type: string
          format: uuid
          description: ID of the request associated with the error.
          readOnly: true
        moreDetails:
          description: List of additional error details.
          type: array
          items:
            $ref: '#/components/schemas/ErrorResponseDetails'
          readOnly: true
        isRetriable:
          type: boolean
          description: When true, the request can be retried. Use the `Retry-After` response header to determine the delay, if available.
          readOnly: true
    BaseExternalDataShareRecipient:
      description: The recipient of an external data share. Use 'ExternalDataShareUserRecipient' to share with a user by email, or 'ExternalDataShareSPRecipient' to share with a service principal by object ID. If 'type' is not specified, it defaults to 'User'.
      type: object
      required:
      - type
      discriminator:
        propertyName: type
      properties:
        type:
          $ref: '#/components/schemas/ExternalDataShareRecipientType'
    PrincipalType:
      description: The type of the principal. Additional principal types may be added over time.
      type: string
      enum:
      - User
      - ServicePrincipal
      - Group
      - ServicePrincipalProfile
      - EntireTenant
      x-ms-enum:
        name: PrincipalType
        modelAsString: true
        values:
        - value: User
          description: Principal is a Microsoft Entra user principal.
        - value: ServicePrincipal
          description: Principal is a Microsoft Entra service principal.
        - value: Group
          description: Principal is a security group.
        - value: ServicePrincipalProfile
          description: Principal is a service principal profile.
        - value: EntireTenant
          description: Principal represents all tenant users.
    ErrorResponseDetails:
      description: The error response details.
      type: object
      required:
      - message
      - errorCode
      properties:
        errorCode:
          type: string
          description: A specific identifier that provides information about an error condition, allowing for standardized communication between our service and its users.
          readOnly: true
        message:
          type: string
          description: A human readable representation of the error.
          readOnly: true
        relatedResource:
          $ref: '#/components/schemas/ErrorRelatedResource'
        parameters:
          description: Structured parameters providing additional machine-readable context about the error.
          type: array
          items:
            $ref: '#/components/schemas/ErrorParameter'
          readOnly: true
    ErrorRelatedResource:
      description: The error related resource details object.
      type: object
      required:
      - resourceId
      - resourceType
      properties:
        resourceId:
          type: string
          description: The resource ID that's involved in the error.
          readOnly: true
        resourceType:
          type: string
          description: The type of the resource that's involved in the error.
          readOnly: true
    Principal:
      description: Represents an identity or a Microsoft Entra group.
      type: object
      required:
      - id
      - type
      discriminator:
        propertyName: type
      properties:
        id:
          description: The principal's ID.
          type: string
          format: uuid
          readOnly: false
        displayName:
          description: The principal's display name.
          type: string
          readOnly: true
        type:
          $ref: '#/components/schemas/PrincipalType'
    ExternalDataShareRecipientType:
      description: The type of the external data share recipient. Defaults to 'User' if not provided. Additional recipient types may be added over time.
      type: string
      default: User
      enum:
      - ServicePrincipal
      - User
      x-ms-enum:
        name: ExternalDataShareRecipientType
        modelAsString: true
        values:
        - value: ServicePrincipal
          description: The recipient is a service principal, identified by object ID and tenant ID.
        - value: User
          description: The recipient is a user, identified by user principal name (email address).
    ExternalDataShareStatus:
      type: string
      description: The status of a given external data share. Additional `ExternalDataShareStatus` types may be added over time.
      enum:
      - Pending
      - Active
      - Revoked
      - InvitationExpired
      x-ms-enum:
        name: ExternalDataShareStatus
        modelAsString: true
        values:
        - value: Pending
          description: An invitation was created and is now pending acceptance by the recipient.
        - value: Active
          description: The invitation has been accepted by the recipient and the external data share is active.
        - value: Revoked
          description: The external data share was revoked.
        - value: InvitationExpired
          description: The invitation expired and can no longer be accepted by the recipient.
    PaginatedResponse:
      properties:
        continuationToken:
          type: string
          description: The token for the next result set batch. If there are no more records, it's removed from the response.
        continuationUri:
          type: string
          description: The URI of the next result set batch. If there are no more records, it's removed from the response.
    ExternalDataShares:
      type: object
      description: A list of external data shares with a continuation token.
      required:
      - value
      properties:
        value:
          type: array
          description: A list of external data shares.
          items:
            $ref: '#/components/schemas/ExternalDataShare'
          readOnly: true
      allOf:
      - $ref: '#/components/schemas/PaginatedResponse'
    ErrorParameter:
      description: A structured parameter providing additional machine-readable context about an error.
      type: object
      properties:
        name:
          type: string
          description: The parameter identifier.
          readOnly: true
        value:
          type: string
          description: The parameter value.
          readOnly: true
        message:
          type: string
          description: A human-readable description of the parameter's meaning.
          readOnly: true
    ExternalDataShare:
      type: object
      description: An external data share object.
      required:
      - id
      - paths
      - creatorPrincipal
      - recipient
      - status
      - workspaceId
      - itemId
      properties:
        id:
          type: string
          format: uuid
          description: The external data share ID.
          readOnly: true
        paths:
          type: array
          description: The path or list of paths that are externally shared.
          items:
            type: string
          maxItems: 100
          readOnly: true
        creatorPrincipal:
          $ref: '#/components/schemas/Principal'
        recipient:
          $ref: '#/components/schemas/BaseExternalDataShareRecipient'
        status:
          $ref: '#/components/schemas/ExternalDataShareStatus'
        expirationTimeUtc:
          type: string
          format: date-time
          description: The expiration date and time (UTC) of the invitation to the external data share.
          readOnly: true
        workspaceId:
          type: string
          format: uuid
          description: The workspace ID.
          readOnly: true
        itemId:
          type: string
          format: uuid
          description: The item ID.
          readOnly: true
        invitationUrl:
          type: string
          format: uri
          description: The URL for accepting the invitation to the external data share.
          readOnly: true
        acceptedByTenantId:
          type: string
          format: uuid
          description: The tenant ID in which the external data share was accepted.
          readOnly: true
    CreateExternalDataShareRequest:
      type: object
      description: The request payload for creating an external data share.
      required:
      - paths
      - recipient
      properties:
        paths:
          type: array
          description: 'The path or list of paths that are to be externally shared. You can share up to 100 paths in each share. A valid path to an external data share must start with "Files/" or "Tables/". You can''t share the root folder itself (Files or Tables).


            For example, these paths are valid:


            * "Files/MyFolder1"


            * "Tables/MySchema"


            * "Tables/MyTable1"'
          items:
            type: string
          maxItems: 100
          readOnly: false
        recipient:
          $ref: '#/components/schemas/BaseExternalDataShareRecipient'
    ExternalDataShareRecipientType_2:
      description: The type of the external data share recipient. Defaults to 'User' if not provided. Additional recipient types may be added over time.
      type: string
      default: User
      enum:
      - ServicePrincipal
      - User
      x-ms-enum:
        name: ExternalDataShareRecipientType
        modelAsString: true
        values:
        - value: ServicePrincipal
          description: The recipient is a service principal, identified by object ID and tenant ID.
        - value: User
          description: The recipient is a user, identified by user principal name (email address). This is the default value.
x-refined-from:
- microsoft-fabric-admin-openapi.yml
- microsoft-fabric-platform-openapi.yml