---
title: "Report client activity"
method: POST
path: "/rest/api/v1/feedback"
tags: ["Activity"]
---

# Report client activity

`POST /rest/api/v1/feedback`

Report events that happen to results within a Glean client UI, such as search result views and clicks.  This signal improves search quality.

## Query parameters

- `feedback` string

## Request body

- Feedback
  - `id` string — Universally unique identifier of the event. To allow for reliable retransmission, only the earliest received event of a given UUID is considered valid by the server and subsequent are ignored.
  - `category` 'ANNOUNCEMENT' | 'ANSWERS' | 'ARTIFACTS' | 'AUTOCOMPLETE' | 'COLLECTIONS' | 'FEED' | 'SEARCH' | 'CHAT' | 'NTP' | 'WORKFLOWS' | 'SUMMARY' | 'GENERAL' | 'PRISM' | 'PROMPTS' — The feature category to which the feedback applies. These should be broad product areas such as Announcements, Answers, Search, etc. rather than specific components or UI treatments within those areas.
  - `trackingTokens` string[], required — A list of server-generated trackingTokens to which this event applies.
  - `event` 'CLICK' | 'CONTAINER_CLICK' | 'COPY_LINK' | 'CREATE' | 'DISMISS' | 'DOWNVOTE' | 'EMAIL' | 'EXECUTE' | 'FILTER' | 'FIRST_TOKEN' | 'FOCUS_IN' | 'LAST_TOKEN' | 'MANUAL_FEEDBACK' | 'MANUAL_FEEDBACK_SIDE_BY_SIDE' | 'FEEDBACK_TIME_SAVED' | 'MARK_AS_READ' | 'MESSAGE' | 'MIDDLE_CLICK' | 'PAGE_BLUR' | 'PAGE_FOCUS' | 'PAGE_LEAVE' | 'PREVIEW' | 'RELATED_CLICK' | 'RIGHT_CLICK' | 'SECTION_CLICK' | 'SEEN' | 'SELECT' | 'SHARE' | 'SHOW_MORE' | 'UPVOTE' | 'VIEW' | 'VISIBLE', required — The action the user took within a Glean client with respect to the object referred to by the given `trackingToken`.
  - `position` integer — Position of the element in the case that the client controls order (such as feed and autocomplete).
  - `payload` string — For type MANUAL_FEEDBACK, contains string of user feedback. For autocomplete, partial query string. For feed, string of user feedback in addition to manual feedback signals extracted from all suggested content.
  - `sessionInfo` SessionInfo
    - `sessionTrackingToken` string — A unique token for this session. A new session (and token) is created when the user issues a request from a new tab or when our server hasn't seen activity for more than 10 minutes from a tab.
    - `tabId` string — A unique id for all requests a user makes from a given tab, no matter how far apart. A new tab id is only generated when a user issues a request from a new tab.
    - `lastSeen` string, date-time — The last time the server saw this token.
    - `lastQuery` string — The last query seen by the server.
  - `timestamp` string, date-time — The ISO 8601 timestamp when the event occured.
  - `user` User
    - `userID` string — An opaque user ID for the claimed authority (i.e., the actas param, or the origid if actas is not specified).
    - `origID` string — An opaque user ID for the authenticated user (ignores actas).
  - `pathname` string — The path the client was at when the feedback event triggered.
  - `channels` string[] — Where the feedback will be sent, e.g. to Glean, the user's company, or both. If no channels are specified, feedback will go only to Glean.
  - `url` string — The URL the client was at when the feedback event triggered.
  - `uiTree` string[] — The UI element tree associated with the event, if any.
  - `uiElement` string — The UI element associated with the event, if any.
  - `manualFeedbackInfo` ManualFeedbackInfo
    - `email` string — The email address of the user who submitted the Feedback.event.MANUAL_FEEDBACK event.
    - `source` 'AUTOCOMPLETE' | 'CALENDAR' | 'CHAT' | 'CHAT_GENERAL' | 'CONCEPT_CARD' | 'DESKTOP_APP' | 'DISAMBIGUATION_CARD' | 'EXPERT_DETECTION' | 'FEED' | 'GENERATED_Q_AND_A' | 'INLINE_MENU' | 'NATIVE_RESULT' | 'PRISM' | 'Q_AND_A' | 'RELATED_QUESTIONS' | 'REPORT_ISSUE' | 'SCIOBOT' | 'SEARCH' | 'SIDEBAR' | 'SUMMARY' | 'TASKS' | 'TASK_EXECUTION' — The source associated with the Feedback.event.MANUAL_FEEDBACK event.
    - `issue` string — The issue the user indicated in the feedback.
    - `issues` string[] — The issue(s) the user indicated in the feedback.
    - `imageUrls` string[] — URLs of images uploaded by user when providing feedback
    - `query` string — The query associated with the Feedback.event.MANUAL_FEEDBACK event.
    - `obscuredQuery` string — The query associated with the Feedback.event.MANUAL_FEEDBACK event, but obscured such that the vowels are replaced with special characters. For search feedback events only.
    - `activeTab` string — Which tabs the user had chosen at the time of the Feedback.event.MANUAL_FEEDBACK event. For search feedback events only.
    - `comments` string — The comments users can optionally add to the Feedback.event.MANUAL_FEEDBACK events.
    - `searchResults` string[] — The array of search result Glean Document IDs, ordered by top to bottom result.
    - `previousMessages` string[] — The array of previous messages in a chat session, ordered by oldest to newest.
    - `chatTranscript` FeedbackChatExchange[] — Array of previous request/response exchanges, ordered by oldest to newest.
      - `timestamp` integer — Unix timestamp in millis for the chat request.
      - `agent` string — Either DEFAULT (company knowledge) or GPT (world knowledge).
      - `userQuery` string — Initial query entered by the user.
      - `searchQuery` string — Search query performed by the agent.
      - `resultDocuments` object[] — List of documents read by the agent.
        - `title` string
        - `url` string
      - `response` string
    - `numQueriesFromFirstRun` integer — How many times this query has been run in the past.
    - `vote` 'UPVOTE' | 'DOWNVOTE' — The vote associated with the Feedback.event.MANUAL_FEEDBACK event.
    - `rating` integer — A rating associated with the user feedback. The value will be between one and the maximum given by ratingScale, inclusive.
    - `ratingKey` string — A description of the rating that contextualizes how it appeared to the user, e.g. "satisfied".
    - `ratingScale` integer — The scale of comparison for a rating associated with the feedback. Rating values start from one and go up to the maximum specified by ratingScale. For example, a five-option satisfaction rating will have a ratingScale of 5 and a thumbs-up/thumbs-down rating will have a ratingScale of 2.
  - `manualFeedbackSideBySideInfo` ManualFeedbackSideBySideInfo
    - `email` string — The email address of the user who submitted the side-by-side feedback.
    - `source` 'LIVE_EVAL' | 'CHAT' | 'SEARCH' — The source associated with the side-by-side feedback event.
    - `query` string — The query or prompt that was evaluated across multiple implementations.
    - `implementations` SideBySideImplementation[] — Array of implementations that were compared side-by-side.
      - `implementationId` string — Unique identifier for this implementation variant.
      - `implementationName` string — Human-readable name for this implementation (e.g., "Variant A", "GPT-4", "Claude").
      - `searchParams` object — The search/chat parameters used for this implementation.
      - `response` string — The full response generated by this implementation.
      - `responseMetadata` object — Metadata about the response (e.g., latency, token count).
        - `latencyMs` integer — Time taken to generate the response in milliseconds.
        - `tokenCount` integer — Number of tokens in the response.
        - `modelUsed` string — The specific model version used.
    - `evaluationSessionId` string — Unique identifier for this evaluation session to group related feedback events.
    - `implementationId` string — The ID of the implementation this specific feedback event is for.
    - `vote` 'UPVOTE' | 'DOWNVOTE' | 'NEUTRAL' — The vote for this specific implementation.
    - `comments` string — Specific feedback comments for this implementation.
  - `seenFeedbackInfo` SeenFeedbackInfo
    - `isExplicit` boolean — The confidence of the user seeing the object is high because they explicitly interacted with it e.g. answer impression in SERP with additional user interaction.
  - `userViewInfo` UserViewInfo
    - `docId` string — Unique Glean Document ID of the associated document.
    - `docTitle` string — Title of associated document.
    - `docUrl` string — URL of associated document.
  - `workflowFeedbackInfo` WorkflowFeedbackInfo
    - `source` 'ZERO_STATE' | 'LIBRARY' | 'HOMEPAGE' — Where the feedback of the workflow originated from
  - `applicationId` string — The application ID of the client that sent the feedback event.
  - `agentId` string — The agent ID of the client that sent the feedback event.

## Response `200`

OK

## Other responses

- `400` — Invalid request
- `401` — Not Authorized
- `429` — Too Many Requests

---

[API](https://skmtc.net/gleanwork/apis/glean-api.md) · [All operations](https://skmtc.net/gleanwork/apis/glean-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/gleanwork/glean-api/revisions/ebd602e4aea4/schema)
