A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://docs.umbraco.com/umbraco-cms/reference/content-delivery-api/media-delivery-api below:

Media Delivery API | Umbraco CMS

Media Delivery API | Umbraco CMS
  1. Reference
  2. Content Delivery API
Media Delivery API

Using the Media Delivery API.

The Media Delivery API allows for accessing the Umbraco media items in a headless manner. This API applies many of the same concepts as its content counterpart, although with fewer options. If you haven't already, please familiarize yourself with the Content Delivery API before reading this article.

The Media Delivery API specification is created to mimic that of the Content Delivery API. However, the default implementation of this specification is limited and does not support the entire specification.

Unlike the Content Delivery API, the Media Delivery API does not feature an extension model for querying.

The reasoning behind is that third-party media systems might support a complete implementation of the specification. If the demand rises, the default implementation might eventually cover the entire specification.

To use the Media Delivery API you must first enable it. Even if the Content Delivery API is enabled, the Media Delivery API remains disabled by default.

The Media Delivery API is enabled by adding the Media section to the DeliveryApi configuration in appsettings.json:

{
    "Umbraco": {
        "CMS": {
            "DeliveryApi": {
                "Enabled": true,
                "PublicAccess": true,
                "Media": {
                    "Enabled": true,
                    "PublicAccess": false
                }
            }
        }
    }
}

As this configuration sample illustrates, it is possible to restrict public access to media independently from content. As with the Content Delivery API, media is publicly accessible by default when the Media Delivery API is enabled.

The Media configuration can only become more restrictive than the DeliveryApi configuration:

The Media Delivery API can either be queried for a specific media item or a paged list of multiple items.

In the Media Delivery API, id parameters always refer to media item keys (Guid), not node ids (integer).

GET /umbraco/delivery/api/v2/media/item/{id}

Returns a single item.

Which properties to expand in the response

Which properties to include in the response (by default all properties are included)

Gets a media item by path

GET /umbraco/delivery/api/v2/media/item/{path}

Returns a single item.

Path of the media item. The path is composed by the names of any ancestor folders and the name of the media item itself, separated by

/

.

Which properties to expand in the response

Which properties to include in the response (by default all properties are included)

GET /umbraco/delivery/api/v2/media/items

Returns single or multiple items by id.

Which properties to expand in the response

Which properties to include in the response (by default all properties are included)

Gets media item(s) from a query

GET /umbraco/delivery/api/v2/media

Returns single or multiple items.

Structural query string option (e.g. ancestors, children, descendants).

Please note: The default API implementation only supports children.

Filtering query string options (e.g. mediaType, name)

Sorting query string options (e.g. createDate, name, sortOrder, updateDate)

Amount of items to take. Type: Integer. Default: 10. Limits: No limits. Accepts 0.

Which properties to expand in the response

Which properties to include in the response (by default all properties are included)

Fetch a media item by its ID:

GET /umbraco/delivery/api/v2/media/item/3fa85f64-5717-4562-b3fc-2c963f66afa6

Fetch a media item inside a folder structure by its full path, and expand its author property:

GET /umbraco/delivery/api/v2/media/item/root level folder/child folder/media item name/&expand=property:author

Fetch two media items by their ids:

GET /umbraco/delivery/api/v2/media/item?id=11178b4f-f8e2-4686-9697-6d990851a081&id=7cd00706-de93-4db8-8fc2-4b20e8419c30

Fetch the first 10 media items of type Image at root level. Return the found items sorted by name ascending:

GET /umbraco/delivery/api/v2/media?fetch=children:/&filter=mediaType:Image&sort=name:asc&skip=0&take=10

Fetch the first 5 media items inside a folder structure. Return only items of type Image whose item names contain "size".

GET /umbraco/delivery/api/v2/media?fetch=children:/root level folder/child folder/&filter=mediaType:Image&filter=name:size&skip=0&take=5
Media item JSON structure

The Media Delivery API outputs the JSON structure outlined below to represent media items:

{
    "path": "string",
    "createDate": "2023-08-22T08:13:57.510Z",
    "updateDate": "2023-08-22T08:13:57.510Z",
    "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "name": "string",
    "mediaType": "string",
    "url": "string",
    "extension": "string",
    "width": 0,
    "height": 0,
    "bytes": 0,
    "properties": {
        "property1Alias": "string",
        "property2Alias": 0,
        "property3Alias": true,
        "property4Alias": [],
        "property5Alias": {},
        "property6Alias": null
    },
    "focalPoint": {
        "left": 0,
        "top": 0
    },
    "crops": [
        {
            "alias": "string",
            "width": 0,
            "height": 0,
            "coordinates": {
                "x1": 0,
                "y1": 0,
                "x2": 0,
                "y2": 0
            }
        }
    ]
}

Last updated 4 months ago


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4