openapi: 3.0.1
info:
  title: Constellation
  description: >-
    <b>An API for understanding online narratives, the posts that make them, and
    the actors who shape them</b>


    The Constellation API provides endpoints that let you analyze social posts,
    the accounts behind them, and the narratives connecting them. Using advanced
    AI, the API organizes raw social data into structured insights—showing what
    is being said, who is amplifying it, how it is propagating across platforms,
    and what potential risks it may pose to your organization.


    The Posts endpoint returns post-level content such as text, author
    information, engagement metadata, and AI-generated enrichments including
    risk metrics and narrative identifiers. The Authors endpoint provides
    account-level context, including cohort membership and other
    actor-intelligence indicators. The Narratives endpoint returns clusters of
    related content, an AI-generated assessment of potential risk, a narrative
    summary, and a description of the narrative itself.


    This API is ideal for customers who want to embed Constellation enrichments
    directly into their own products, dashboards, or analytical workflows.
servers:
  - url: https://api-prd.infra-prod.blackbird.ai/v1
x-hideTryItPanel: false
x-codeSamples: true
paths:
  /projects:
    get:
      operationId: find_projects
      parameters:
        - name: projectId
          required: false
          in: query
          description: >-
            If provided, will filter the projects to only include the project
            with the given projectId
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectSummaryCollection_Output'
      tags:
        - Project
      x-public-api: true
  /projects/{id}:
    get:
      operationId: find_projects_by_id
      parameters:
        - name: id
          required: true
          in: path
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectSummary_Output'
      tags:
        - Project
      x-public-api: true
  /posts/-/search:
    post:
      description: >-
        The Posts endpoint allows you to fetch social posts that have been
        processed and enriched by Constellation. Each post includes its original
        content—such as text, author information, and engagement data—along with
        enrichments that provide deeper analytical context.
      operationId: postSearch
      parameters:
        - name: projectId
          required: true
          in: query
          description: The ID of the project to for records within
          schema:
            type: string
      requestBody:
        required: true
        description: |-
          Query, sort, and pagination criteria.

            **Cursor-Based Pagination:**
            - For the first page, omit the `after` field or set it to `null`
            - Use the `endCursor` value from the previous response's `pageInfo` as the `after` value for the next page
            - The cursor is an identifier to the last row in the previous page
            - Example cursor: `eyJjcmVhdGVkQXQiOiIyMDI1LTA4LTI3VDIwOjQ4OjI4LjAwMFoiLCJwb3N0SWQiOiIxOTYwODA2NjQyMjE3NTc0NTAyIn0=`

            **Pagination Flow:**
            1. First request: `{ "query": {...}, "page": { "first": 50 } }`
            2. Response includes: `pageInfo.endCursor`
            3. Next request: `{ "query": {...}, "page": { "first": 50, "after": "<endCursor from previous>" } }`
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostsSearchRequestDto'
            examples:
              example1:
                summary: Search with query and pagination
                value:
                  query:
                    bool:
                      must:
                        - range:
                            createdAt:
                              gte: '2025-01-01T00:00:00Z'
                              lte: '2025-11-05T23:59:59Z'
                      should:
                        - term:
                            platform: twitter
                        - term:
                            platform: reddit
                  sort:
                    - field: createdAt
                      direction: DESC
                    - field: postId
                      direction: ASC
                  page:
                    first: 50
                    after: >-
                      eyJwb3N0SWQiOiIxOTYwODA2NjQyMjE3NTc0NTAyIiwiY3JlYXRlZEF0IjoiMjAyNS0wOC0yN1QyMDo0ODoyOC4wMDBaIn0=
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostsCollection_Output'
      summary: Search for posts
      tags:
        - Posts
      x-public-api: true
  /narratives/-/search:
    post:
      description: >-
        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.
      operationId: narrativesSearch
      parameters:
        - name: projectId
          required: true
          in: query
          description: Project ID to fetch narratives for
          schema:
            type: string
      requestBody:
        required: true
        description: >-
          Elasticsearch-style filter (and boolean query), sort, and pagination
          criteria.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NarrativesSearchRequestDto'
            examples:
              example1:
                summary: >-
                  Search with Elasticsearch-style filter (and boolean query) and
                  pagination
                value:
                  boolean: platform:twitter OR platform:reddit
                  query:
                    bool:
                      must:
                        - match_phrase:
                            narrative.title:
                              query: Iranian
                        - range:
                            narrative.weightedRiskScore:
                              gte: 54
                  sort:
                    - field: narrative.weightedRiskScore
                      direction: DESC
                  page:
                    first: 50
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NarrativesCollection_Output'
      summary: Search for narratives
      tags:
        - Narratives
      x-public-api: true
