Semantic Search

Get search history

Changed on

Retrieve the authenticated user's persisted search history.

Returns searches the user owns along with searches shared with them, scoped to the caller's organization. Archived and deleted entries are excluded. Citation references on this endpoint are returned as raw identifier strings; use GET /search/{searchId} to fetch a single search with its citations fully expanded.

Pagination defaults to page=1, limit=20 (maximum limit is 100). Results are sorted by most recent activity by default.

pagination.totalCount (and with it totalPages and hasNextPage) counts the searches the listing itself holds: the caller's own and those shared with them in their organization.

get/search

Request

  • Base URL
    https://app.pipeshub.com/api/v1
  • URL
    https://app.pipeshub.com/api/v1/search
  • Auth
    • HTTP bearer
    • or OAuth 2
      Authorization code: /api/v1/oauth2/authorize
      Client credentials
      Token URL: /api/v1/oauth2/token scopes: semantic:read

Query parameters

pageinteger

Page number to return, from 1. An empty value means 1. The value is read with parseInt, so a fraction or trailing text is truncated (2.5 reads as page 2) instead of refused. 0, a negative value, a value that is not a number, or one above 90071992547409 is refused with 400.

limitinteger

Number of items per page. An empty value means 20. Read with parseInt like page; a value outside [1, 100] or not a number is refused with 400, not clamped.

sortBy'createdAt' | 'lastActivityAt' | 'title'

Field used to sort results. Any value other than createdAt, lastActivityAt, or title is treated as lastActivityAt.

sortOrder'asc' | 'desc'

Sort direction applied to sortBy. Only the exact, case-sensitive value asc sorts ascending; any other value (ASC, sideways, ...) is accepted and sorts descending. The raw value is echoed in filters.applied.values.sortOrder.

searchstring

Meant as a case-insensitive substring filter on a search's title, but a stored search has no title, so the filter is dropped and every search is still returned. The value is still checked: more than 1000 characters, or HTML markup, is refused with 400.

shared'true' | 'false' | '1' | '0'

Filter results by their shared status. Accepted values are 'true' / '1' (return only shared searches) and 'false' / '0' (exclude shared searches). Matching is case-insensitive and surrounding whitespace is trimmed.

startDatestring

ISO 8601 date or date-time used as the inclusive lower bound for a search's creation date. A value JavaScript's Date cannot parse is refused with 400 ("Invalid start date format").

endDatestring

ISO 8601 date or date-time used as the inclusive upper bound for a search's creation date. A value JavaScript's Date cannot parse is refused with 400 ("Invalid end date format").

Response

Persisted search history plus pagination, applied/available filter metadata, and a request-scoped meta block.

Changes

    • breaking

      added the pattern ^\d{4}-\d{2}-\d{2} to the query request parameter endDate

    • breaking

      added the pattern ^\d{4}-\d{2}-\d{2} to the query request parameter startDate

    • warning

      for the query request parameter search, the maxLength was set to 1000

    • info

      for the query request parameter page, the max was increased from 1000.00 to 90071992547409.00

    • info

      for the query request parameter endDate, the format was generalized from date-time to no format

    • info

      for the query request parameter startDate, the format was generalized from date-time to no format

    • info

      added the optional property //// to the response with the status

    • info

      added the optional property / to the response with the status

    • info

      added the optional property / to the response with the status

    • info

      added the optional property / to the response with the status

    • info

      added the optional property / to the response with the status