Search

Search Service

Web services for searching content, people, and places.

Create Search Query

POST /search/monitor

Internal REST endpoint for logging Jive user interactions with the Search UI in JSON format

Get Contents

GET /search/contents

Search for and return content objects that match the specified filter criteria, in the specified order.

This service supports the following filters. Only one filter of each type is allowed. Parameters, when used, should be wrapped in parentheses, and multiple values separated by commas. See the examples for clarification.

Filter Params Example
after Select content objects last modified after the specified date/time. ?filter=after(2012-01-31T19:13:29.851+0000)
author Select content objects authored by the specified person. The parameter value must be either a full or partial (starting with "/people/") URI for the desired person. ?filter=author(/people/4321)
before Select content objects last modified before the specified date/time. ?filter=after(2012-01-31T19:13:29.851+0000)
morelike Select content objects that are similar to the specified content object. ?filter=morelike(/content/1234)
place Select content objects that are contained in the specified place or places. The parameter value(s) must be full or partial (starting with "/places/") URI for the desired place(s). ?filter=place(/places/2222,places/3333)
search One or more search terms, separated by commas. You must escape any of the following special characters embedded in the search terms: comma (","), backslash ("\"), left parenthesis ("("), and right parenthesis (")"), by preceding them with a backslash. Remember to URL encode any special character. ?filter=search(test,report) or ?filter=search(10%2C000)
source Return external stream entries that were originated by one or more specified external stream definitions. This only makes sense if you also add a type(extStreamActivity) filter. ?filter=source(/extstreams/123,/extstreams/456)
subjectonly Optional boolean value indicating whether or not to limit search results to only content objects whose subject matches the search keywords. Defaults to true. ?filter=subjectonly(true) or ?filter=subjectonly
type One or more object types of desired content types separated by commas. ?filter=type(document,post)
depth Select content objects recursively given a depth level. Only applies when a place filter is also specified and that place is a community object type, since social groups aren't hierarchical. The default depth level is NONE, which is not recursive and will only return content in the immediate space. CHILDREN will include the specified space and its direct subspaces, i.e. a recursive search one level deep. ALL will perform a fully recursive search using all subspaces. For performance reasons you cannot do a recursive search from the root container, and there is a system property that can limit the total number of subspaces used (jive.searchProvider.placeFilter.maxCommunities) ?filter=depth(NONE) or ?filter=depth(CHILDREN) or ?filter=depth(ALL)
outcomeType One outcome type. Some values are: DECISION, FINALIZED, PENDING, HELPFUL, RESOLVED, SUCCESS, OUTDATED, OFFICIAL or WIP. ?filter=outcomeType(HELPFUL)
language One language. ?filter=language(en)
locale One locale. ?filter=locale(en_US)
category If a place filter exists for a content query, allow an optional category filter of desired categories separated by commas. ?filter=category(4,7)
subtype One content subtype. Some values are: discussion or question. ?filter=subtype(question)

This service supports the following sort types.

Sort Description
relevanceDesc Sort by relevance, in descending order. This is the default sort order.
updatedAsc Sort by the date this content object was most recently updated, in ascending order.
updatedDesc Sort by the date this content object was most recently updated, in descending order.
Directive Params Example
include_rtc Optional. Indicates whether RTC entries should be returned instead of being transformed into direct messages. Default: false if unspecified, or true if specified with no params. ?directive=include_rtc

The returned list may contain a mixture of content object entities of various types. On any given content object entity, use the type field to determine the type of that particular content object.

Query Parameters:
NameTypeRequiredDescription
filterObject[]falseFilter expression(s) used to select matching results
directiveObject[]falseSpecial directive(s) used to transform results
collapseBooleanfalseFlag indicating that search results should be "collapsed" if they have the same parent
highlightBooleanfalseFlag indicating that search results will include fields relating to highlighting. Since 3.8
socialSearchBooleanfalseFlag indicating that search results will be affected by social signals
returnScoreBooleanfalseFlag indicating that search service should return result scores
sortStringfalseSort expression used to order results
startIndexIntegerfalseZero-relative index of the first matching result to return
countIntegerfalseMaximum number of matches to return
originStringfalseClient that sent this search request
includeCategoryFacetsBooleanfalseFlag indicating search result should include list and counts of categories used over all results
fieldsStringfalseFields to include in returned matches
Retrieves:
  • Content[] for matching content objects
  • Return Status:
    HTTP Status CodeDescription
    200 (OK)Request was successful
    400 (Bad Request)An input parameter is missing or malformed
    403 (Forbidden)You attempted to reference an object that you do not have access to
    404 (Not Found)You attempted to reference an object that does not exist

    Get People

    GET /search/people

    Search for and return people that match the specified filter criteria, in the specified order.

    This service supports the following filters. Only one filter of each type is allowed. Parameters, when used, should be wrapped in parentheses, and multiple values separated by commas. See the examples for clarification.

    Filter Params Example
    company Single value to match against the Company profile field. ?filter=company(Jive+Software)
    department Single value to match against the Department profile field. ?filter=department(Engineering)
    hire-date One or two dates in ISO-8601 format. One date indicates selection of all people hired on or after the specified date. Two dates indicates selection of all people hired between the specified dates. ?filter=hire-date(2012-01-31T22:46:12.044%2B0000,2012-12-03T22:46:12.044%2B0000)
    include-disabled Optional boolean value indicating whether disabled users should be returned (without a filter, defaults to false). ?filter=include-disabled or ?filter=include-disabled(true)
    include-external Optional boolean value indicating whether external (non-person) users should be returned (without a filter, defaults to false). ?filter=include-external or ?filter=include-external(true)
    include-online Optional boolean value indicating whether only online users should be returned (without a filter, defaults to false). ?filter=include-online or ?filter=include-online(true)
    include-partner Optional boolean value indicating whether partner (external contributor) users should be returned (without a filter, defaults to true). ?filter=include-partner(false)
    lastProfileUpdate One or two timestamps in ISO-8601 format. If one timestamp is specified, all persons who have updated their profile since that timestamp will be selected. If two timestamps are specified, all persons who updated their profile in the specified range will be selected. ?filter=lastProfileUpdate(2012-01-31T22:46:12.044%2B0000,2012-12-03T22:46:12.044%2B0000)
    location Single value to match against the Location profile field. ?filter=location(Portland)
    nameonly Optional boolean value indicating whether or not to limit search results to only people that match by name. Without a filter, defaults to false. ?filter=nameonly(true) or ?filter=nameonly
    published One or two timestamps in ISO-8601 format. If one timestamp is specified, all persons created since that timestamp will be selected. If two timestamps are specified, all persons created in the specified range will be selected. ?filter=updated(2012-01-31T22:46:12.044%2B0000,2012-12-03T22:46:12.044%2B0000)
    search One or more search terms, separated by commas. You must escape any of the following special characters embedded in the search terms: comma (","), backslash ("\"), left parenthesis ("("), and right parenthesis (")") by preceding them with a backslash. This field is required on a search. Remember to URL encode any special character. ?filter=search(test,report) or ?filter=search(10%2C000)
    tag One or more tag values, separated by commas. A match on any of the tags will cause this person to be returned. ?filter=tag(sales,performance)
    title Single value to match against the Title profile field. ?filter=title(Marketing+Manager)
    updated One or two timestamps in ISO-8601 format. If one timestamp is specified, all persons updated since that timestamp will be selected. If two timestamps are specified, all persons updated in the specified range will be selected. ?filter=updated(2012-01-31T22:46:12.044%2B0000,2012-12-03T22:46:12.044%2B0000)
    view-content Only persons that can view the requested content will be selected. Since: 3.4 ?filter=view-content(/content/1234)

    This service supports the following sort types.

    Sort Description
    dateJoinedAsc Sort by joined date in ascending order.
    dateJoinedDesc Sort by joined date in descending order.
    firstNameAsc Sort by first name in ascending order.
    lastNameAsc Sort by last name in ascending order.
    lastProfileUpdateAsc Sort by last profile update date/time in ascending order.
    lastProfileUpdateDesc Sort by last profile update date/time in descending order.
    relevanceDesc Sort by relevance, in descending order. This is the default sort order.
    statusLevelDesc Sort by status level in descending order.
    updatedAsc Sort by the date this person was most recently updated, in ascending order.
    updatedDesc Sort by the date this person was most recently updated, in descending order.
    Query Parameters:
    NameTypeRequiredDescription
    filterObject[]falseFilter expression(s) used to select matching results
    viewContentURIStringfalseOptional. viewContent inside of Jive that is inside of Person will indicate if the user can see the requested content. Since 3.5
    sortStringfalseSort expression used to order results
    startIndexIntegerfalseZero-relative index of the first matching result to return
    countIntegerfalseMaximum number of matches to return
    originStringfalseClient that sent this search request
    fieldsStringfalseFields to include in returned matches
    Retrieves:
  • Person[] listing the matching people
  • Return Status:
    HTTP Status CodeDescription
    200 (OK)Request was successful
    400 (Bad Request)An input parameter is missing or malformed
    403 (Forbidden)You attempted to reference an object that you do not have access to
    404 (Not Found)You attempted to reference an object that does not exist

    Get Places

    GET /search/places

    Search for and return places that match the specified filter criteria, in the specified order.

    This service supports the following filters. Only one filter of each type is allowed. Parameters, when used, should be wrapped in parentheses, and multiple values separated by commas. See the examples for clarification.

    Filter Params Example
    nameonly Optional boolean value indicating whether or not to limit search results to only places whose name matches the search keywords. Defaults to true. ?filter=nameonly(true) or ?filter=nameonly
    search One or more search terms, separated by commas. You must escape any of the following special characters embedded in the search terms: comma (","), backslash ("\"), left parenthesis ("("), and right parenthesis (")") by preceding them with a backslash. Remember to URL encode any special character. ?filter=search(test,report) or ?filter=search(10%2C000)
    type One or more object types of desired contained places (blog, group, project, space) separated by commas. ?filter=type(blog,project)

    This service supports the following sort types.

    Sort Description
    relevanceDesc Sort by relevance, in descending order. This is the default sort order.
    updatedAsc Sort by the date this place was most recently updated, in ascending order.
    updatedDesc Sort by the date this place was most recently updated, in descending order.

    The returned list may contain a mixture of place entities of various types. On any given place entity, use the type field to determine the type of that particular place.

    Query Parameters:
    NameTypeRequiredDescription
    filterObject[]falseFilter expression(s) used to select matching results
    collapseBooleanfalseFlag indicating that search results should be "collapsed" if they have the same parent
    highlightBooleanfalseFlag indicating that search results will include fields relating to highlighting. Since 3.8
    socialSearchBooleanfalseFlag indicating that search results will be affected by social signals
    returnScoreBooleanfalseFlag indicating that search service should return result scores
    sortStringfalseSort expression used to order results
    startIndexIntegerfalseZero-relative index of the first matching result to return
    countIntegerfalseMaximum number of matches to return
    originStringfalseClient that sent this search request
    fieldsStringfalseFields to include in returned matches
    Retrieves:
  • Place[] containing the matching places
  • Return Status:
    HTTP Status CodeDescription
    200 (OK)Request was successful
    400 (Bad Request)If an input parameter is missing or malformed
    403 (Forbidden)If you attempt to reference an object that you do not have access to
    404 (Not Found)If you attempt to reference an object that does not exist

    Get Tags

    GET /search/tags

    Search for and return tags that match the specified filter criteria. When calling this endpoint, you must specify a search filter with at least one keyword.

    This service supports the following filter.

    Filter Params Example
    search One or more search terms, separated by commas. You must escape any of the following special characters embedded in the search terms: comma (","), backslash ("\"), left parenthesis ("("), and right parenthesis (")") by preceding them with a backslash. Remember to URL encode any special character. ?filter=search(test,help) or ?filter=search(10%2C000)
    Query Parameters:
    NameTypeRequiredDescription
    filterObject[]falseFilter expression(s) used to select matching results
    startIndexIntegerfalseZero-relative index of the first matching result to return
    originStringfalseClient that sent this search request
    countIntegerfalseMaximum number of matches to return
    Retrieves:
  • ContentTag[] containing the matching tags
  • Return Status:
    HTTP Status CodeDescription
    200 (OK)Request was successful
    400 (Bad Request)If an input parameter is missing or malformed
    403 (Forbidden)If you attempt to reference an object that you do not have access to
    404 (Not Found)If you attempt to reference an object that does not exist