Content items client
A content item contains the content data for a specific item. The following methods are available for content items.
| Method | Description |
|---|---|
GET /api/content/v1/items | Retrieves the prefix, label, and visualization properties of all content item entities. |
POST /api/content/v1/items | Creates a content item entity. |
GET /api/content/v1/items/<CONTENT_ITEM_ID> | Retrieves a specific content item entity. |
PUT /api/content/v1/items/<CONTENT_ITEM_ID> | Updates a specific content item entity. |
DELETE /api/content/v1/items/<CONTENT_ITEM_ID> | Deletes a specific content item entity. |
POST /api/content/v1/items/<CONTENT_ITEM_ID>/publish | Publishes a specific content item entity to the Experience Edge. |
POST /api/content/v1/items/<CONTENT_TYPE_ID> | Create a locale variant of a content item |
DELETE /api/content/v1/items/<CONTENT_ITEM_ID>/publish | Deletes a specific content item entity from the Experience Edge. |
The following example illustrates these methods:
public interface IContentItemClient
{
/// POST /api/content/v1/items
/// <summary>
/// Creates a new content item.
/// </summary>
/// <param name="contentTypeId">The content type identifier.</param>
/// <param name="contentItem"></param>
/// <param name="localeId"></param>///
/// <param name="cancellationToken"></param>
/// <returns></returns>
Task<ContentItem> CreateAsync(
string contentTypeId,
ContentItem contentItem,
string? localeId,
CancellationToken cancellationToken = default);
/// POST /api/content/v1/items
/// <summary>
/// Creates a new (not localized) content item
/// </summary>
/// <param name="contentTypeId">The content type identifier.</param>
/// <param name="contentItem"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
Task<ContentItem> CreateAsync(
string contentTypeId,
ContentItem contentItem,
CancellationToken cancellationToken = default);
/// PUT /api/content/v1/items/<contentItemId>
/// <summary>
/// Updates an existing content item.
/// </summary>
/// <param name="contentItem"></param>
/// <param name="localeId"></param>///
/// <param name="cancellationToken"></param>
/// <returns></returns>
Task<ContentItem> UpdateAsync(
ContentItem contentItem,
string? localeId,
CancellationToken cancellationToken = default);
/// PUT /api/content/v1/items/<contentItemId>
/// <summary>
/// Updates an existing (not localized) content item.
/// </summary>
/// <param name="contentItem"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
Task<ContentItem> UpdateAsync(
ContentItem contentItem,
CancellationToken cancellationToken = default);
/// DELETE /api/content/v1/items/<contentItemId>
/// <summary>
/// Deletes the specified content item.
/// </summary>
/// <param name="contentItemId"></param>
/// <param name="localeId"></param>///
/// <param name="cancellationToken"></param>
/// <returns></returns>
Task DeleteAsync(
string contentItemId,
string? localeId,
CancellationToken cancellationToken = default);
/// DELETE /api/content/v1/items/<contentItemId>
/// <summary>
/// Deletes the specified (not localized) content item.
/// </summary>
/// <param name="contentItemId"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
Task DeleteAsync(
string contentItemId,
CancellationToken cancellationToken = default);
/// GET /api/content/v1/items
/// <summary>
/// Gets the content items.
/// </summary>
/// <param name="searchRequest"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
Task<PagedResponse<ContentItem>> GetAsync(
ContentItemSearchRequest? searchRequest = null,
CancellationToken cancellationToken = default);
/// <summary>
/// Enumerates the content items.
/// </summary>
/// <param name="searchRequest"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
IAsyncEnumerable<ContentItem> EnumerateAsync(
ContentItemSearchRequest? searchRequest = null,
CancellationToken cancellationToken = default);
/// GET /api/content/v1/items/<contentItemId>
/// <summary>
/// Gets a single content item by its identifier.
/// </summary>
/// <param name="contentItemId"></param>
/// <param name="localeId"></param>///
/// <param name="cancellationToken"></param>
/// <returns></returns>
Task<ContentItem?> SingleAsync(
string contentItemId,
string? localeId,
CancellationToken cancellationToken = default);
/// GET /api/content/v1/items/<contentItemId>
/// <summary>
/// Gets a single (not localized) content item by its identifier.
/// </summary>
/// <param name="contentItemId"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
Task<ContentItem?> SingleAsync(
string contentItemId,
CancellationToken cancellationToken = default);
/// GET /api/content/v1/items/<contentItemId>
/// <summary>
/// Gets a single content item by its identifier from the local in-memory cache, otherwise falls back to <see cref="SingleAsync(string,string?,CancellationToken)"/>.
/// </summary>
/// <param name="contentItemId"></param>
/// <param name="localeId"></param>///
/// <param name="cancellationToken"></param>
/// <returns></returns>
Task<ContentItem?> SingleCachedAsync(
string contentItemId,
string? localeId,
CancellationToken cancellationToken = default);
/// GET /api/content/v1/items/<contentItemId>
/// <summary>
/// Gets a single (not localized) content item by its identifier from the local in-memory cache, otherwise falls back to <see cref="SingleAsync(string,CancellationToken)"/>.
/// </summary>
/// <param name="contentItemId"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
Task<ContentItem?> SingleCachedAsync(
string contentItemId,
CancellationToken cancellationToken = default);
/// POST /api/content/v1/items/<contentItemId>/publish
/// <summary>
/// Publishes the specified content item.
/// </summary>
/// <param name="contentItemId"></param>
/// <param name="localeId"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
Task PublishAsync(
string contentItemId,
string? localeId,
CancellationToken cancellationToken = default);
/// POST /api/content/v1/items/<contentItemId>/publish
/// <summary>
/// Publishes the specified (not localized) content item.
/// </summary>
/// <param name="contentItemId"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
Task PublishAsync(
string contentItemId,
CancellationToken cancellationToken = default);
/// DELETE /api/content/v1/items/<contentItemId>/publish
/// <summary>
/// Unpublishes the specified content item.
/// </summary>
/// <param name="contentItemId"></param>
/// <param name="localeId"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
Task UnpublishAsync(
string contentItemId,
string? localeId,
CancellationToken cancellationToken = default);
/// DELETE /api/content/v1/items/<contentItemId>/publish
/// <summary>
/// Unpublishes the specified (not localized) content item.
/// </summary>
/// <param name="contentItemId"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
Task UnpublishAsync(
string contentItemId,
CancellationToken cancellationToken = default);
/// POST /api/content/v1/items/<contentItemId>/copy
/// <summary>
/// Create a locale variant of a content item.
/// </summary>
/// <param name="contentItemId">The content item identifier.</param>
/// <param name="sourceLocale">Locale of the existing content item</param>
/// <param name="primary"><see langword="true" /> to get source locale of the primary content item; otherwise <see langword="false" />.</param>
/// <param name="locale">Locale to copy to</param>
/// <param name="cancellationToken"></param>
Task<ContentItem> LocaleCopyAsync(
string contentItemId,
string locale,
string? sourceLocale = null,
bool? primary = null,
CancellationToken cancellationToken = default);
}export interface IContentItemClient {
/**
* POST /api/content/v1/items
* Creates a new content item.
* @param contentTypeId
* @param contentItem
* @param cancelToken
*/
createAsync(
contentTypeId: string,
contentItem: ContentItem,
cancelToken?: CancelToken
): Promise<Nullable<ContentItem>>;
/**
* PUT /api/content/v1/items/<contentItemId>
* Updates an existing content item.
* @param contentItem
* @param cancelToken
*/
updateAsync(
contentItem: ContentItem,
cancelToken?: CancelToken
): Promise<Nullable<ContentItem>>;
/**
* DELETE /api/content/v1/items/<contentItemId>
* Deletes the specified content item.
* @param contentItem - A string representing the content item ID, or a ContentItem object
* @param cancelToken
*/
deleteAsync(
contentItem: string | ContentItem,
cancelToken?: CancelToken
): Promise<void>;
/**
* GET /api/content/v1/items
* Gets content items.
* @param searchRequest
* @param cancelToken
*/
getAsync(
searchRequest?: ContentItemSearchRequest,
cancelToken?: CancelToken
): Promise<PagedResponse<ContentItem>>;
/**
* GET /api/content/v1/items/<contentItemId>
* Gets a single content item by its identifier.
* @param contentItem - A string representing the content item ID, or a ContentItem object
* @param cancelToken
*/
singleAsync(
contentItem: string | ContentItem,
cancelToken?: CancelToken
): Promise<Nullable<ContentItem>>;
/**
* GET /api/content/v1/items/<contentItemId>
* Gets a single content item with the specified identifier from the local in-memory _cache, otherwise falls back to {@link singleAsync}.
* @param contentItem - A string representing the content item ID, or a ContentItem object
* @param cancelToken
*/
singleCachedAsync(
contentItem: string | ContentItem,
cancelToken?: CancelToken
): Promise<Nullable<ContentItem>>;
/**
* POST /api/content/v1/items/<contentItemId>/publish
* Publishes the specified content item.
* @param contentItem - A string representing the content item ID, or a ContentItem object
* @param cancelToken
*/
publishAsync(
contentItem: string | ContentItem,
cancelToken?: CancelToken
): Promise<void>;
/**
* DELETE /api/content/v1/items/<contentItemId>/publish
* Un-publishes the specified content item.
* @param contentItem - A string representing the content item ID, or a ContentItem object
* @param cancelToken
*/
unPublishAsync(
contentItem: string | ContentItem,
cancelToken?: CancelToken
): Promise<void>;
/**
* POST /api/content/v1/items/<contentItemId>/copy
* Creates a locale copy of a content item.
* @param contentItem - A string representing the content item ID, or a ContentItem object
* @param locale - The target locale
* @param sourceParams Source content item params
* @param cancelToken
*/
createLocaleCopyAsync(
contentItem: ContentItem,
locale: string,
sourceParams: ContentItemCreateVariantResource,
cancelToken?: CancelToken
): Promise<Nullable<ContentItem>>;
/**
* Enumerates content items.
* @param searchRequest
* @param cancelToken
*/
enumerate(
searchRequest?: ContentItemSearchRequest,
cancelToken?: CancelToken
): Promise<Array<ContentItem>>;
}If you have suggestions for improving this article, let us know!