Guru Announcements API

The Announcements API from Guru — 8 operation(s) for announcements.

Business capability
Internal Communications Management BC-850.10

Operations 10

GET /api/v1/announcements Get Team Announcements #
POST /alerts/create Create announcement #
GET /alerts List announcements #
DELETE /alerts Delete announcement #
GET /alerts/stats Get announcement stats #
GET /alerts/stats-summary Get announcement stats summary #
GET /alerts/user-stats Get announcement user stats #
POST /alerts/export-users Export announcement user details #
POST /alerts/send-reminders Send announcement reminders #
PUT /alerts/mark-read Mark announcement as read #

Specifications

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/guru:guru-announcements-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

guru-announcements-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Guru Announcements API
  version: '1.0'
  description: 'Operations tagged Announcements across 2 of this provider''s published API definitions: guru-openapi.json, guru-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.getguru.com
- url: https://api.getguru.com/api/v1
  description: Guru production API
tags:
- name: Announcements
paths:
  /api/v1/announcements:
    get:
      operationId: get_announcements
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/KnowledgeAlertNotification'
                type: array
          description: successful operation
        '400':
          content: {}
          description: Invalid/Incomplete Request
        '401':
          content: {}
          description: Request was unauthorized
        '403':
          content: {}
          description: Forbidden access to the resource
        '404':
          content: {}
          description: Resource could not be found
      security:
      - basicAuth: []
      summary: Get Team Announcements
      tags:
      - Announcements
      x-roles:
      - read:announcements
    servers:
    - url: https://api.getguru.com
  /alerts/create:
    post:
      summary: Create announcement
      operationId: createAnnouncement
      tags:
      - Announcements
      responses:
        '201':
          description: Announcement created.
      security:
      - basicAuth: []
      - bearerAuth: []
    servers:
    - url: https://api.getguru.com/api/v1
      description: Guru production API
  /alerts:
    get:
      summary: List announcements
      operationId: listAnnouncements
      tags:
      - Announcements
      responses:
        '200':
          description: List of announcements.
      security:
      - basicAuth: []
      - bearerAuth: []
    delete:
      summary: Delete announcement
      operationId: deleteAnnouncement
      tags:
      - Announcements
      responses:
        '204':
          description: Announcement deleted.
      security:
      - basicAuth: []
      - bearerAuth: []
    servers:
    - url: https://api.getguru.com/api/v1
      description: Guru production API
  /alerts/stats:
    get:
      summary: Get announcement stats
      operationId: getAnnouncementStats
      tags:
      - Announcements
      responses:
        '200':
          description: Announcement stats.
      security:
      - basicAuth: []
      - bearerAuth: []
    servers:
    - url: https://api.getguru.com/api/v1
      description: Guru production API
  /alerts/stats-summary:
    get:
      summary: Get announcement stats summary
      operationId: getAnnouncementStatsSummary
      tags:
      - Announcements
      responses:
        '200':
          description: Announcement stats summary.
      security:
      - basicAuth: []
      - bearerAuth: []
    servers:
    - url: https://api.getguru.com/api/v1
      description: Guru production API
  /alerts/user-stats:
    get:
      summary: Get announcement user stats
      operationId: getAnnouncementUserStats
      tags:
      - Announcements
      responses:
        '200':
          description: Announcement user stats.
      security:
      - basicAuth: []
      - bearerAuth: []
    servers:
    - url: https://api.getguru.com/api/v1
      description: Guru production API
  /alerts/export-users:
    post:
      summary: Export announcement user details
      operationId: exportAnnouncementUsers
      tags:
      - Announcements
      responses:
        '200':
          description: Export started.
      security:
      - basicAuth: []
      - bearerAuth: []
    servers:
    - url: https://api.getguru.com/api/v1
      description: Guru production API
  /alerts/send-reminders:
    post:
      summary: Send announcement reminders
      operationId: sendAnnouncementReminders
      tags:
      - Announcements
      responses:
        '200':
          description: Reminders sent.
      security:
      - basicAuth: []
      - bearerAuth: []
    servers:
    - url: https://api.getguru.com/api/v1
      description: Guru production API
  /alerts/mark-read:
    put:
      summary: Mark announcement as read
      operationId: markAnnouncementRead
      tags:
      - Announcements
      responses:
        '200':
          description: Announcement marked as read.
      security:
      - basicAuth: []
      - bearerAuth: []
    servers:
    - url: https://api.getguru.com/api/v1
      description: Guru production API
