Gleap Engagement News API

The Engagement News API from Gleap — 2 operation(s) for engagement news.

OpenAPI Specification

gleap-engagement-news-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Gleap AI content Engagement News API
  version: 14.0.0
  contact:
    name: Gleap Support
    email: hello@gleap.io
    url: https://gleap.io
  description: The Gleap REST API provides programmatic access to feedback tickets, user identification, event tracking, help center content, outbound messaging, sessions, contacts, and AI-powered support workflows. The API uses Bearer token authentication and supports filtering, pagination, and webhook integrations.
  license:
    name: Proprietary
servers:
- url: https://api.gleap.io/v3
tags:
- name: Engagement News
paths:
  /engagement/news:
    post:
      operationId: CreateNewsArticle
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OutboundDocument'
      summary: Create a new engagement news article
      tags:
      - Engagement News
      security:
      - jwt: []
      parameters:
      - in: header
        name: project
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema: {}
    get:
      operationId: GetNewsArticles
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/OutboundDocument'
                type: array
      summary: Get all engagement news articles
      tags:
      - Engagement News
      security:
      - jwt: []
      parameters:
      - in: header
        name: project
        required: true
        schema:
          type: string
      - in: query
        name: withoutChangelogs
        required: false
        schema:
          type: string
  /engagement/news/{newsId}:
    get:
      operationId: GetNewsArticle
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OutboundDocument'
      summary: Get an engagement news article
      tags:
      - Engagement News
      security:
      - jwt: []
      parameters:
      - in: path
        name: newsId
        required: true
        schema:
          type: string
      - in: header
        name: project
        required: true
        schema:
          type: string
    put:
      operationId: UpdateNewsArticle
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                allOf:
                - properties:
                    searchContent:
                      type: string
                    emailTemplate:
                      properties:
                        isValid:
                          properties: {}
                          type: object
                        createFromHexString:
                          properties: {}
                          type: object
                        createFromTime:
                          properties: {}
                          type: object
                        generate:
                          properties: {}
                          type: object
                        cacheHexString: {}
                        prototype:
                          $ref: '#/components/schemas/ObjectId'
                      type: object
                    sourceOutbound:
                      properties:
                        isValid:
                          properties: {}
                          type: object
                        createFromHexString:
                          properties: {}
                          type: object
                        createFromTime:
                          properties: {}
                          type: object
                        generate:
                          properties: {}
                          type: object
                        cacheHexString: {}
                        prototype:
                          $ref: '#/components/schemas/ObjectId'
                      type: object
                    trigger: {}
                    pageFilterDelay:
                      type: number
                      format: double
                    pageFilter:
                      type: string
                    eventTriggerDelay:
                      type: number
                      format: double
                    eventTrigger:
                      type: string
                    actionType:
                      type: string
                    sentAt:
                      type: string
                      format: date-time
                    stats: {}
                    subject: {}
                    coverImageUrl:
                      type: string
                    subType:
                      type: string
                    sender:
                      properties:
                        isValid:
                          properties: {}
                          type: object
                        createFromHexString:
                          properties: {}
                          type: object
                        createFromTime:
                          properties: {}
                          type: object
                        generate:
                          properties: {}
                          type: object
                        cacheHexString: {}
                        prototype:
                          $ref: '#/components/schemas/ObjectId'
                      type: object
                    project:
                      properties:
                        isValid:
                          properties: {}
                          type: object
                        createFromHexString:
                          properties: {}
                          type: object
                        createFromTime:
                          properties: {}
                          type: object
                        generate:
                          properties: {}
                          type: object
                        cacheHexString: {}
                        prototype:
                          $ref: '#/components/schemas/ObjectId'
                      type: object
                    data: {}
                    conditions: {}
                    config: {}
                    message: {}
                    aiSummaryOutdated:
                      type: boolean
                    aiSummary:
                      type: string
                    organisation:
                      properties:
                        isValid:
                          properties: {}
                          type: object
                        createFromHexString:
                          properties: {}
                          type: object
                        createFromTime:
                          properties: {}
                          type: object
                        generate:
                          properties: {}
                          type: object
                        cacheHexString: {}
                        prototype:
                          $ref: '#/components/schemas/ObjectId'
                      type: object
                    createdBy:
                      properties:
                        isValid:
                          properties: {}
                          type: object
                        createFromHexString:
                          properties: {}
                          type: object
                        createFromTime:
                          properties: {}
                          type: object
                        generate:
                          properties: {}
                          type: object
                        cacheHexString: {}
                        prototype:
                          $ref: '#/components/schemas/ObjectId'
                      type: object
                    startSendingAfter:
                      type: string
                      format: date-time
                    stopSendingAfter:
                      type: string
                      format: date-time
                    pageRules:
                      items:
                        properties:
                          pageFilter:
                            type: string
                          pageFilterType:
                            type: string
                            enum:
                            - is
                            - contains
                            - isnot
                            - notcontains
                            - startswith
                            - endswith
                            - empty
                            - notempty
                        required:
                        - pageFilterType
                        type: object
                      type: array
                    pageFilterType:
                      type: string
                      enum:
                      - is
                      - contains
                      - isnot
                      - notcontains
                      - startswith
                      - endswith
                      - empty
                      - notempty
                    frequencyDays:
                      type: number
                      format: double
                    frequency:
                      type: string
                    frequencyType:
                      type: string
                    format:
                      type: string
                    sent:
                      type: boolean
                    sound:
                      type: boolean
                    newTrigger:
                      type: boolean
                    tags:
                      items:
                        type: string
                      type: array
                    updatedAt:
                      type: string
                      format: date-time
                    status:
                      type: string
                    targetAudience:
                      type: string
                    createdAt:
                      type: string
                      format: date-time
                    hidden:
                      type: boolean
                    name:
                      type: string
                    type:
                      type: string
                  required:
                  - startSendingAfter
                  - stopSendingAfter
                  - pageRules
                  - pageFilterType
                  - frequencyDays
                  - frequency
                  - frequencyType
                  - format
                  - sent
                  - sound
                  - newTrigger
                  - tags
                  - updatedAt
                  - status
                  - targetAudience
                  - createdAt
                  - hidden
                  - name
                  - type
                  type: object
                - $ref: '#/components/schemas/Document_any.any.any_'
                - properties:
                    _id:
                      $ref: '#/components/schemas/ObjectId'
                  required:
                  - _id
                  type: object
      summary: Update a news article.
      tags:
      - Engagement News
      security:
      - jwt: []
      parameters:
      - in: path
        name: newsId
        required: true
        schema:
          type: string
      - in: header
        name: project
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema: {}
    delete:
      operationId: DeleteNewsArticle
      responses:
        '204':
          description: No content
      summary: Delete a news article.
      tags:
      - Engagement News
      security:
      - jwt: []
      parameters:
      - in: path
        name: newsId
        required: true
        schema:
          type: string
      - in: header
        name: project
        required: true
        schema:
          type: string
