Get optional categories
/km/api/v1/contentTypes/{contentTypeId}/optionalCategories
This method returns a list of optional Category objects associated with the ContentType object having the specified ID parameter.
The Category objects that the content type requires are the RequiredCategories. The content authors are requested to assign these categories to the content while content authoring.
This service will return all of the categories which are configured as 'Not Required' by author for this content type.
This service accepts optional query parameter 'externalType' which will filter the returned categories by passed in external type.
Valid values for this parameter are :
- CATEGORY
- PRODUCT
If this parameter is not passed result with both Category and product will be returned.
The contentTypes resource supports the orderBy request parameter, which allows you to sort the returned list of Category objects.
You can find different values to use with the orderBy parameter in the schema and catalog information of the resource. To get the schema and catalog information, use GET method with the mediaType value as 'application/schema+json'
in the HTTP request.
The example URI to get schema and catalog of the resource is as follows:
http://<IM_REST_API_HOST>/km/api/latest/metadata-catalog/categories
Category and Product Visibility Filtering
The visibility of products and categories is dependent on the type of user making the request, and views associated with the request. The interface ID parameter is optional.
Rules for Contact Users
If an interface ID is specified in the request, only categories or products associated with the Knowledge Advanced view mapped to the specified Oracle B2C Service interface will be returned.
Rules for Account Users
Unlike when using a contact user, when using an account user the user itself is associated with one or more views, so specifying interface ID is not relevant.
Only categories or products associated with at least one Knowledge Advanced view assigned to the account user will be returned.
Example URIs
The example URIs for this method are as follows:
http://<IM_REST_API_HOST>/km/api/latest/contentTypes/{id}/optionalCategories?externalType=CATEGORY
The request returns a list of Category objects associated with the specified ContentType object. The list contains Category objects that must be assigned to any content while content authoring. By default, the Category objects are sorted according to the referenceKey parameter in ascending order.
http://<IM_REST_API_HOST>/km/api/contentTypes/{id}/optionalCategories?externalType=CATEGORY&orderBy=externalType,name
The request returns a paginated list of Category objects associated with the specified ContentType object. The list contains Category objects that must be assigned to any content while content authoring. The Category objects are sorted according to externalType parameter and name, in ascending order.
http://<IM_REST_API_HOST>/km/api/latest/contentTypes/{id}/optionalCategories?externalType=CATEGORY&orderBy=referenceKey:desc
The request returns a list of Category objects associated with the specified ContentType object. The list contains Category objects that must be assigned to any content while content authoring. The Category objects are sorted according to the referenceKey parameter in descending order.
Request
- application/json
- application/xml
-
contentTypeId: string
The content type identifier
-
externalType(optional): string
External type identifier
Response
- application/json
- application/xml
200 Response
object
ResultList CategoryKey
-
allOf
Collection Paging Resource
Title:
Collection Paging Resource
Oracle base collection resource schema definition. -
object
ResultList CategoryKey-allOf[1]
Collection Paging Resource
-
allOf
Base Collection Resource
Title:
Base Collection Resource
Oracle base collection resource schema definition. -
object
Collection Paging Resource-allOf[1]
Base Collection Resource
-
object
Singular Resource
Title:
Singular Resource
Oracle base singular resource schema definition. -
object
Base Collection Resource-allOf[1]
object
Singular Resource
object
-
count(optional):
integer
Number of resource instances returned in the current range.
-
hasMore(optional):
boolean
Boolean value that is set to true if more resources are available on the server than the subset returned in current page.
-
limit(optional):
integer
Actual paging size used by the server.
-
offset(optional):
integer
Offset value used in the current page.
-
totalResults(optional):
integer
Total count of the resource instances, including both the instances in the current range and the instances on the server that satisfy the request.
array
-
Array of:
object instanceLink
Metadata describing link description objects that MAY appear in the JSON instance representation.
object
-
href:
string
URI [RFC3986] or URI Template [RFC6570]. If the value is set to URI Template, then the "templated" property must be set to true.
-
mediaType(optional):
string
Media type, as defined by RFC 2046, describing the link target.
-
method(optional):
string
HTTP method for requesting the target of the link.
-
profile(optional):
string
Link to the metadata of the resource, such as JSON-schema, that describes the resource expected when dereferencing the target resource..
-
rel:
string
Name of the link relation that, in addition to the type property, can be used to retrieve link details. For example, href or profile.
-
templated(optional):
boolean
Boolean flag that specifies that "href" property is a URI or URI Template. If the property is a URI template, set this value to true. By default, this value is false.
object
-
object
Singular Resource
Title:
Singular Resource
Oracle base singular resource schema definition. -
object
CategoryKey-allOf[1]
object
-
childrenCount(optional):
integer
This field will return number of immediate children a category has.
This field will only be populated if childrenCount query parameter is passed in with value true.
Example URIs for the this parameter are as follows:
- http://<IM_REST_API_HOST>/km/api/categories/{id}?childrenCount=true&mode=KEY
- http://<IM_REST_API_HOST>/km/api/categories?childrenCount=true&mode=KEY
- http://<IM_REST_API_HOST>/km/api/categories?q=contentTypeRefKey eq 'FAQ'&childrenCount=true&mode=KEY
-
description(optional):
string
Description of the Category object
-
externalId(optional):
integer
The unique identifier used while integrating the repository data with the external system.
-
externalType(optional):
string
The type of the category used while integrating the repository data with the external system. Valid options are PRODUCT and CATEGORY.
-
name(optional):
string
The name of the category.
-
objectId(optional):
string
The hierarchichal position of the category
-
parents(optional):
array parents
This field will return all parents of category.
This field will only be populated if withParents query parameter is passed in with value true.
Example URIs for the this parameter are as follows:
- http://<IM_REST_API_HOST>/km/api/categories/{id}?withParents=true&mode=KEY
- http://<IM_REST_API_HOST>/km/api/categories?withParents=true&mode=KEY
- http://<IM_REST_API_HOST>/km/api/categories?q=contentTypeRefKey eq 'FAQ'&withParents=true&mode=KEY
- http://<IM_REST_API_HOST>/km/api/categories/{id}?childrenCount=true&withParents=true&mode=KEY
-
recordId(optional):
string
The unique record ID of the Category object.
-
referenceKey(optional):
string
The reference key for the Category object. Category objects support multiple languages. This field can be used to identify the associated objects for all languages.
-
responseLocale(optional):
string
This is a custom field that will get populated if a name is translated into the default locale when the translated name is not found.
array
This field will return all parents of category.
This field will only be populated if withParents query parameter is passed in with value true.
Example URIs for the this parameter are as follows:
- http://<IM_REST_API_HOST>/km/api/categories/{id}?withParents=true&mode=KEY
- http://<IM_REST_API_HOST>/km/api/categories?withParents=true&mode=KEY
- http://<IM_REST_API_HOST>/km/api/categories?q=contentTypeRefKey eq 'FAQ'&withParents=true&mode=KEY
- http://<IM_REST_API_HOST>/km/api/categories/{id}?childrenCount=true&withParents=true&mode=KEY
Examples
The following example shows how to find a list of optional Category objects associated with the ContentType object having the specified ID parameter by submitting a get request on the REST resource using cURL.
cURL Command
curl -X "GET" "http://<IM_REST_API_HOST>/km/api/latest/contentTypes/{contentTypeId}/optionalCategories"
Example of Request Header
The following shows an example of the request header.
-H "kmauthtoken: {\"siteName\":\"ORACLE_KNOWLEDGE\",\"integrationUserToken\":\"\"+eCJYkxKwj5HUaIiJYun0/TpatwT1LmtcsF05W33xnEojifV/AsLDj9RpN0lKuorTMNKeSE1tgC7svVL+BzntqDON4KiM1HFlpxvXEUCB0P2w0Xrs75McygqxdVaDSE9"}" \ -H "Accept: application/json"
Example of Response Body
The following shows an example of the response body in JSON format.
{ "items" : [ { "referenceKey" : "REFERENCEKEY_VALUE", "name" : "NAME_VALUE", "externalId" : 1428416790963, "externalType" : "EXTERNALTYPE_VALUE", "description" : "DESCRIPTION_VALUE", "links" : [ { "rel" : "canonical", "href" : "http://<IM_REST_API_HOST>/km/api/{version}/{resourceURI}", "mediaType" : "application/json, application/xml", "templated" : true, "method" : "GET", "profile" : "http://<IM_REST_API_HOST>/km/api/{version}/metadata-catalog/{resourceName}" } ] } ] "hasMore" : false, "limit" : 20, "offset" : 0, "links" : [ { "rel" : "canonical", "href" : "http://<IM_REST_API_HOST>/km/api/{version}/categories?limit=20&offset=0", "mediaType" : "application/json, application/xml", "method" : "GET" } ], "count" : 1 }