components:
  schemas:
    FeaturedImageCandidateEntry:
      properties:
        id:
          type: string
        type:
          enum:
          - IMAGE
          - IFRAME
          - VIDEO
          type: string
        cropSpec:
          $ref: '#/components/schemas/ImageCropSpec'
        signedUrl:
          type: string
        url:
          type: string
        width:
          format: int32
          type: integer
        height:
          format: int32
          type: integer
      type: object
    Card:
      description: The Card is the basic unit of knowledge in Guru
      properties:
        id:
          description: ID of the Card
          example: 'IDs are formatted like this: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'
          type: string
        content:
          description: The Card's HTML or Markdown content
          example: Here's some **awesome content**
          type: string
        owner:
          $ref: '#/components/schemas/User'
        lastModified:
          description: Date the Card was last modified
          format: date-time
          readOnly: true
          type: string
        version:
          description: Current version of the Card. As the card gets updated and revised, the version number will increase.
          example: 1
          format: int32
          readOnly: true
          type: integer
        verificationState:
          description: Whether the card is TRUSTED, STALE, or NEEDS_VERIFICATION
          enum:
          - TRUSTED
          - STALE
          - NEEDS_VERIFICATION
          - SYNCED_NO_VERIFICATION
          type: string
        collection:
          $ref: '#/components/schemas/CollectionModel'
        teamId:
          description: If the card shareType is TEAM, this is the ID of the Team that it is shared with
          readOnly: true
          type: string
        attachments:
          description: Attachments to the card
          items:
            $ref: '#/components/schemas/CardAttachment'
          type: array
        boards:
          description: Returns Board objects that this card appears on
          items:
            $ref: '#/components/schemas/Board'
          type: array
          uniqueItems: true
        dateCreated:
          description: Date the Card was created
          format: date-time
          readOnly: true
          type: string
        shareStatus:
          description: The share status of the Card. TEAM for team shared cards and PRIVATE for privately shared cards
          enum:
          - TEAM
          - PRIVATE
          - PUBLIC
          example: TEAM
          type: string
        lastVerified:
          description: Date the Card was last verified
          format: date-time
          type: string
        lastVerifiedBy:
          $ref: '#/components/schemas/User'
        lastModifiedBy:
          $ref: '#/components/schemas/User'
        preferredPhrase:
          description: The title of the Card
          example: My New Card
          type: string
        slug:
          description: The slug is the URL address to the card
          example: https://app.getguru.com/cards/:slug_goes_here
          readOnly: true
          type: string
        suppressVerification:
          description: Flag for enabling card verification on save
          type: boolean
        verificationInterval:
          description: Time interval (in days), indicating the frequency that this card needs re-verification. Passing in null will default to 30 days.
          format: int32
          type: integer
        verifiers:
          description: Users/Groups that are responsible for verifying this card
          items:
            $ref: '#/components/schemas/CardVerifier'
          type: array
        verificationType:
          description: Whether the card's verification date is ABSOLUTE or RELATIVE
          enum:
          - ABSOLUTE
          - RELATIVE
          type: string
        collaborators:
          description: Users/Groups that this card is explicitly shared to. Collaborators of a card are the only ones who have access if the Card's shareStatus is PRIVATE.
          items:
            $ref: '#/components/schemas/CardCollaborator'
          type: array
        favoritedDate:
          description: Date when this card has been favorited by the current user
          format: date-time
          readOnly: true
          type: string
        favorited:
          description: Whether this card has been favorited by the current user
          readOnly: true
          type: boolean
        publicLinkAllowed:
          type: boolean
        originalOwner:
          $ref: '#/components/schemas/User'
        lastViewed:
          description: Last time the card was viewed
          format: date-time
          readOnly: true
          type: string
        archived:
          description: Indicates if the Card has been archived
          readOnly: true
          type: boolean
        cardType:
          description: The type of the Card. CARD for content cards, FILE for file cards, QUESTION for Questions.
          enum:
          - FILE
          - CARD
          - QUESTION
          readOnly: true
          type: string
        verificationReason:
          description: Reason this card needs verification. UPDATE if this card was updated by a user that is not the verifier. NEW_VERIFIER if this card was assigned to a new verifier but has not yet been verified. This value will only be present if the verification state is NEEDS_VERIFICATION
          enum:
          - UPDATE
          - NEW_VERIFIER
          - QUESTION
          - REQUESTED
          - EXPIRED
          readOnly: true
          type: string
        verificationReasons:
          items:
            enum:
            - UPDATE
            - NEW_VERIFIER
            - QUESTION
            - REQUESTED
            - EXPIRED
            type: string
          type: array
        verificationInitiator:
          $ref: '#/components/schemas/User'
        nextVerificationDate:
          description: Next date that this Card needs verification dependent on verification interval
          format: date-time
          type: string
        commentCount:
          description: Number of comments on the card
          format: int32
          readOnly: true
          type: integer
        cardInfo:
          $ref: '#/components/schemas/CardInfo'
        syncInfo:
          $ref: '#/components/schemas/CardSyncInfo'
        verificationInitiationDate:
          description: Date corresponding to the action that unverified the card
          format: date-time
          type: string
        cardTemplateId:
          description: ID of the template from which this card was created if applicable
          readOnly: true
          type: string
        tags:
          description: Returns Tag objects associated with this card
          items:
            $ref: '#/components/schemas/Tag'
          type: array
          uniqueItems: true
      required:
      - content
      - preferredPhrase
      type: object
    KnowledgeAlertNotification:
      properties:
        creator:
          $ref: '#/components/schemas/User'
        card:
          $ref: '#/components/schemas/Card'
        alertId:
          type: string
        cardTitle:
          type: string
        dateSent:
          format: date-time
          type: string
        alertNote:
          type: string
        viewed:
          type: boolean
        collectionHexColor:
          type: string
        featuredImage:
          $ref: '#/components/schemas/FeaturedImageCandidateEntry'
        read:
          type: boolean
        groups:
          items:
            $ref: '#/components/schemas/UserGroup'
          type: array
      type: object
    CardCollaborator:
      discriminator:
        propertyName: type
        mappings:
          user: '#/components/schemas/UserCollaborator'
          user-group: '#/components/schemas/UserGroupCollaborator'
      properties:
        id:
          description: The ID (email address or group ID) of the collaborator
          type: string
        dateCreated:
          description: Date the collaborator was created
          format: date-time
          type: string
        removed:
          type: boolean
        type:
          enum:
          - user
          - user-group
          type: string
      required:
      - type
      type: object
    CollectionStats:
      properties:
        stats:
          additionalProperties:
            $ref: '#/components/schemas/Stats'
          description: Returns an object that includes the Collection Trust Score, and Card Count of the Collection.
          type: object
      type: object
    CardSyncInfo:
      properties:
        contentSyncType:
          enum:
          - ZENDESK
          - ZENDESK_IMPORT
          - CONFLUENCE
          - MANUAL
          - GOOGLE_DRIVE
          - ZENEFITS
          - BOX
          - KUSTOMER
          - DROPBOX
          - SALESFORCE
          - GURU
          type: string
        externalUrl:
          type: string
        lastSyncDate:
          format: date-time
          type: string
        lastUpdateDate:
          format: date-time
          type: string
      type: object
    CollectionModel:
      properties:
        name:
          description: Collection Name
          type: string
        readOnly:
          type: boolean
        id:
          description: ID of the collection
          example: 'IDs are formatted like this: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'
          type: string
        color:
          description: A hex value for the color of the Collection
          example: '#f44336'
          type: string
        deleted:
          description: Flag for whether this Collection has been deleted
          type: boolean
        defaultVerifier:
          type: string
        syncType:
          description: 'If this Collection has been synced, this will return the type. Types include: Zendesk, Confluence, Google Drive, and Manual.'
          enum:
          - ZENDESK
          - ZENDESK_IMPORT
          - CONFLUENCE
          - MANUAL
          - GOOGLE_DRIVE
          - ZENEFITS
          - BOX
          - KUSTOMER
          - DROPBOX
          - SALESFORCE
          - GURU
          type: string
        collectionType:
          description: The type can be either INTERNAL or EXTERNAL. EXTERNAL indicates that the card is from a synced Collection.
          enum:
          - INTERNAL
          - EXTERNAL
          type: string
        boards:
          description: Number of boards in this Collection
          format: int64
          type: integer
        dateCreated:
          description: Date the collection was created
          format: date-time
          type: string
        cards:
          description: Number of cards in this Collection
          format: int64
          type: integer
        slug:
          description: The slug is the URL to get to this Collection
          example: https://app.getguru.com/collections/:slug_goes_here
          type: string
        publicCardsEnabled:
          type: boolean
        collectionStats:
          $ref: '#/components/schemas/CollectionStats'
        syncVerificationEnabled:
          type: boolean
        collectionTypeDetail:
          description: The type can be FRAMEWORK, ONBOARDING, USER or EXTERNAL.
          enum:
          - ONBOARDING
          - FRAMEWORK
          - USER
          - EXTERNAL
          - WELCOME
          - ONBOARDING_UNEDITED
          type: string
        homeBoardSlug:
          type: string
        verificationInterval:
          format: int32
          type: integer
        administrator:
          type: boolean
        lastSyncedDate:
          description: The date that the Collection was last synced from the source
          format: date-time
          type: string
        emoji:
          type: string
        topLevelSyncLocation:
          description: The URL where the content of the Collection is being synced from
          type: string
        publicCards:
          format: int64
          type: integer
        madeByGuru:
          type: boolean
        description:
          description: Collection Description
          type: string
        tags:
          description: Returns all Tag objects associated with this collection
          format: int64
          type: integer
        token:
          type: string
      type: object
    CardVerifier:
      discriminator:
        propertyName: type
        mappings:
          user-group: '#/components/schemas/UserGroupVerifier'
          user: '#/components/schemas/UserVerifier'
      properties:
        id:
          description: ID of the verifier
          type: string
        dateCreated:
          description: 'Date the verifier was created. Dates are in ISO-8601 format. Example date (January 2nd 2014 12pm UTC): 2014-01-02T12:00:00.000+0000'
          format: date-time
          type: string
        type:
          enum:
          - user
          - user-group
          type: string
      required:
      - type
      type: object
    Board:
      properties:
        boardGroupId:
          description: The ID of the Board Group that this Board belongs to
          type: string
        removed:
          description: Boolean flag if this Board has been removed
          type: boolean
        defaultList:
          description: When this board is a users default favorite list
          type: boolean
        id:
          description: The ID of the directory
          example: 'IDs are formatted like this: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'
          type: string
        lastModified:
          description: The date that the directory was last modified
          format: date-time
          type: string
        groupsSharedWith:
          description: Returns the groups that a directory is shared with
          items:
            type: string
          type: array
        collection:
          $ref: '#/components/schemas/CollectionModel'
        lastModifiedBy:
          $ref: '#/components/schemas/User'
        slug:
          description: The slug is the URL address to the directory
          example: https://app.getguru.com/boards/:slug_goes_here
          type: string
        numberOfFacts:
          description: The number of cards in the directory
          format: int32
          type: integer
        favoritedDate:
          description: When this directory has been favorited by the current user
          format: date-time
          type: string
        favorited:
          description: Whether this board has been favorited by the current user
          type: boolean
        legacyType:
          enum:
          - BOARD_GROUP
          - BOARD
          - SECTION
          type: string
        description:
          description: An optional short description of the directory
          type: string
        items:
          description: 'An array of objects with the following types: SECTION, FACT, BOARD'
          items:
            $ref: '#/components/schemas/BoardItem'
          type: array
        title:
          description: The title of the directory
          type: string
      type: object
    CardInfo:
      properties:
        boards:
          items:
            $ref: '#/components/schemas/Board'
          type: array
        analytics:
          additionalProperties:
            format: int64
            type: integer
          type: object
        membersWithCardView:
          format: int64
          type: integer
        membersWithoutCardView:
          format: int64
          type: integer
      type: object
    UserGroup:
      properties:
        name:
          description: Group Name
          type: string
        id:
          description: ID of the group
          type: string
        members:
          items:
            $ref: '#/components/schemas/UserGroupMember'
          type: array
        dateCreated:
          description: 'Date the group was created. Dates are in ISO-8601 format. Example date (January 2nd 2014 12pm UTC): 2014-01-02T12:00:00.000+0000'
          format: date-time
          type: string
        expertIdRank:
          format: int64
          type: integer
        numberOfCardsAsVerifier:
          format: int32
          type: integer
        managedByScim:
          type: boolean
        groupIdentifier:
          type: string
        numberOfMembers:
          format: int32
          type: integer
        modifiable:
          type: boolean
        userModifiable:
          type: boolean
        singleUser:
          type: boolean
        role:
          enum:
          - ADMIN
          - AUTHOR
          - MEMBER
          - COLL_ADMIN
          type: string
      type: object
    BoardItem:
      discriminator:
        propertyName: type
        mappings:
          fact: '#/components/schemas/BoardFact'
          section: '#/components/schemas/BoardSection'
          board: '#/components/schemas/SubBoard'
      properties:
        itemId:
          type: string
        type:
          enum:
          - section
          - fact
          - board
          type: string
      required:
      - type
      type: object
    User:
      properties:
        id:
          description: The identifier of this User
          type: string
        userProfile:
          $ref: '#/components/schemas/UserProfile'
        lastName:
          description: The user's last name
          type: string
        firstName:
          description: The user's first name
          type: string
        profilePicUrl:
          description: The profile picture url for the user
          type: string
        joinedDate:
          format: date-time
          type: string
        status:
          description: The status of a User can be ACTIVE or PENDING. The User must verify their email address to be considered ACTIVE.
          enum:
          - ACTIVE
          - PENDING
          type: string
        email:
          description: The user's email address
          type: string
      required:
      - email
      - firstName
      - lastName
      type: object
    UserProfile:
      description: Specifies additional information about a Guru User
      properties:
        roleLevel:
          description: The level at which the user operates in their current role
          type: string
        useCaseList:
          description: Describes different ways the user intends to use Guru
          items:
            $ref: '#/components/schemas/UseCase'
          type: array
        role:
          description: The functional role a Guru user performs on their team
          type: string
      type: object
    Tag:
      description: Information about the Tag and its Category
      properties:
        value:
          description: The name of the Tag
          type: string
        id:
          description: The ID of the Tag
          example: 'IDs are formatted like this: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'
          type: string
        numberOfCards:
          description: The number of cards associated with this Tag
          format: int64
          type: integer
        categoryId:
          description: If the tag belongs to a category, this is the ID for the category
          example: 'IDs are formatted like this: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'
          type: string
        categoryName:
          description: If the tag belongs to a category, this is the name for the category
          type: string
      type: object
    UserGroupMember:
      properties:
        id:
          description: ID of the group member
          type: string
        dateCreated:
          description: 'Date the group member was added to the group. Dates are in ISO-8601 format. Example date (January 2nd 2014 12pm UTC): 2014-01-02T12:00:00.000+0000'
          format: date-time
          type: string
        managedByScim:
          type: boolean
        user:
          $ref: '#/components/schemas/User'
      required:
      - user
      type: object
    CardAttachment:
      description: Information about attachments within a Card.
      properties:
        id:
          description: The ID of the CardAttachment
          example: 'IDs are formatted like this: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'
          type: string
        size:
          description: The attached file's size in bytes
          example: 1000
          format: int64
          type: integer
        extension:
          description: The attached file's extension
          example: csv
          type: string
        link:
          description: Link to where the uploaded file is hosted in Guru's servers
          type: string
        thumbnailLink:
          description: Link to where the thumbnail for the uploaded file is hosted in Guru's servers
          type: string
        previewable:
          type: boolean
        mimetype:
          type: string
        filename:
          description: The file name and extension
          example: file-name.png
          type: string
      type: object
    ImageCropSpec:
      properties:
        x:
          format: int32
          type: integer
        y:
          format: int32
          type: integer
        width:
          format: int32
          type: integer
        height:
          format: int32
          type: integer
      type: object
    UseCase:
      properties:
        description:
          description: A description of this use case
          type: string
      type: object
    Stats:
      discriminator:
        propertyName: type
        mappings:
          card-count: '#/components/schemas/CollectionCardCount'
          collection-trust-score: '#/components/schemas/CollectionTrustScore'
          team-card-count: '#/components/schemas/TeamCardCount'
          team-trust-score: '#/components/schemas/TeamTrustScore'
      properties:
        type:
          enum:
          - team-card-count
          - team-trust-score
          - collection-trust-score
          - card-count
          type: string
      required:
      - type
      type: object
  securitySchemes:
    basicAuth:
      scheme: basic
      type: http
    bearerAuth:
      type: http
      scheme: bearer
      description: OAuth 2.0 bearer token.
x-refined-from:
- guru-openapi.json
- guru-openapi.yml
x-original-swagger-version: '2.0'