components:
  schemas:
    Document_any.any.any_:
      $ref: '#/components/schemas/FlattenMaps_T_'
      description: 'Generic types for Document:

        *  T - the type of _id

        *  TQueryHelpers - Object with any helpers that should be mixed into the Query type

        *  DocType - the type of the actual Document created'
    InferSchemaType_typeofoutboundSchema_:
      $ref: '#/components/schemas/IfAny_typeofoutboundSchema.any.ObtainSchemaGeneric_typeofoutboundSchema.DocType__'
    OutboundDocument:
      allOf:
      - $ref: '#/components/schemas/OutboundI'
      - $ref: '#/components/schemas/Document'
    ObjectId:
      type: string
    Document:
      $ref: '#/components/schemas/FlattenMaps_T_'
      description: 'Generic types for Document:

        *  T - the type of _id

        *  TQueryHelpers - Object with any helpers that should be mixed into the Query type

        *  DocType - the type of the actual Document created'
    OutboundI:
      $ref: '#/components/schemas/InferSchemaType_typeofoutboundSchema_'
    FlattenMaps_T_:
      properties: {}
      type: object
    IfAny_typeofoutboundSchema.any.ObtainSchemaGeneric_typeofoutboundSchema.DocType__:
      properties:
        searchContent:
          type: string
        emailTemplate:
          properties:
            isValid:
              properties: {}
              type: object
            createFromHexString:
              properties: {}
              type: object
            createFromTime:
              properties: {}
              type: object
            generate:
              properties: {}
              type: object
            cacheHexString: {}
            prototype:
              $ref: '#/components/schemas/ObjectId'
          type: object
        sourceOutbound:
          properties:
            isValid:
              properties: {}
              type: object
            createFromHexString:
              properties: {}
              type: object
            createFromTime:
              properties: {}
              type: object
            generate:
              properties: {}
              type: object
            cacheHexString: {}
            prototype:
              $ref: '#/components/schemas/ObjectId'
          type: object
        trigger: {}
        pageFilterDelay:
          type: number
          format: double
        pageFilter:
          type: string
        eventTriggerDelay:
          type: number
          format: double
        eventTrigger:
          type: string
        actionType:
          type: string
        sentAt:
          type: string
          format: date-time
        stats: {}
        subject: {}
        coverImageUrl:
          type: string
        subType:
          type: string
        sender:
          properties:
            isValid:
              properties: {}
              type: object
            createFromHexString:
              properties: {}
              type: object
            createFromTime:
              properties: {}
              type: object
            generate:
              properties: {}
              type: object
            cacheHexString: {}
            prototype:
              $ref: '#/components/schemas/ObjectId'
          type: object
        project:
          properties:
            isValid:
              properties: {}
              type: object
            createFromHexString:
              properties: {}
              type: object
            createFromTime:
              properties: {}
              type: object
            generate:
              properties: {}
              type: object
            cacheHexString: {}
            prototype:
              $ref: '#/components/schemas/ObjectId'
          type: object
        data: {}
        conditions: {}
        config: {}
        message: {}
        aiSummaryOutdated:
          type: boolean
        aiSummary:
          type: string
        organisation:
          properties:
            isValid:
              properties: {}
              type: object
            createFromHexString:
              properties: {}
              type: object
            createFromTime:
              properties: {}
              type: object
            generate:
              properties: {}
              type: object
            cacheHexString: {}
            prototype:
              $ref: '#/components/schemas/ObjectId'
          type: object
        createdBy:
          properties:
            isValid:
              properties: {}
              type: object
            createFromHexString:
              properties: {}
              type: object
            createFromTime:
              properties: {}
              type: object
            generate:
              properties: {}
              type: object
            cacheHexString: {}
            prototype:
              $ref: '#/components/schemas/ObjectId'
          type: object
        startSendingAfter:
          type: string
          format: date-time
        stopSendingAfter:
          type: string
          format: date-time
        pageRules:
          items:
            properties:
              pageFilter:
                type: string
              pageFilterType:
                type: string
                enum:
                - is
                - contains
                - isnot
                - notcontains
                - startswith
                - endswith
                - empty
                - notempty
            required:
            - pageFilterType
            type: object
          type: array
        pageFilterType:
          type: string
          enum:
          - is
          - contains
          - isnot
          - notcontains
          - startswith
          - endswith
          - empty
          - notempty
        frequencyDays:
          type: number
          format: double
        frequency:
          type: string
        frequencyType:
          type: string
        format:
          type: string
        sent:
          type: boolean
        sound:
          type: boolean
        newTrigger:
          type: boolean
        tags:
          items:
            type: string
          type: array
        updatedAt:
          type: string
          format: date-time
        status:
          type: string
        targetAudience:
          type: string
        createdAt:
          type: string
          format: date-time
        hidden:
          type: boolean
        name:
          type: string
        type:
          type: string
      required:
      - startSendingAfter
      - stopSendingAfter
      - pageRules
      - pageFilterType
      - frequencyDays
      - frequency
      - frequencyType
      - format
      - sent
      - sound
      - newTrigger
      - tags
      - updatedAt
      - status
      - targetAudience
      - createdAt
      - hidden
      - name
      - type
      type: object
  securitySchemes:
    jwt:
      type: http
      scheme: bearer
      bearerFormat: JWT