1. Clients

Media client

A media item is an uploaded asset, plus the description and metadata associated with it.

The following methods are available for the media client.

MethodDescription
GET /api/content/v1/mediaRetrieves media items.
POST /api/content/v1/mediaCreates a media item.
GET /api/content/v1/media/<MEDIA_ITEM_ID>Retrieves a specific media item.
PUT /api/content/v1/media/<MEDIA_ID>Updates a specific media item.
DELETE /api/content/v1/media/<MEDIA_ITEM_ID>Deletes a specific media item.
POST /api/content/v1/media/<MEDIA_ITEM_ID>/publishPublishes a specific media item to the Experience Edge tenant.
DELETE /api/content/v1/media/<MEDIA_ITEM_ID>/publishDeletes a specific media item from the Experience Edge tenant.

The following example illustrates these methods:

public interface IMediaClient
{
  // POST /api/content/v1/media
  Task<MediaItem?> CreateAsync(
    MediaItem mediaItem,
    IUploadSource uploadSource,
    CancellationToken cancellationToken = default);

  // PUT /api/content/v1/media/<MEDIA_ITEM_ID>
  Task<MediaItem?> UpdateAsync(
    MediaItem mediaItem,
    IUploadSource? uploadSource = null,
    CancellationToken cancellationToken = default);

  // DELETE /api/content/v1/media/<MEDIA_ITEM_ID>
  Task DeleteAsync(
    string mediaItemId,
    CancellationToken cancellationToken = default);

  // GET /api/content/v1/media
  Task<PagedResponse<MediaItem>>  GetAsync(
    MediaSearchRequest? searchRequest = null,
    CancellationToken cancellationToken = default);

  // Same as GetAsync, but processing the results as an enumerator.
  IAsyncEnumerable<MediaItem> EnumerateAsync(
    MediaSearchRequest? searchRequest = null,
    CancellationToken cancellationToken = default);

  // GET /api/content/v1/media/<MEDIA_ITEM_ID>
  Task<MediaItem?> SingleAsync(
    string mediaItemId,
    CancellationToken cancellationToken = default);

  // POST /api/content/v1/media/<MEDIA_ITEM_ID>/publish
  Task PublishAsync(
    string mediaId,
    CancellationToken cancellationToken = default);

  // DELETE /api/content/v1/media/<MEDIA_ITEM_ID>/publish
  Task UnpublishAsync(
    string mediaId,
    CancellationToken cancellationToken = default);
}
export interface IMediaClient {
 /**
  * POST /api/content/v1/media
  */
 createAsync(
  mediaItem: MediaItem,
  uploadSource: IUploadSource,
  cancelToken?: CancelToken
 ): Promise<Nullable<MediaItem>>;

 /**
  * PUT /api/content/v1/media/<MEDIA_ITEM_ID>
  */
 updateAsync(
  mediaItem: MediaItem,
  uploadSource?: IUploadSource,
  cancelToken?: CancelToken
 ): Promise<Nullable<MediaItem>>;

 /**
  * DELETE /api/content/v1/media/<MEDIA_ITEM_ID>
  */
 deleteAsync(
  mediaItemId: string,
  cancelToken?: CancelToken
 ): Promise<Nullable<void>>;

 /**
  * GET /api/content/v1/media
  */
 getAsync(
  searchRequest?: MediaSearchRequest,
  cancelToken?: CancelToken
 ): Promise<PagedResponse<MediaItem>>;

 /**
  * Same as getAsync, but processing the results as an enumerator.
  */
 enumerate(
  searchRequest?: MediaSearchRequest,
  cancelToken?: CancelToken
 ): Promise<Array<MediaItem>>;

 /**
  * GET /api/content/v1/media/<MEDIA_ITEM_ID>
  */
 singleAsync(
  mediaItemId: string,
  cancelToken?: CancelToken
 ): Promise<Nullable<MediaItem>>;

 /**
  * POST /api/content/v1/media/<MEDIA_ITEM_ID>/publish
  */
 publishAsync(mediaItemId: string, cancelToken?: CancelToken): Promise<void>;

 /**
  * DELETE /api/content/v1/media/{mediaItemId}/publish
  */
 unPublishAsync(mediaItemId: string, cancelToken?: CancelToken): Promise<void>;
}
If you have suggestions for improving this article, let us know!