components:
  schemas:
    ProjectSummaryCollection_Output:
      type: object
      properties:
        data:
          type: array
          items:
            type: object
            properties:
              name:
                type: string
              slug:
                type: string
              postCount:
                type: number
              displayName:
                type: string
              dataAvailable:
                type: boolean
              jobSchedule:
                type: object
                properties:
                  enabled:
                    type: boolean
                  schedule:
                    example:
                      frequency: daily
                      time: '01:00'
                    anyOf:
                      - type: object
                        properties:
                          frequency:
                            type: string
                            const: daily
                          time:
                            type: string
                        required:
                          - frequency
                          - time
                        additionalProperties: false
                      - type: object
                        properties:
                          frequency:
                            type: string
                            const: weekly
                          time:
                            type: string
                          day:
                            type: string
                            enum:
                              - sunday
                              - monday
                              - tuesday
                              - wednesday
                              - thursday
                              - friday
                              - saturday
                        required:
                          - frequency
                          - time
                          - day
                        additionalProperties: false
                      - type: object
                        properties:
                          frequency:
                            type: string
                            const: onDemand
                        required:
                          - frequency
                        additionalProperties: false
                  dataSources:
                    example:
                      - reddit
                    type: array
                    items:
                      type: string
                  updatedAt:
                    example: '2025-12-01T18:21:40.516Z'
                    type: string
                    format: date-time
                    pattern: >-
                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
                required:
                  - enabled
                  - schedule
                  - jobIdsToRerun
                  - dataSources
                additionalProperties: false
              lastAccessed:
                example: '2025-12-01T18:21:40.516Z'
                type: string
                format: date-time
                pattern: >-
                  ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
            required:
              - name
              - slug
              - displayName
            additionalProperties: false
      required:
        - data
      additionalProperties: false
    ProjectSummary_Output:
      type: object
      properties:
        name:
          type: string
        slug:
          type: string
        postCount:
          type: number
        displayName:
          type: string
        dataAvailable:
          type: boolean
        jobSchedule:
          type: object
          properties:
            enabled:
              type: boolean
            schedule:
              example:
                frequency: daily
                time: '01:00'
              anyOf:
                - type: object
                  properties:
                    frequency:
                      type: string
                      const: daily
                    time:
                      type: string
                  required:
                    - frequency
                    - time
                  additionalProperties: false
                - type: object
                  properties:
                    frequency:
                      type: string
                      const: weekly
                    time:
                      type: string
                    day:
                      type: string
                      enum:
                        - sunday
                        - monday
                        - tuesday
                        - wednesday
                        - thursday
                        - friday
                        - saturday
                  required:
                    - frequency
                    - time
                    - day
                  additionalProperties: false
                - type: object
                  properties:
                    frequency:
                      type: string
                      const: onDemand
                  required:
                    - frequency
                  additionalProperties: false
            dataSources:
              example:
                - reddit
              type: array
              items:
                type: string
            updatedAt:
              example: '2025-12-01T18:21:40.516Z'
              type: string
              format: date-time
              pattern: >-
                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
          required:
            - enabled
            - schedule
            - jobIdsToRerun
            - dataSources
          additionalProperties: false
        lastAccessed:
          type: string
          example: '2025-12-01T18:21:40.516Z'
          format: date-time
          pattern: >-
            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
      required:
        - name
        - slug
        - displayName
      additionalProperties: false
    PostsSearchRequestDto__schema0:
      anyOf:
        - type: object
          properties:
            bool:
              anyOf:
                - type: object
                  properties:
                    must:
                      type: array
                      items:
                        $ref: '#/components/schemas/PostsSearchRequestDto__schema0'
                  required:
                    - must
                - type: object
                  properties:
                    should:
                      type: array
                      items:
                        $ref: '#/components/schemas/PostsSearchRequestDto__schema0'
                  required:
                    - should
                - type: object
                  properties:
                    must_not:
                      type: array
                      items:
                        $ref: '#/components/schemas/PostsSearchRequestDto__schema0'
                  required:
                    - must_not
          required:
            - bool
        - type: object
          properties:
            exists:
              type: object
              properties:
                field:
                  type: string
                  enum:
                    - allAuthorText
                    - allNarrativeText
                    - allPostText
                    - author.username
                    - authorId
                    - body
                    - cluster
                    - createdAt
                    - emotion.anger
                    - emotion.fear
                    - engagement.likes
                    - engagement.score
                    - engagement.total
                    - lang
                    - narrativeId
                    - parentId
                    - platform
                    - postId
                    - text
                    - title
                    - toxicity.toxic
              required:
                - field
          required:
            - exists
        - type: object
          properties:
            term:
              type: object
              properties:
                allAuthorText:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                allNarrativeText:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                allPostText:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                author.username:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                authorId:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                body:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                cluster:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                createdAt:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                emotion.anger:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                emotion.fear:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                engagement.likes:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                engagement.score:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                engagement.total:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                lang:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                narrativeId:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                parentId:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                platform:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                postId:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                text:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                title:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                toxicity.toxic:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
          required:
            - term
        - type: object
          properties:
            terms:
              type: object
              properties:
                allAuthorText:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                allNarrativeText:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                allPostText:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                author.username:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                authorId:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                body:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                cluster:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                createdAt:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                emotion.anger:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                emotion.fear:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                engagement.likes:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                engagement.score:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                engagement.total:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                lang:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                narrativeId:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                parentId:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                platform:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                postId:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                text:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                title:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                toxicity.toxic:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
          required:
            - terms
        - type: object
          properties:
            wildcard:
              type: object
              properties:
                postId:
                  type: object
                  properties:
                    value:
                      type: string
                  required:
                    - value
                authorId:
                  type: object
                  properties:
                    value:
                      type: string
                  required:
                    - value
                parentId:
                  type: object
                  properties:
                    value:
                      type: string
                  required:
                    - value
                narrativeId:
                  type: object
                  properties:
                    value:
                      type: string
                  required:
                    - value
                platform:
                  type: object
                  properties:
                    value:
                      type: string
                  required:
                    - value
                lang:
                  type: object
                  properties:
                    value:
                      type: string
                  required:
                    - value
                cluster:
                  type: object
                  properties:
                    value:
                      type: string
                  required:
                    - value
                text:
                  type: object
                  properties:
                    value:
                      type: string
                  required:
                    - value
                title:
                  type: object
                  properties:
                    value:
                      type: string
                  required:
                    - value
                body:
                  type: object
                  properties:
                    value:
                      type: string
                  required:
                    - value
                author.username:
                  type: object
                  properties:
                    value:
                      type: string
                  required:
                    - value
                allPostText:
                  type: object
                  properties:
                    value:
                      type: string
                  required:
                    - value
                allAuthorText:
                  type: object
                  properties:
                    value:
                      type: string
                  required:
                    - value
                allNarrativeText:
                  type: object
                  properties:
                    value:
                      type: string
                  required:
                    - value
          required:
            - wildcard
        - type: object
          properties:
            range:
              type: object
              properties:
                engagement.likes:
                  type: object
                  properties:
                    gte:
                      anyOf:
                        - type: number
                        - type: string
                    lte:
                      anyOf:
                        - type: number
                        - type: string
                    gt:
                      anyOf:
                        - type: number
                        - type: string
                    lt:
                      anyOf:
                        - type: number
                        - type: string
                engagement.score:
                  type: object
                  properties:
                    gte:
                      anyOf:
                        - type: number
                        - type: string
                    lte:
                      anyOf:
                        - type: number
                        - type: string
                    gt:
                      anyOf:
                        - type: number
                        - type: string
                    lt:
                      anyOf:
                        - type: number
                        - type: string
                engagement.total:
                  type: object
                  properties:
                    gte:
                      anyOf:
                        - type: number
                        - type: string
                    lte:
                      anyOf:
                        - type: number
                        - type: string
                    gt:
                      anyOf:
                        - type: number
                        - type: string
                    lt:
                      anyOf:
                        - type: number
                        - type: string
                emotion.anger:
                  type: object
                  properties:
                    gte:
                      anyOf:
                        - type: number
                        - type: string
                    lte:
                      anyOf:
                        - type: number
                        - type: string
                    gt:
                      anyOf:
                        - type: number
                        - type: string
                    lt:
                      anyOf:
                        - type: number
                        - type: string
                emotion.fear:
                  type: object
                  properties:
                    gte:
                      anyOf:
                        - type: number
                        - type: string
                    lte:
                      anyOf:
                        - type: number
                        - type: string
                    gt:
                      anyOf:
                        - type: number
                        - type: string
                    lt:
                      anyOf:
                        - type: number
                        - type: string
                toxicity.toxic:
                  type: object
                  properties:
                    gte:
                      anyOf:
                        - type: number
                        - type: string
                    lte:
                      anyOf:
                        - type: number
                        - type: string
                    gt:
                      anyOf:
                        - type: number
                        - type: string
                    lt:
                      anyOf:
                        - type: number
                        - type: string
                createdAt:
                  type: object
                  properties:
                    gte:
                      anyOf:
                        - type: number
                        - type: string
                    lte:
                      anyOf:
                        - type: number
                        - type: string
                    gt:
                      anyOf:
                        - type: number
                        - type: string
                    lt:
                      anyOf:
                        - type: number
                        - type: string
          required:
            - range
        - type: object
          properties:
            match:
              type: object
              properties:
                text:
                  anyOf:
                    - type: string
                    - type: object
                      properties:
                        query:
                          type: string
                      required:
                        - query
                title:
                  anyOf:
                    - type: string
                    - type: object
                      properties:
                        query:
                          type: string
                      required:
                        - query
                body:
                  anyOf:
                    - type: string
                    - type: object
                      properties:
                        query:
                          type: string
                      required:
                        - query
                allPostText:
                  anyOf:
                    - type: string
                    - type: object
                      properties:
                        query:
                          type: string
                      required:
                        - query
                allAuthorText:
                  anyOf:
                    - type: string
                    - type: object
                      properties:
                        query:
                          type: string
                      required:
                        - query
                allNarrativeText:
                  anyOf:
                    - type: string
                    - type: object
                      properties:
                        query:
                          type: string
                      required:
                        - query
          required:
            - match
        - type: object
          properties:
            match_phrase:
              type: object
              properties:
                text:
                  type: object
                  properties:
                    query:
                      type: string
                  required:
                    - query
                title:
                  type: object
                  properties:
                    query:
                      type: string
                  required:
                    - query
                body:
                  type: object
                  properties:
                    query:
                      type: string
                  required:
                    - query
                allPostText:
                  type: object
                  properties:
                    query:
                      type: string
                  required:
                    - query
                allAuthorText:
                  type: object
                  properties:
                    query:
                      type: string
                  required:
                    - query
                allNarrativeText:
                  type: object
                  properties:
                    query:
                      type: string
                  required:
                    - query
          required:
            - match_phrase
    PostsSearchRequestDto:
      type: object
      properties:
        query:
          description: >-
            A search query to filter on post criteria. Mirrors a subset of the
            Elasticsearch DSL filter syntax.
          $ref: '#/components/schemas/PostsSearchRequestDto__schema0'
        boolean:
          type: string
          description: >-
            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:
          type: array
          description: A list of fields to sort by.
          items:
            type: object
            properties:
              field:
                type: string
                enum:
                  - engagement.likes
                  - engagement.score
                  - engagement.total
                  - emotion.anger
                  - emotion.fear
                  - toxicity.toxic
                  - createdAt
                  - postId
              direction:
                type: string
                enum:
                  - ASC
                  - DESC
            required:
              - field
              - direction
        page:
          type: object
          description: Pagination information.
          default:
            first: 50
          properties:
            first:
              default: 50
              type: integer
              minimum: 1
              maximum: 200
            after:
              type: string
    PostsCollection_Output:
      type: object
      properties:
        posts:
          type: array
          items:
            example:
              postId: '1960806642217574502'
              narrativeId: '429'
              createdAt: '2025-08-27T20:48:28.000Z'
              platform: twitter
              text: >-
                RT @Jansant: @MichaelWestBiz @AlboMP Over the weekend 300k march
                to sanction Israel...
            type: object
            properties:
              allAuthorText:
                description: >-
                  Search across all author text fields - author.username,
                  author.displayName, author.description, author.location. NOTE
                  - Not actually returned as a field in the response, but
                  documented here to facilitate describing the filterability.
                type: string
              allNarrativeText:
                description: >-
                  Search across all narrative text fields - narrative.title,
                  narrative.compassHeadline, narrative.compassSummary,
                  narrative.compassOneSentence, narrative.executiveBriefing.
                  NOTE - Not actually returned as a field in the response, but
                  documented here to facilitate describing the filterability.
                type: string
              allPostText:
                description: >-
                  Search across all post text content fields - title, body. NOTE
                  - Not actually returned as a field in the response, but
                  documented here to facilitate describing the filterability.
                type: string
              anomalousScore:
                description: Behavioral Manipulation score from the BBMI model.
                type: number
              author:
                type: object
                properties:
                  username:
                    description: The author's username/handle.
                    type: string
                additionalProperties: false
              authorId:
                description: The unique identifier for the author of the post.
                type: string
              createdAt:
                description: The timestamp when the post was created.
                type: string
                format: date-time
                pattern: >-
                  ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
              domain:
                type: object
                properties:
                  domain:
                    description: Domain URL.
                    type: string
                  id:
                    description: Domain identifier.
                    type: string
                  name:
                    description: Domain name.
                    type: string
                additionalProperties: false
              lang:
                description: The detected language of the post content (e.g., 'en', 'es').
                type: string
              narrativeId:
                description: The unique identifier for the narrative.
                type: string
              parentId:
                description: The ID of the post's direct parent.
                type: string
              platform:
                description: >-
                  The platform where the post originated (e.g., Twitter, Reddit,
                  Telegram).
                type: string
              postId:
                description: The unique identifier for the post.
                type: string
              postUrl:
                description: The original URL of the post.
                type: string
              text:
                description: >-
                  The main text content of the post. Not exposed for twitter or
                  reddit posts. Use the postUrl to get it.
                type: string
              title:
                description: >-
                  The title of the post (e.g., for Reddit submissions or
                  articles). Not exposed for twitter or reddit posts. Use the
                  postUrl to get it.
                type: string
              updatedAt:
                description: The timestamp when the post was last updated.
                type: string
                format: date-time
                pattern: >-
                  ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
            required:
              - createdAt
              - platform
              - postId
            additionalProperties: false
        pageInfo:
          type: object
          example:
            hasNextPage: true
            endCursor: >-
              eyJjcmVhdGVkQXQiOiIyMDI1LTA4LTI3VDAxOjAwOjEyLjAwMFoiLCJwb3N0SWQiOiIxOTYwNTA3NjA3Njg2MjA1ODc5In0=
            sortKey: created_at DESC, post_id ASC
          properties:
            hasNextPage:
              type: boolean
            endCursor:
              type: string
            totalCount:
              type: number
            sortKey:
              type: string
          required:
            - hasNextPage
          additionalProperties: false
      required:
        - posts
        - pageInfo
      additionalProperties: false
    NarrativesSearchRequestDto__schema0:
      anyOf:
        - type: object
          properties:
            bool:
              anyOf:
                - type: object
                  properties:
                    must:
                      type: array
                      items:
                        $ref: >-
                          #/components/schemas/NarrativesSearchRequestDto__schema0
                  required:
                    - must
                - type: object
                  properties:
                    should:
                      type: array
                      items:
                        $ref: >-
                          #/components/schemas/NarrativesSearchRequestDto__schema0
                  required:
                    - should
                - type: object
                  properties:
                    must_not:
                      type: array
                      items:
                        $ref: >-
                          #/components/schemas/NarrativesSearchRequestDto__schema0
                  required:
                    - must_not
          required:
            - bool
        - type: object
          properties:
            exists:
              type: object
              properties:
                field:
                  type: string
                  enum:
                    - narrative.compassHeadline
                    - narrative.compassOneSentence
                    - narrative.compassSummary
                    - narrative.executiveBriefing
                    - narrative.postCount
                    - narrative.title
                    - narrative.totalEngagement
                    - narrative.weightedRiskScore
                    - narrativeId
              required:
                - field
          required:
            - exists
        - type: object
          properties:
            term:
              type: object
              properties:
                narrative.compassHeadline:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                narrative.compassOneSentence:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                narrative.compassSummary:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                narrative.executiveBriefing:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                narrative.postCount:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                narrative.title:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                narrative.totalEngagement:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                narrative.weightedRiskScore:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                narrativeId:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
          required:
            - term
        - type: object
          properties:
            terms:
              type: object
              properties:
                narrative.compassHeadline:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                narrative.compassOneSentence:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                narrative.compassSummary:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                narrative.executiveBriefing:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                narrative.postCount:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                narrative.title:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                narrative.totalEngagement:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                narrative.weightedRiskScore:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                narrativeId:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
          required:
            - terms
        - type: object
          properties:
            wildcard:
              type: object
              properties:
                narrativeId:
                  type: object
                  properties:
                    value:
                      type: string
                  required:
                    - value
                narrative.title:
                  type: object
                  properties:
                    value:
                      type: string
                  required:
                    - value
                narrative.compassHeadline:
                  type: object
                  properties:
                    value:
                      type: string
                  required:
                    - value
                narrative.compassSummary:
                  type: object
                  properties:
                    value:
                      type: string
                  required:
                    - value
                narrative.compassOneSentence:
                  type: object
                  properties:
                    value:
                      type: string
                  required:
                    - value
                narrative.executiveBriefing:
                  type: object
                  properties:
                    value:
                      type: string
                  required:
                    - value
          required:
            - wildcard
        - type: object
          properties:
            range:
              type: object
              properties:
                narrative.postCount:
                  type: object
                  properties:
                    gte:
                      anyOf:
                        - type: number
                        - type: string
                    lte:
                      anyOf:
                        - type: number
                        - type: string
                    gt:
                      anyOf:
                        - type: number
                        - type: string
                    lt:
                      anyOf:
                        - type: number
                        - type: string
                narrative.totalEngagement:
                  type: object
                  properties:
                    gte:
                      anyOf:
                        - type: number
                        - type: string
                    lte:
                      anyOf:
                        - type: number
                        - type: string
                    gt:
                      anyOf:
                        - type: number
                        - type: string
                    lt:
                      anyOf:
                        - type: number
                        - type: string
                narrative.weightedRiskScore:
                  type: object
                  properties:
                    gte:
                      anyOf:
                        - type: number
                        - type: string
                    lte:
                      anyOf:
                        - type: number
                        - type: string
                    gt:
                      anyOf:
                        - type: number
                        - type: string
                    lt:
                      anyOf:
                        - type: number
                        - type: string
          required:
            - range
        - type: object
          properties:
            match:
              type: object
              properties:
                narrative.title:
                  anyOf:
                    - type: string
                    - type: object
                      properties:
                        query:
                          type: string
                      required:
                        - query
          required:
            - match
        - type: object
          properties:
            match_phrase:
              type: object
              properties:
                narrative.title:
                  type: object
                  properties:
                    query:
                      type: string
                  required:
                    - query
          required:
            - match_phrase
    NarrativesSearchRequestDto:
      type: object
      properties:
        query:
          description: >-
            A search query to filter on post criteria. Mirrors a subset of the
            Elasticsearch DSL filter syntax.
          $ref: '#/components/schemas/NarrativesSearchRequestDto__schema0'
        boolean:
          type: string
          description: >-
            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:
          type: array
          description: A list of fields to sort by.
          items:
            type: object
            properties:
              field:
                type: string
                minLength: 1
              direction:
                type: string
                enum:
                  - ASC
                  - DESC
            required:
              - field
              - direction
        page:
          type: object
          description: Pagination information.
          default:
            first: 50
          properties:
            first:
              default: 50
              type: integer
              minimum: 1
              maximum: 200
            after:
              type: string
    NarrativesCollection_Output:
      type: object
      properties:
        narratives:
          type: array
          items:
            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'
            type: object
            properties:
              compassHeadline:
                description: Compass-generated headline for the narrative.
                type: string
              compassLabel:
                description: Compass-assigned label for the narrative.
                type: string
              compassOneSentence:
                description: Compass-generated one-sentence summary.
                type: string
              compassSummary:
                description: Compass-generated summary of the narrative.
                type: string
              dailyHistogram:
                description: Daily histogram.
                type: array
                items:
                  type: object
                  properties:
                    timestamp:
                      type: string
                    count:
                      type: number
                  required:
                    - timestamp
                    - count
                  additionalProperties: false
              executiveBriefing:
                description: Executive briefing text for the narrative.
                type: string
              hourlyHistogram:
                description: Hourly histogram.
                type: array
                items:
                  type: object
                  properties:
                    timestamp:
                      type: string
                    count:
                      type: number
                  required:
                    - timestamp
                    - count
                  additionalProperties: false
              postCount:
                description: Total number of posts in the narrative.
                type: number
              title:
                description: Title of the narrative the post belongs to.
                type: string
              totalEngagement:
                description: Total engagement across all posts in the narrative.
                type: number
              uniqueAuthors:
                description: Count of unique authors in the narrative.
                type: number
              weightedRiskScore:
                description: Weighted risk score for the narrative.
                type: number
              narrativeId:
                description: The unique identifier for the narrative.
                type: string
            additionalProperties: false
        pageInfo:
          type: object
          example:
            hasNextPage: true
            endCursor: >-
              eyJjcmVhdGVkQXQiOiIyMDI1LTA4LTI3VDAxOjAwOjEyLjAwMFoiLCJwb3N0SWQiOiIxOTYwNTA3NjA3Njg2MjA1ODc5In0=
            sortKey: created_at DESC, post_id ASC
          properties:
            hasNextPage:
              type: boolean
            endCursor:
              type: string
            totalCount:
              type: number
            sortKey:
              type: string
          required:
            - hasNextPage
          additionalProperties: false
      required:
        - narratives
        - pageInfo
      additionalProperties: false
    AuthorsSearchRequestDto__schema0:
      anyOf:
        - type: object
          properties:
            bool:
              anyOf:
                - type: object
                  properties:
                    must:
                      type: array
                      items:
                        $ref: '#/components/schemas/AuthorsSearchRequestDto__schema0'
                  required:
                    - must
                - type: object
                  properties:
                    should:
                      type: array
                      items:
                        $ref: '#/components/schemas/AuthorsSearchRequestDto__schema0'
                  required:
                    - should
                - type: object
                  properties:
                    must_not:
                      type: array
                      items:
                        $ref: '#/components/schemas/AuthorsSearchRequestDto__schema0'
                  required:
                    - must_not
          required:
            - bool
        - type: object
          properties:
            exists:
              type: object
              properties:
                field:
                  type: string
                  enum:
                    - postId
                    - authorId
                    - parentId
                    - narrativeId
                    - createdAt
                    - platform
                    - lang
                    - cluster
                    - text
                    - title
                    - body
                    - engagement.likes
                    - engagement.score
                    - engagement.total
                    - emotion.anger
                    - emotion.fear
                    - toxicity.toxic
                    - author.username
                    - author.displayName
                    - author.description
                    - author.verified
                    - author.followers
                    - author.following
                    - author.postCount
                    - narrative.title
                    - narrative.postCount
                    - narrative.totalEngagement
                    - narrative.weightedRiskScore
                    - narrative.compassHeadline
                    - narrative.compassSummary
                    - narrative.compassOneSentence
                    - narrative.executiveBriefing
                    - allPostText
                    - allAuthorText
                    - allNarrativeText
              required:
                - field
          required:
            - exists
        - type: object
          properties:
            term:
              type: object
              properties:
                postId:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                authorId:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                parentId:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                narrativeId:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                createdAt:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                platform:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                lang:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                cluster:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                text:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                title:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                body:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                engagement.likes:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                engagement.score:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                engagement.total:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                emotion.anger:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                emotion.fear:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                toxicity.toxic:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                author.username:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                author.displayName:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                author.description:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                author.verified:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                author.followers:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                author.following:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                author.postCount:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                narrative.title:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                narrative.postCount:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                narrative.totalEngagement:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                narrative.weightedRiskScore:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                narrative.compassHeadline:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                narrative.compassSummary:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                narrative.compassOneSentence:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                narrative.executiveBriefing:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                allPostText:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                allAuthorText:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                allNarrativeText:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
          required:
            - term
        - type: object
          properties:
            terms:
              type: object
              properties:
                postId:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                authorId:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                parentId:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                narrativeId:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                createdAt:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                platform:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                lang:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                cluster:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                text:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                title:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                body:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                engagement.likes:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                engagement.score:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                engagement.total:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                emotion.anger:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                emotion.fear:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                toxicity.toxic:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                author.username:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                author.displayName:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                author.description:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                author.verified:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                author.followers:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                author.following:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                author.postCount:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                narrative.title:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                narrative.postCount:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                narrative.totalEngagement:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                narrative.weightedRiskScore:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                narrative.compassHeadline:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                narrative.compassSummary:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                narrative.compassOneSentence:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                narrative.executiveBriefing:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                allPostText:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                allAuthorText:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                allNarrativeText:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
          required:
            - terms
        - type: object
          properties:
            wildcard:
              type: object
              properties:
                postId:
                  type: object
                  properties:
                    value:
                      type: string
                  required:
                    - value
                authorId:
                  type: object
                  properties:
                    value:
                      type: string
                  required:
                    - value
                parentId:
                  type: object
                  properties:
                    value:
                      type: string
                  required:
                    - value
                narrativeId:
                  type: object
                  properties:
                    value:
                      type: string
                  required:
                    - value
                platform:
                  type: object
                  properties:
                    value:
                      type: string
                  required:
                    - value
                lang:
                  type: object
                  properties:
                    value:
                      type: string
                  required:
                    - value
                cluster:
                  type: object
                  properties:
                    value:
                      type: string
                  required:
                    - value
                text:
                  type: object
                  properties:
                    value:
                      type: string
                  required:
                    - value
                title:
                  type: object
                  properties:
                    value:
                      type: string
                  required:
                    - value
                body:
                  type: object
                  properties:
                    value:
                      type: string
                  required:
                    - value
                author.username:
                  type: object
                  properties:
                    value:
                      type: string
                  required:
                    - value
                author.displayName:
                  type: object
                  properties:
                    value:
                      type: string
                  required:
                    - value
                author.description:
                  type: object
                  properties:
                    value:
                      type: string
                  required:
                    - value
                narrative.title:
                  type: object
                  properties:
                    value:
                      type: string
                  required:
                    - value
                narrative.compassHeadline:
                  type: object
                  properties:
                    value:
                      type: string
                  required:
                    - value
                narrative.compassSummary:
                  type: object
                  properties:
                    value:
                      type: string
                  required:
                    - value
                narrative.compassOneSentence:
                  type: object
                  properties:
                    value:
                      type: string
                  required:
                    - value
                narrative.executiveBriefing:
                  type: object
                  properties:
                    value:
                      type: string
                  required:
                    - value
          required:
            - wildcard
        - type: object
          properties:
            range:
              type: object
              properties:
                engagement.likes:
                  type: object
                  properties:
                    gte:
                      anyOf:
                        - type: number
                        - type: string
                    lte:
                      anyOf:
                        - type: number
                        - type: string
                    gt:
                      anyOf:
                        - type: number
                        - type: string
                    lt:
                      anyOf:
                        - type: number
                        - type: string
                engagement.score:
                  type: object
                  properties:
                    gte:
                      anyOf:
                        - type: number
                        - type: string
                    lte:
                      anyOf:
                        - type: number
                        - type: string
                    gt:
                      anyOf:
                        - type: number
                        - type: string
                    lt:
                      anyOf:
                        - type: number
                        - type: string
                engagement.total:
                  type: object
                  properties:
                    gte:
                      anyOf:
                        - type: number
                        - type: string
                    lte:
                      anyOf:
                        - type: number
                        - type: string
                    gt:
                      anyOf:
                        - type: number
                        - type: string
                    lt:
                      anyOf:
                        - type: number
                        - type: string
                emotion.anger:
                  type: object
                  properties:
                    gte:
                      anyOf:
                        - type: number
                        - type: string
                    lte:
                      anyOf:
                        - type: number
                        - type: string
                    gt:
                      anyOf:
                        - type: number
                        - type: string
                    lt:
                      anyOf:
                        - type: number
                        - type: string
                emotion.fear:
                  type: object
                  properties:
                    gte:
                      anyOf:
                        - type: number
                        - type: string
                    lte:
                      anyOf:
                        - type: number
                        - type: string
                    gt:
                      anyOf:
                        - type: number
                        - type: string
                    lt:
                      anyOf:
                        - type: number
                        - type: string
                toxicity.toxic:
                  type: object
                  properties:
                    gte:
                      anyOf:
                        - type: number
                        - type: string
                    lte:
                      anyOf:
                        - type: number
                        - type: string
                    gt:
                      anyOf:
                        - type: number
                        - type: string
                    lt:
                      anyOf:
                        - type: number
                        - type: string
                author.followers:
                  type: object
                  properties:
                    gte:
                      anyOf:
                        - type: number
                        - type: string
                    lte:
                      anyOf:
                        - type: number
                        - type: string
                    gt:
                      anyOf:
                        - type: number
                        - type: string
                    lt:
                      anyOf:
                        - type: number
                        - type: string
                author.following:
                  type: object
                  properties:
                    gte:
                      anyOf:
                        - type: number
                        - type: string
                    lte:
                      anyOf:
                        - type: number
                        - type: string
                    gt:
                      anyOf:
                        - type: number
                        - type: string
                    lt:
                      anyOf:
                        - type: number
                        - type: string
                author.postCount:
                  type: object
                  properties:
                    gte:
                      anyOf:
                        - type: number
                        - type: string
                    lte:
                      anyOf:
                        - type: number
                        - type: string
                    gt:
                      anyOf:
                        - type: number
                        - type: string
                    lt:
                      anyOf:
                        - type: number
                        - type: string
                narrative.postCount:
                  type: object
                  properties:
                    gte:
                      anyOf:
                        - type: number
                        - type: string
                    lte:
                      anyOf:
                        - type: number
                        - type: string
                    gt:
                      anyOf:
                        - type: number
                        - type: string
                    lt:
                      anyOf:
                        - type: number
                        - type: string
                narrative.totalEngagement:
                  type: object
                  properties:
                    gte:
                      anyOf:
                        - type: number
                        - type: string
                    lte:
                      anyOf:
                        - type: number
                        - type: string
                    gt:
                      anyOf:
                        - type: number
                        - type: string
                    lt:
                      anyOf:
                        - type: number
                        - type: string
                narrative.weightedRiskScore:
                  type: object
                  properties:
                    gte:
                      anyOf:
                        - type: number
                        - type: string
                    lte:
                      anyOf:
                        - type: number
                        - type: string
                    gt:
                      anyOf:
                        - type: number
                        - type: string
                    lt:
                      anyOf:
                        - type: number
                        - type: string
                createdAt:
                  type: object
                  properties:
                    gte:
                      anyOf:
                        - type: number
                        - type: string
                    lte:
                      anyOf:
                        - type: number
                        - type: string
                    gt:
                      anyOf:
                        - type: number
                        - type: string
                    lt:
                      anyOf:
                        - type: number
                        - type: string
          required:
            - range
        - type: object
          properties:
            match:
              type: object
              properties:
                text:
                  type: object
                  properties:
                    query:
                      type: string
                  required:
                    - query
                title:
                  type: object
                  properties:
                    query:
                      type: string
                  required:
                    - query
                body:
                  type: object
                  properties:
                    query:
                      type: string
                  required:
                    - query
                author.description:
                  type: object
                  properties:
                    query:
                      type: string
                  required:
                    - query
                narrative.title:
                  type: object
                  properties:
                    query:
                      type: string
                  required:
                    - query
                allPostText:
                  type: object
                  properties:
                    query:
                      type: string
                  required:
                    - query
                allAuthorText:
                  type: object
                  properties:
                    query:
                      type: string
                  required:
                    - query
                allNarrativeText:
                  type: object
                  properties:
                    query:
                      type: string
                  required:
                    - query
          required:
            - match
        - type: object
          properties:
            match_phrase:
              type: object
              properties:
                text:
                  type: object
                  properties:
                    query:
                      type: string
                  required:
                    - query
                title:
                  type: object
                  properties:
                    query:
                      type: string
                  required:
                    - query
                body:
                  type: object
                  properties:
                    query:
                      type: string
                  required:
                    - query
                author.description:
                  type: object
                  properties:
                    query:
                      type: string
                  required:
                    - query
                narrative.title:
                  type: object
                  properties:
                    query:
                      type: string
                  required:
                    - query
                allPostText:
                  type: object
                  properties:
                    query:
                      type: string
                  required:
                    - query
                allAuthorText:
                  type: object
                  properties:
                    query:
                      type: string
                  required:
                    - query
                allNarrativeText:
                  type: object
                  properties:
                    query:
                      type: string
                  required:
                    - query
          required:
            - match_phrase
    ClustersSearchRequestDto__schema0:
      anyOf:
        - type: object
          properties:
            bool:
              anyOf:
                - type: object
                  properties:
                    must:
                      type: array
                      items:
                        $ref: '#/components/schemas/ClustersSearchRequestDto__schema0'
                  required:
                    - must
                - type: object
                  properties:
                    should:
                      type: array
                      items:
                        $ref: '#/components/schemas/ClustersSearchRequestDto__schema0'
                  required:
                    - should
                - type: object
                  properties:
                    must_not:
                      type: array
                      items:
                        $ref: '#/components/schemas/ClustersSearchRequestDto__schema0'
                  required:
                    - must_not
          required:
            - bool
        - type: object
          properties:
            exists:
              type: object
              properties:
                field:
                  type: string
                  enum:
                    - postId
                    - authorId
                    - parentId
                    - narrativeId
                    - createdAt
                    - platform
                    - lang
                    - cluster
                    - text
                    - title
                    - body
                    - engagement.likes
                    - engagement.score
                    - engagement.total
                    - emotion.anger
                    - emotion.fear
                    - toxicity.toxic
                    - author.username
                    - author.displayName
                    - author.description
                    - author.verified
                    - author.followers
                    - author.following
                    - author.postCount
                    - narrative.title
                    - narrative.postCount
                    - narrative.totalEngagement
                    - narrative.weightedRiskScore
                    - narrative.compassHeadline
                    - narrative.compassSummary
                    - narrative.compassOneSentence
                    - narrative.executiveBriefing
                    - allPostText
                    - allAuthorText
                    - allNarrativeText
              required:
                - field
          required:
            - exists
        - type: object
          properties:
            term:
              type: object
              properties:
                postId:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                authorId:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                parentId:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                narrativeId:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                createdAt:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                platform:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                lang:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                cluster:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                text:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                title:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                body:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                engagement.likes:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                engagement.score:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                engagement.total:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                emotion.anger:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                emotion.fear:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                toxicity.toxic:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                author.username:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                author.displayName:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                author.description:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                author.verified:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                author.followers:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                author.following:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                author.postCount:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                narrative.title:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                narrative.postCount:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                narrative.totalEngagement:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                narrative.weightedRiskScore:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                narrative.compassHeadline:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                narrative.compassSummary:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                narrative.compassOneSentence:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                narrative.executiveBriefing:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                allPostText:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                allAuthorText:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                allNarrativeText:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
          required:
            - term
        - type: object
          properties:
            terms:
              type: object
              properties:
                postId:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                authorId:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                parentId:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                narrativeId:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                createdAt:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                platform:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                lang:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                cluster:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                text:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                title:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                body:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                engagement.likes:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                engagement.score:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                engagement.total:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                emotion.anger:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                emotion.fear:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                toxicity.toxic:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                author.username:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                author.displayName:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                author.description:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                author.verified:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                author.followers:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                author.following:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                author.postCount:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                narrative.title:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                narrative.postCount:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                narrative.totalEngagement:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                narrative.weightedRiskScore:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                narrative.compassHeadline:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                narrative.compassSummary:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                narrative.compassOneSentence:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                narrative.executiveBriefing:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                allPostText:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                allAuthorText:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                allNarrativeText:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
          required:
            - terms
        - type: object
          properties:
            wildcard:
              type: object
              properties:
                postId:
                  type: object
                  properties:
                    value:
                      type: string
                  required:
                    - value
                authorId:
                  type: object
                  properties:
                    value:
                      type: string
                  required:
                    - value
                parentId:
                  type: object
                  properties:
                    value:
                      type: string
                  required:
                    - value
                narrativeId:
                  type: object
                  properties:
                    value:
                      type: string
                  required:
                    - value
                platform:
                  type: object
                  properties:
                    value:
                      type: string
                  required:
                    - value
                lang:
                  type: object
                  properties:
                    value:
                      type: string
                  required:
                    - value
                cluster:
                  type: object
                  properties:
                    value:
                      type: string
                  required:
                    - value
                text:
                  type: object
                  properties:
                    value:
                      type: string
                  required:
                    - value
                title:
                  type: object
                  properties:
                    value:
                      type: string
                  required:
                    - value
                body:
                  type: object
                  properties:
                    value:
                      type: string
                  required:
                    - value
                author.username:
                  type: object
                  properties:
                    value:
                      type: string
                  required:
                    - value
                author.displayName:
                  type: object
                  properties:
                    value:
                      type: string
                  required:
                    - value
                author.description:
                  type: object
                  properties:
                    value:
                      type: string
                  required:
                    - value
                narrative.title:
                  type: object
                  properties:
                    value:
                      type: string
                  required:
                    - value
                narrative.compassHeadline:
                  type: object
                  properties:
                    value:
                      type: string
                  required:
                    - value
                narrative.compassSummary:
                  type: object
                  properties:
                    value:
                      type: string
                  required:
                    - value
                narrative.compassOneSentence:
                  type: object
                  properties:
                    value:
                      type: string
                  required:
                    - value
                narrative.executiveBriefing:
                  type: object
                  properties:
                    value:
                      type: string
                  required:
                    - value
          required:
            - wildcard
        - type: object
          properties:
            range:
              type: object
              properties:
                engagement.likes:
                  type: object
                  properties:
                    gte:
                      anyOf:
                        - type: number
                        - type: string
                    lte:
                      anyOf:
                        - type: number
                        - type: string
                    gt:
                      anyOf:
                        - type: number
                        - type: string
                    lt:
                      anyOf:
                        - type: number
                        - type: string
                engagement.score:
                  type: object
                  properties:
                    gte:
                      anyOf:
                        - type: number
                        - type: string
                    lte:
                      anyOf:
                        - type: number
                        - type: string
                    gt:
                      anyOf:
                        - type: number
                        - type: string
                    lt:
                      anyOf:
                        - type: number
                        - type: string
                engagement.total:
                  type: object
                  properties:
                    gte:
                      anyOf:
                        - type: number
                        - type: string
                    lte:
                      anyOf:
                        - type: number
                        - type: string
                    gt:
                      anyOf:
                        - type: number
                        - type: string
                    lt:
                      anyOf:
                        - type: number
                        - type: string
                emotion.anger:
                  type: object
                  properties:
                    gte:
                      anyOf:
                        - type: number
                        - type: string
                    lte:
                      anyOf:
                        - type: number
                        - type: string
                    gt:
                      anyOf:
                        - type: number
                        - type: string
                    lt:
                      anyOf:
                        - type: number
                        - type: string
                emotion.fear:
                  type: object
                  properties:
                    gte:
                      anyOf:
                        - type: number
                        - type: string
                    lte:
                      anyOf:
                        - type: number
                        - type: string
                    gt:
                      anyOf:
                        - type: number
                        - type: string
                    lt:
                      anyOf:
                        - type: number
                        - type: string
                toxicity.toxic:
                  type: object
                  properties:
                    gte:
                      anyOf:
                        - type: number
                        - type: string
                    lte:
                      anyOf:
                        - type: number
                        - type: string
                    gt:
                      anyOf:
                        - type: number
                        - type: string
                    lt:
                      anyOf:
                        - type: number
                        - type: string
                author.followers:
                  type: object
                  properties:
                    gte:
                      anyOf:
                        - type: number
                        - type: string
                    lte:
                      anyOf:
                        - type: number
                        - type: string
                    gt:
                      anyOf:
                        - type: number
                        - type: string
                    lt:
                      anyOf:
                        - type: number
                        - type: string
                author.following:
                  type: object
                  properties:
                    gte:
                      anyOf:
                        - type: number
                        - type: string
                    lte:
                      anyOf:
                        - type: number
                        - type: string
                    gt:
                      anyOf:
                        - type: number
                        - type: string
                    lt:
                      anyOf:
                        - type: number
                        - type: string
                author.postCount:
                  type: object
                  properties:
                    gte:
                      anyOf:
                        - type: number
                        - type: string
                    lte:
                      anyOf:
                        - type: number
                        - type: string
                    gt:
                      anyOf:
                        - type: number
                        - type: string
                    lt:
                      anyOf:
                        - type: number
                        - type: string
                narrative.postCount:
                  type: object
                  properties:
                    gte:
                      anyOf:
                        - type: number
                        - type: string
                    lte:
                      anyOf:
                        - type: number
                        - type: string
                    gt:
                      anyOf:
                        - type: number
                        - type: string
                    lt:
                      anyOf:
                        - type: number
                        - type: string
                narrative.totalEngagement:
                  type: object
                  properties:
                    gte:
                      anyOf:
                        - type: number
                        - type: string
                    lte:
                      anyOf:
                        - type: number
                        - type: string
                    gt:
                      anyOf:
                        - type: number
                        - type: string
                    lt:
                      anyOf:
                        - type: number
                        - type: string
                narrative.weightedRiskScore:
                  type: object
                  properties:
                    gte:
                      anyOf:
                        - type: number
                        - type: string
                    lte:
                      anyOf:
                        - type: number
                        - type: string
                    gt:
                      anyOf:
                        - type: number
                        - type: string
                    lt:
                      anyOf:
                        - type: number
                        - type: string
                createdAt:
                  type: object
                  properties:
                    gte:
                      anyOf:
                        - type: number
                        - type: string
                    lte:
                      anyOf:
                        - type: number
                        - type: string
                    gt:
                      anyOf:
                        - type: number
                        - type: string
                    lt:
                      anyOf:
                        - type: number
                        - type: string
          required:
            - range
        - type: object
          properties:
            match:
              type: object
              properties:
                text:
                  type: object
                  properties:
                    query:
                      type: string
                  required:
                    - query
                title:
                  type: object
                  properties:
                    query:
                      type: string
                  required:
                    - query
                body:
                  type: object
                  properties:
                    query:
                      type: string
                  required:
                    - query
                author.description:
                  type: object
                  properties:
                    query:
                      type: string
                  required:
                    - query
                narrative.title:
                  type: object
                  properties:
                    query:
                      type: string
                  required:
                    - query
                allPostText:
                  type: object
                  properties:
                    query:
                      type: string
                  required:
                    - query
                allAuthorText:
                  type: object
                  properties:
                    query:
                      type: string
                  required:
                    - query
                allNarrativeText:
                  type: object
                  properties:
                    query:
                      type: string
                  required:
                    - query
          required:
            - match
        - type: object
          properties:
            match_phrase:
              type: object
              properties:
                text:
                  type: object
                  properties:
                    query:
                      type: string
                  required:
                    - query
                title:
                  type: object
                  properties:
                    query:
                      type: string
                  required:
                    - query
                body:
                  type: object
                  properties:
                    query:
                      type: string
                  required:
                    - query
                author.description:
                  type: object
                  properties:
                    query:
                      type: string
                  required:
                    - query
                narrative.title:
                  type: object
                  properties:
                    query:
                      type: string
                  required:
                    - query
                allPostText:
                  type: object
                  properties:
                    query:
                      type: string
                  required:
                    - query
                allAuthorText:
                  type: object
                  properties:
                    query:
                      type: string
                  required:
                    - query
                allNarrativeText:
                  type: object
                  properties:
                    query:
                      type: string
                  required:
                    - query
          required:
            - match_phrase
    GetEntitiesAggregationsRequest__schema0:
      anyOf:
        - type: object
          properties:
            bool:
              anyOf:
                - type: object
                  properties:
                    must:
                      type: array
                      items:
                        $ref: >-
                          #/components/schemas/GetEntitiesAggregationsRequest__schema0
                  required:
                    - must
                - type: object
                  properties:
                    should:
                      type: array
                      items:
                        $ref: >-
                          #/components/schemas/GetEntitiesAggregationsRequest__schema0
                  required:
                    - should
                - type: object
                  properties:
                    must_not:
                      type: array
                      items:
                        $ref: >-
                          #/components/schemas/GetEntitiesAggregationsRequest__schema0
                  required:
                    - must_not
          required:
            - bool
        - type: object
          properties:
            exists:
              type: object
              properties:
                field:
                  type: string
                  enum:
                    - allAuthorText
                    - allNarrativeText
                    - allPostText
                    - author.username
                    - authorId
                    - body
                    - cluster
                    - createdAt
                    - emotion.anger
                    - emotion.fear
                    - engagement.likes
                    - engagement.score
                    - engagement.total
                    - lang
                    - narrativeId
                    - parentId
                    - platform
                    - postId
                    - text
                    - title
                    - toxicity.toxic
              required:
                - field
          required:
            - exists
        - type: object
          properties:
            term:
              type: object
              properties:
                allAuthorText:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                allNarrativeText:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                allPostText:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                author.username:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                authorId:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                body:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                cluster:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                createdAt:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                emotion.anger:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                emotion.fear:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                engagement.likes:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                engagement.score:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                engagement.total:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                lang:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                narrativeId:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                parentId:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                platform:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                postId:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                text:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                title:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                toxicity.toxic:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
          required:
            - term
        - type: object
          properties:
            terms:
              type: object
              properties:
                allAuthorText:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                allNarrativeText:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                allPostText:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                author.username:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                authorId:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                body:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                cluster:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                createdAt:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                emotion.anger:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                emotion.fear:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                engagement.likes:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                engagement.score:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                engagement.total:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                lang:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                narrativeId:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                parentId:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                platform:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                postId:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                text:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                title:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                toxicity.toxic:
                  type: array
                  items:
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
          required:
            - terms
        - type: object
          properties:
            wildcard:
              type: object
              properties:
                postId:
                  type: object
                  properties:
                    value:
                      type: string
                  required:
                    - value
                authorId:
                  type: object
                  properties:
                    value:
                      type: string
                  required:
                    - value
                parentId:
                  type: object
                  properties:
                    value:
                      type: string
                  required:
                    - value
                narrativeId:
                  type: object
                  properties:
                    value:
                      type: string
                  required:
                    - value
                platform:
                  type: object
                  properties:
                    value:
                      type: string
                  required:
                    - value
                lang:
                  type: object
                  properties:
                    value:
                      type: string
                  required:
                    - value
                cluster:
                  type: object
                  properties:
                    value:
                      type: string
                  required:
                    - value
                text:
                  type: object
                  properties:
                    value:
                      type: string
                  required:
                    - value
                title:
                  type: object
                  properties:
                    value:
                      type: string
                  required:
                    - value
                body:
                  type: object
                  properties:
                    value:
                      type: string
                  required:
                    - value
                author.username:
                  type: object
                  properties:
                    value:
                      type: string
                  required:
                    - value
                allPostText:
                  type: object
                  properties:
                    value:
                      type: string
                  required:
                    - value
                allAuthorText:
                  type: object
                  properties:
                    value:
                      type: string
                  required:
                    - value
                allNarrativeText:
                  type: object
                  properties:
                    value:
                      type: string
                  required:
                    - value
          required:
            - wildcard
        - type: object
          properties:
            range:
              type: object
              properties:
                engagement.likes:
                  type: object
                  properties:
                    gte:
                      anyOf:
                        - type: number
                        - type: string
                    lte:
                      anyOf:
                        - type: number
                        - type: string
                    gt:
                      anyOf:
                        - type: number
                        - type: string
                    lt:
                      anyOf:
                        - type: number
                        - type: string
                engagement.score:
                  type: object
                  properties:
                    gte:
                      anyOf:
                        - type: number
                        - type: string
                    lte:
                      anyOf:
                        - type: number
                        - type: string
                    gt:
                      anyOf:
                        - type: number
                        - type: string
                    lt:
                      anyOf:
                        - type: number
                        - type: string
                engagement.total:
                  type: object
                  properties:
                    gte:
                      anyOf:
                        - type: number
                        - type: string
                    lte:
                      anyOf:
                        - type: number
                        - type: string
                    gt:
                      anyOf:
                        - type: number
                        - type: string
                    lt:
                      anyOf:
                        - type: number
                        - type: string
                emotion.anger:
                  type: object
                  properties:
                    gte:
                      anyOf:
                        - type: number
                        - type: string
                    lte:
                      anyOf:
                        - type: number
                        - type: string
                    gt:
                      anyOf:
                        - type: number
                        - type: string
                    lt:
                      anyOf:
                        - type: number
                        - type: string
                emotion.fear:
                  type: object
                  properties:
                    gte:
                      anyOf:
                        - type: number
                        - type: string
                    lte:
                      anyOf:
                        - type: number
                        - type: string
                    gt:
                      anyOf:
                        - type: number
                        - type: string
                    lt:
                      anyOf:
                        - type: number
                        - type: string
                toxicity.toxic:
                  type: object
                  properties:
                    gte:
                      anyOf:
                        - type: number
                        - type: string
                    lte:
                      anyOf:
                        - type: number
                        - type: string
                    gt:
                      anyOf:
                        - type: number
                        - type: string
                    lt:
                      anyOf:
                        - type: number
                        - type: string
                createdAt:
                  type: object
                  properties:
                    gte:
                      anyOf:
                        - type: number
                        - type: string
                    lte:
                      anyOf:
                        - type: number
                        - type: string
                    gt:
                      anyOf:
                        - type: number
                        - type: string
                    lt:
                      anyOf:
                        - type: number
                        - type: string
          required:
            - range
        - type: object
          properties:
            match:
              type: object
              properties:
                text:
                  anyOf:
                    - type: string
                    - type: object
                      properties:
                        query:
                          type: string
                      required:
                        - query
                title:
                  anyOf:
                    - type: string
                    - type: object
                      properties:
                        query:
                          type: string
                      required:
                        - query
                body:
                  anyOf:
                    - type: string
                    - type: object
                      properties:
                        query:
                          type: string
                      required:
                        - query
                allPostText:
                  anyOf:
                    - type: string
                    - type: object
                      properties:
                        query:
                          type: string
                      required:
                        - query
                allAuthorText:
                  anyOf:
                    - type: string
                    - type: object
                      properties:
                        query:
                          type: string
                      required:
                        - query
                allNarrativeText:
                  anyOf:
                    - type: string
                    - type: object
                      properties:
                        query:
                          type: string
                      required:
                        - query
          required:
            - match
        - type: object
          properties:
            match_phrase:
              type: object
              properties:
                text:
                  type: object
                  properties:
                    query:
                      type: string
                  required:
                    - query
                title:
                  type: object
                  properties:
                    query:
                      type: string
                  required:
                    - query
                body:
                  type: object
                  properties:
                    query:
                      type: string
                  required:
                    - query
                allPostText:
                  type: object
                  properties:
                    query:
                      type: string
                  required:
                    - query
                allAuthorText:
                  type: object
                  properties:
                    query:
                      type: string
                  required:
                    - query
                allNarrativeText:
                  type: object
                  properties:
                    query:
                      type: string
                  required:
                    - query
          required:
            - match_phrase
