@@ -2086,6 +2086,227 @@ paths:
20862086 default :
20872087 $ref : ' #/components/responses/error'
20882088 x-ms-docs-operation-type : operation
2089+ ' /v1beta1/drives/{drive-id}/items/{item-id}/extensions ' :
2090+ get :
2091+ tags :
2092+ - driveItem.extensions
2093+ summary : List all extensions on a DriveItem
2094+ operationId : ListExtensions
2095+ description : |
2096+ Get the collection of open extensions on the specified DriveItem.
2097+
2098+ Each extension is identified by its `extensionName`, which follows a reverse DNS naming convention
2099+ (e.g. `com.example.myApp`).
2100+ parameters :
2101+ - name : drive-id
2102+ in : path
2103+ description : " key: id of drive"
2104+ required : true
2105+ schema :
2106+ type : string
2107+ example : a0ca6a90-a365-4782-871e-d44447bbc668$a0ca6a90-a365-4782-871e-d44447bbc668
2108+ x-ms-docs-key-type : drive
2109+ - name : item-id
2110+ in : path
2111+ description : " key: id of item"
2112+ required : true
2113+ schema :
2114+ type : string
2115+ example : a0ca6a90-a365-4782-871e-d44447bbc668$a0ca6a90-a365-4782-871e-d44447bbc668!share-id
2116+ x-ms-docs-key-type : item
2117+ responses :
2118+ " 200 " :
2119+ description : Retrieved extensions
2120+ content :
2121+ application/json :
2122+ schema :
2123+ title : Collection of openTypeExtensions
2124+ type : object
2125+ properties :
2126+ value :
2127+ type : array
2128+ items :
2129+ $ref : ' #/components/schemas/openTypeExtension'
2130+ examples :
2131+ list extensions :
2132+ value :
2133+ value :
2134+ - extensionName : " com.example.project"
2135+ status : " reviewed"
2136+ assignee : " alice"
2137+ - extensionName : " eu.opencloud.workflow"
2138+ step : " approval"
2139+ default :
2140+ $ref : ' #/components/responses/error'
2141+ x-ms-docs-operation-type : operation
2142+ ' /v1beta1/drives/{drive-id}/items/{item-id}/extensions/{extensionName} ' :
2143+ get :
2144+ tags :
2145+ - driveItem.extensions
2146+ summary : Get an extension by name
2147+ operationId : GetExtension
2148+ description : |
2149+ Get a specific open extension identified by the extension name.
2150+ parameters :
2151+ - name : drive-id
2152+ in : path
2153+ description : " key: id of drive"
2154+ required : true
2155+ schema :
2156+ type : string
2157+ example : a0ca6a90-a365-4782-871e-d44447bbc668$a0ca6a90-a365-4782-871e-d44447bbc668
2158+ x-ms-docs-key-type : drive
2159+ - name : item-id
2160+ in : path
2161+ description : " key: id of item"
2162+ required : true
2163+ schema :
2164+ type : string
2165+ example : a0ca6a90-a365-4782-871e-d44447bbc668$a0ca6a90-a365-4782-871e-d44447bbc668!share-id
2166+ x-ms-docs-key-type : item
2167+ - name : extensionName
2168+ in : path
2169+ description : " The unique name of the extension, using reverse DNS notation (e.g. com.example.myApp)"
2170+ required : true
2171+ schema :
2172+ type : string
2173+ example : com.example.project
2174+ responses :
2175+ " 200 " :
2176+ description : Retrieved extension
2177+ content :
2178+ application/json :
2179+ schema :
2180+ $ref : ' #/components/schemas/openTypeExtension'
2181+ examples :
2182+ get extension :
2183+ value :
2184+ extensionName : " com.example.project"
2185+ status : " reviewed"
2186+ assignee : " alice"
2187+ priority : 3
2188+ " 404 " :
2189+ description : Extension not found
2190+ default :
2191+ $ref : ' #/components/responses/error'
2192+ x-ms-docs-operation-type : operation
2193+ put :
2194+ tags :
2195+ - driveItem.extensions
2196+ summary : Create or update an extension
2197+ operationId : UpsertExtension
2198+ description : |
2199+ Create or update an open extension on the specified DriveItem.
2200+
2201+ If the extension does not exist, it is created. If it already exists, the provided properties
2202+ are merged with the existing data:
2203+
2204+ * Properties included in the request body are added or updated.
2205+ * Properties set to `null` are removed from the extension.
2206+ * Properties not included in the request body remain unchanged.
2207+
2208+ The extension name should follow reverse DNS naming conventions (e.g. `com.example.myApp`)
2209+ to avoid collisions between applications.
2210+ parameters :
2211+ - name : drive-id
2212+ in : path
2213+ description : " key: id of drive"
2214+ required : true
2215+ schema :
2216+ type : string
2217+ example : a0ca6a90-a365-4782-871e-d44447bbc668$a0ca6a90-a365-4782-871e-d44447bbc668
2218+ x-ms-docs-key-type : drive
2219+ - name : item-id
2220+ in : path
2221+ description : " key: id of item"
2222+ required : true
2223+ schema :
2224+ type : string
2225+ example : a0ca6a90-a365-4782-871e-d44447bbc668$a0ca6a90-a365-4782-871e-d44447bbc668!share-id
2226+ x-ms-docs-key-type : item
2227+ - name : extensionName
2228+ in : path
2229+ description : " The unique name of the extension, using reverse DNS notation (e.g. com.example.myApp)"
2230+ required : true
2231+ schema :
2232+ type : string
2233+ example : com.example.project
2234+ requestBody :
2235+ description : Extension properties to set. Use `null` values to remove individual properties.
2236+ required : true
2237+ content :
2238+ application/json :
2239+ schema :
2240+ $ref : ' #/components/schemas/openTypeExtensionUpdate'
2241+ examples :
2242+ create extension :
2243+ value :
2244+ status : " reviewed"
2245+ assignee : " alice"
2246+ priority : 3
2247+ update single property :
2248+ value :
2249+ status : " approved"
2250+ remove a property :
2251+ value :
2252+ priority : null
2253+ responses :
2254+ " 200 " :
2255+ description : Extension updated
2256+ content :
2257+ application/json :
2258+ schema :
2259+ $ref : ' #/components/schemas/openTypeExtension'
2260+ " 201 " :
2261+ description : Extension created
2262+ content :
2263+ application/json :
2264+ schema :
2265+ $ref : ' #/components/schemas/openTypeExtension'
2266+ default :
2267+ $ref : ' #/components/responses/error'
2268+ x-ms-docs-operation-type : operation
2269+ delete :
2270+ tags :
2271+ - driveItem.extensions
2272+ summary : Delete an extension
2273+ operationId : DeleteExtension
2274+ description : |
2275+ Delete an open extension from the specified DriveItem.
2276+
2277+ This removes the extension and all its properties.
2278+ parameters :
2279+ - name : drive-id
2280+ in : path
2281+ description : " key: id of drive"
2282+ required : true
2283+ schema :
2284+ type : string
2285+ example : a0ca6a90-a365-4782-871e-d44447bbc668$a0ca6a90-a365-4782-871e-d44447bbc668
2286+ x-ms-docs-key-type : drive
2287+ - name : item-id
2288+ in : path
2289+ description : " key: id of item"
2290+ required : true
2291+ schema :
2292+ type : string
2293+ example : a0ca6a90-a365-4782-871e-d44447bbc668$a0ca6a90-a365-4782-871e-d44447bbc668!share-id
2294+ x-ms-docs-key-type : item
2295+ - name : extensionName
2296+ in : path
2297+ description : " The unique name of the extension, using reverse DNS notation (e.g. com.example.myApp)"
2298+ required : true
2299+ schema :
2300+ type : string
2301+ example : com.example.project
2302+ responses :
2303+ " 204 " :
2304+ description : Extension deleted
2305+ " 404 " :
2306+ description : Extension not found
2307+ default :
2308+ $ref : ' #/components/responses/error'
2309+ x-ms-docs-operation-type : operation
20892310 ' /v1.0/drives/{drive-id}/root ' :
20902311 get :
20912312 tags :
@@ -4990,6 +5211,12 @@ components:
49905211 ' @UI.Hidden ' :
49915212 description : Properties or facets (see UI.Facet) annotated with this term will not be rendered if the annotation evaluates to true. Users can set this to hide permissions.
49925213 type : boolean
5214+ extensions :
5215+ description : The collection of open extensions defined for this DriveItem. Nullable. Returned only on `$expand`.
5216+ type : array
5217+ items :
5218+ $ref : ' #/components/schemas/openTypeExtension'
5219+ readOnly : true
49935220 sharingLinkType :
49945221 type : string
49955222 enum : [ internal, view, upload, edit, createOnly, blocksDownload ]
@@ -5556,6 +5783,40 @@ components:
55565783 password :
55575784 type : string
55585785 description : Password. It may require a password policy.
5786+ openTypeExtension :
5787+ type : object
5788+ description : |
5789+ Represents an open extension on a DriveItem, providing a flexible way to attach
5790+ untyped custom data to a resource.
5791+
5792+ Extensions are identified by their `extensionName`, which should follow reverse DNS
5793+ naming conventions (e.g. `com.example.myApp`) to avoid collisions between applications.
5794+ properties :
5795+ extensionName :
5796+ type : string
5797+ description : |
5798+ The unique identifier of the extension. Use reverse DNS naming conventions
5799+ (e.g. `com.example.myApp`).
5800+ readOnly : true
5801+ additionalProperties : true
5802+ example :
5803+ extensionName : " com.example.project"
5804+ status : " reviewed"
5805+ assignee : " alice"
5806+ priority : 3
5807+ openTypeExtensionUpdate :
5808+ type : object
5809+ description : |
5810+ Properties to set or remove on an open extension.
5811+
5812+ * Properties included in the request body are added or updated.
5813+ * Properties set to `null` are removed from the extension.
5814+ * Properties not included in the request body remain unchanged.
5815+ additionalProperties :
5816+ nullable : true
5817+ example :
5818+ status : " approved"
5819+ priority : null
55595820 audio :
55605821 type : object
55615822 description : |
0 commit comments