Edit

Git - Create Workspace Relation

Creates a workspace relation between the specified workspace and a related workspace.

Note

This API is part of a Preview release and is provided for evaluation and development purposes only. It may change based on feedback and is not recommended for production use.

Creates a branching relation between a branch workspace and its base workspace.

Permissions

The caller must have an admin role on the branch workspace and a contributor or higher role on the base workspace.

Required Delegated Scopes

Workspace.ReadWrite.All

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

POST https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/git/workspaceRelations

URI Parameters

Name In Required Type Description
workspaceId
path True

string (uuid)

The workspace ID.

Request Body

Name Required Type Description
relatedWorkspaceId True

string (uuid)

The related workspace ID.

relationType True

WorkspaceRelationType

The type of the related workspace to create in the relation. Only Base and Branch are valid for creation.

Responses

Name Type Description
201 Created

WorkspaceRelation

Successfully created.

429 Too Many Requests

ErrorResponse

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.

Headers

Retry-After: integer

Other Status Codes

ErrorResponse

Common error codes:

  • InsufficientPrivileges - The caller does not have sufficient workspace permissions.

  • WorkspaceNotFound - The specified workspace was not found.

  • WorkspaceRelationAlreadyExists - A relation between the specified workspaces already exists.

  • WorkspaceRelationBidirectionalExists - A relation between these workspaces already exists in the opposite direction.

  • WorkspaceRelationInvalidArgument - Invalid arguments provided for workspace relation operation.

  • WorkspaceRelationInvalidType - Invalid workspace relation type.

  • WorkspaceRelationSelfReferencing - A workspace cannot be related to itself.

  • WorkspaceRelationBaseIsBranch - The base workspace is already a branch of another workspace.

  • WorkspaceRelationTargetHasBranches - The target workspace already has branch workspaces.

  • WorkspaceRelationDifferentBase - The target workspace has a different base workspace.

  • WorkspaceRelationRootDirectoryMismatch - The workspaces are not connected to the same Git repository root.

Examples

Create a workspace relation example

Sample request

POST https://api.fabric.microsoft.com/v1/workspaces/55555555-5555-5555-5555-555555555555/git/workspaceRelations

{
  "relatedWorkspaceId": "33333333-3333-3333-3333-333333333333",
  "relationType": "Base"
}

Sample response

{
  "id": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
  "workspaceId": "55555555-5555-5555-5555-555555555555",
  "relatedWorkspaceId": "33333333-3333-3333-3333-333333333333",
  "relationType": "Base"
}

Definitions

Name Description
CreateWorkspaceRelationRequest

The request payload for creating a workspace relation.

ErrorRelatedResource

The error related resource details object.

ErrorResponse

The error response.

ErrorResponseDetails

The error response details.

WorkspaceRelation

A workspace relation object.

WorkspaceRelationType

The type of the related workspace in the relation. Additional related workspace types may be added over time.

CreateWorkspaceRelationRequest

The request payload for creating a workspace relation.

Name Type Description
relatedWorkspaceId

string (uuid)

The related workspace ID.

relationType

WorkspaceRelationType

The type of the related workspace to create in the relation. Only Base and Branch are valid for creation.

ErrorRelatedResource

The error related resource details object.

Name Type Description
resourceId

string

The resource ID that's involved in the error.

resourceType

string

The type of the resource that's involved in the error.

ErrorResponse

The error response.

Name Type Description
errorCode

string

A specific identifier that provides information about an error condition, allowing for standardized communication between our service and its users.

isRetriable

boolean

When true, the request can be retried. Use the Retry-After response header to determine the delay, if available.

message

string

A human readable representation of the error.

moreDetails

ErrorResponseDetails[]

List of additional error details.

relatedResource

ErrorRelatedResource

The error related resource details.

requestId

string (uuid)

ID of the request associated with the error.

ErrorResponseDetails

The error response details.

Name Type Description
errorCode

string

A specific identifier that provides information about an error condition, allowing for standardized communication between our service and its users.

message

string

A human readable representation of the error.

relatedResource

ErrorRelatedResource

The error related resource details.

WorkspaceRelation

A workspace relation object.

Name Type Description
id

string (uuid)

The workspace relation ID.

relatedWorkspaceId

string (uuid)

The related workspace ID.

relationType

WorkspaceRelationType

The type of the related workspace in the relation.

workspaceId

string (uuid)

The workspace ID.

WorkspaceRelationType

The type of the related workspace in the relation. Additional related workspace types may be added over time.

Value Description
Base

The related workspace is the base (source) workspace.

Branch

The related workspace is a branch workspace.

RelatedWorkspace

The related workspace has a general relation.