Microsoft Fabric External Data Shares Provider API
The ExternalDataSharesProvider API from Microsoft Fabric — 4 operation(s) for externaldatasharesprovider.
The ExternalDataSharesProvider API from Microsoft Fabric — 4 operation(s) for externaldatasharesprovider.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/microsoft-fabric:microsoft-fabric-externaldatasharesprovider-api"
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.
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: 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