# Search for narratives The Narratives endpoint allows you to fetch clusters of related content that Constellation has grouped into coherent narratives. Each narrative includes an AI-generated summary, a description, and an assessment of the claim. Endpoint: POST /narratives/-/search ## Query parameters: - `projectId` (string, required) Project ID to fetch narratives for ## Request fields (application/json): - `query` (any) - `boolean` (string) A lucene query to filter on post criteria. Provides the same intent as query, but more text-friendly way of specifying the filter. If both boolean and query are provided, they are combined with a logical AND. - `sort` (array) A list of fields to sort by. - `sort.field` (string, required) - `sort.direction` (string, required) Enum: "ASC", "DESC" - `page` (object) Pagination information. - `page.first` (integer) - `page.after` (string) ## Response 200 fields (application/json): - `narratives` (array, required) Example: [{"compassHeadline":"The expulsion of Iran's ambassador was based on credible security concerns, but the claim's language includes subjective interpretation.","compassLabel":"Caution","compassOneSentence":"The expulsion of Iran's ambassador was based on credible security concerns, but the claim's language includes subjective interpretation.","compassSummary":"The expulsion of Iran's ambassador was based on credible security concerns, but the claim's language includes subjective interpretation.","executiveBriefing":"The expulsion of the Iranian ambassador by Australia has led to significant online discourse, with users expressing mixed feelings about the timing and necessity of the action. Prominent voices criticized the delay in addressing threats from the Iranian regime, particularly following antisemitic incidents. The conversation was largely driven by right-wing users advocating for stronger measures against Iranian influence.","postCount":398,"title":"The expulsion of the Iranian ambassador is seen as a delayed but necessary response to long-known threats from the Iranian regime.","totalEngagement":7713,"narrativeId":"107"}] - `narratives.compassHeadline` (string) Compass-generated headline for the narrative. Example: "The expulsion of Iran's ambassador was based on credible security concerns, but the claim's language includes subjective interpretation." - `narratives.compassLabel` (string) Compass-assigned label for the narrative. Example: "Caution" - `narratives.compassOneSentence` (string) Compass-generated one-sentence summary. Example: "The expulsion of Iran's ambassador was based on credible security concerns, but the claim's language includes subjective interpretation." - `narratives.compassSummary` (string) Compass-generated summary of the narrative. Example: "The expulsion of Iran's ambassador was based on credible security concerns, but the claim's language includes subjective interpretation." - `narratives.dailyHistogram` (array) Daily histogram. - `narratives.dailyHistogram.timestamp` (string, required) - `narratives.dailyHistogram.count` (number, required) - `narratives.executiveBriefing` (string) Executive briefing text for the narrative. Example: "The expulsion of the Iranian ambassador by Australia has led to significant online discourse, with users expressing mixed feelings about the timing and necessity of the action. Prominent voices criticized the delay in addressing threats from the Iranian regime, particularly following antisemitic incidents. The conversation was largely driven by right-wing users advocating for stronger measures against Iranian influence." - `narratives.hourlyHistogram` (array) Hourly histogram. - `narratives.postCount` (number) Total number of posts in the narrative. Example: 398 - `narratives.title` (string) Title of the narrative the post belongs to. Example: "The expulsion of the Iranian ambassador is seen as a delayed but necessary response to long-known threats from the Iranian regime." - `narratives.totalEngagement` (number) Total engagement across all posts in the narrative. Example: 7713 - `narratives.uniqueAuthors` (number) Count of unique authors in the narrative. - `narratives.weightedRiskScore` (number) Weighted risk score for the narrative. - `narratives.narrativeId` (string) The unique identifier for the narrative. Example: "107" - `pageInfo` (object, required) Example: {"hasNextPage":true,"endCursor":"eyJjcmVhdGVkQXQiOiIyMDI1LTA4LTI3VDAxOjAwOjEyLjAwMFoiLCJwb3N0SWQiOiIxOTYwNTA3NjA3Njg2MjA1ODc5In0=","sortKey":"created_at DESC, post_id ASC"} - `pageInfo.hasNextPage` (boolean, required) Example: true - `pageInfo.endCursor` (string) Example: "eyJjcmVhdGVkQXQiOiIyMDI1LTA4LTI3VDAxOjAwOjEyLjAwMFoiLCJwb3N0SWQiOiIxOTYwNTA3NjA3Njg2MjA1ODc5In0=" - `pageInfo.totalCount` (number) - `pageInfo.sortKey` (string) Example: "created_at DESC, post_id ASC"