> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fanfare.io/llms.txt
> Use this file to discover all available pages before exploring further.

# GET /announcements

> List announcements with bidirectional cursor-based pagination



## OpenAPI

````yaml /api/openapi/admin-api.json get /announcements
openapi: 3.1.0
info:
  description: Admin API for Fanfare
  title: Fanfare Admin API
  version: 1.0.0
servers:
  - description: Production
    url: https://admin.fanfare.io/api
  - description: Local development
    url: http://localhost:4800
security:
  - SecretKeyAuth: []
paths:
  /announcements:
    get:
      tags:
        - Distributions
      description: List announcements with bidirectional cursor-based pagination
      operationId: getAnnouncements
      responses:
        '200':
          content:
            application/json:
              schema:
                $defs:
                  '5':
                    anyOf:
                      - type: string
                      - type: number
                      - type: boolean
                      - type: 'null'
                      - items:
                          anyOf:
                            - type: string
                            - type: number
                            - type: integer
                            - type: boolean
                            - type: 'null'
                            - items: {}
                              type: array
                            - additionalProperties: {}
                              type: object
                        type: array
                      - additionalProperties:
                          anyOf:
                            - type: string
                            - type: number
                            - type: integer
                            - type: boolean
                            - type: 'null'
                            - items: {}
                              type: array
                            - additionalProperties: {}
                              type: object
                        propertyNames:
                          type: string
                        type: object
                properties:
                  data:
                    items:
                      properties:
                        anchorPoint:
                          anyOf:
                            - enum:
                                - DISTRIBUTION_OPEN
                                - DISTRIBUTION_CLOSE
                                - DRAW_TIME
                                - AUCTION_SETTLE
                                - EXPERIENCE_START
                                - EXPERIENCE_END
                            - type: 'null'
                        archived:
                          type: boolean
                        content:
                          minLength: 1
                          type: string
                        createdAt:
                          format: date-time
                          type: string
                        createdBy:
                          type: string
                        creativeDesignId:
                          anyOf:
                            - format: uuid
                              type: string
                            - type: 'null'
                        creativeDocument:
                          anyOf:
                            - properties:
                                body:
                                  additionalProperties:
                                    anyOf:
                                      - type: string
                                      - type: number
                                      - type: integer
                                      - type: boolean
                                      - type: 'null'
                                      - items: {}
                                        type: array
                                      - additionalProperties: {}
                                        type: object
                                  propertyNames:
                                    type: string
                                  type: object
                                editor:
                                  minLength: 1
                                  type: string
                                kind:
                                  enum:
                                    - announcement-email
                                    - announcement-sms
                                    - announcement-social
                                    - experience-page
                                    - transactional-email
                                    - transactional-sms
                                schemaVersion:
                                  minimum: 1
                                  type: integer
                                themeOverrides:
                                  properties:
                                    background:
                                      type: string
                                    danger:
                                      type: string
                                    fontFamily:
                                      type: string
                                    fontHeading:
                                      type: string
                                    headerImageUrl:
                                      format: uri
                                      type: string
                                    logoUrl:
                                      format: uri
                                      type: string
                                    muted:
                                      type: string
                                    primary:
                                      type: string
                                    secondary:
                                      type: string
                                    success:
                                      type: string
                                    surface:
                                      type: string
                                    text:
                                      type: string
                                    variant:
                                      enum:
                                        - default
                                        - retro
                                        - rounded
                                        - clean
                                    warning:
                                      type: string
                                  required: []
                                  type: object
                              required:
                                - schemaVersion
                                - kind
                                - editor
                                - body
                              type: object
                            - type: 'null'
                        creativeTemplateKey:
                          anyOf:
                            - type: string
                            - type: 'null'
                        experienceId:
                          format: uuid
                          type: string
                        id:
                          format: uuid
                          type: string
                        imageUrl:
                          anyOf:
                            - format: uri
                              type: string
                            - type: 'null'
                        includeAudience:
                          type: boolean
                        includeWaitlist:
                          type: boolean
                        link:
                          anyOf:
                            - format: uri
                              type: string
                            - type: 'null'
                        metadata:
                          anyOf:
                            - properties:
                                email:
                                  properties:
                                    fromEmail:
                                      format: email
                                      type: string
                                    fromName:
                                      type: string
                                    replyToEmail:
                                      format: email
                                      type: string
                                    replyToName:
                                      type: string
                                  required:
                                    - fromEmail
                                    - replyToEmail
                                  type: object
                              required: []
                              type: object
                            - type: 'null'
                        offsetSeconds:
                          anyOf:
                            - type: number
                            - type: 'null'
                        organizationId:
                          format: uuid
                          type: string
                        scheduledAt:
                          anyOf:
                            - format: date-time
                              type: string
                            - type: 'null'
                        sequenceId:
                          anyOf:
                            - format: uuid
                              type: string
                            - type: 'null'
                        shortContent:
                          anyOf:
                            - type: string
                            - type: 'null'
                        templateData:
                          anyOf:
                            - additionalProperties:
                                anyOf:
                                  - type: string
                                  - type: number
                                  - type: integer
                                  - type: boolean
                                  - type: 'null'
                                  - items: {}
                                    type: array
                                  - additionalProperties: {}
                                    type: object
                              propertyNames:
                                type: string
                              type: object
                            - type: 'null'
                        timeZone:
                          minLength: 1
                          type: string
                        timingStrategy:
                          default: POINT_IN_TIME
                          enum:
                            - POINT_IN_TIME
                            - RELATIVE
                        title:
                          minLength: 1
                          type: string
                        type:
                          enum:
                            - EMAIL
                            - SMS
                            - FACEBOOK
                            - X
                            - INSTAGRAM
                            - LINKEDIN
                            - TIKTOK
                            - YOUTUBE
                        updatedAt:
                          anyOf:
                            - format: date-time
                              type: string
                            - type: 'null'
                        updatedBy:
                          anyOf:
                            - type: string
                            - type: 'null'
                      required:
                        - id
                        - organizationId
                        - createdAt
                        - createdBy
                        - archived
                        - type
                        - content
                        - title
                        - includeAudience
                        - includeWaitlist
                        - experienceId
                        - timeZone
                      type: object
                    type: array
                  pageInfo:
                    properties:
                      endCursor:
                        anyOf:
                          - type: string
                          - type: 'null'
                      startCursor:
                        anyOf:
                          - type: string
                          - type: 'null'
                    required:
                      - startCursor
                      - endCursor
                    type: object
                required:
                  - data
                  - pageInfo
                type: object
          description: Announcements retrieved successfully
        '400':
          content:
            application/json:
              schema:
                properties:
                  error:
                    const: validation_error
                  issues:
                    items:
                      properties:
                        expected:
                          type: string
                        kind:
                          type: string
                        message:
                          type: string
                        path:
                          items:
                            properties:
                              input: {}
                              key:
                                type: string
                              origin:
                                type: string
                              type:
                                type: string
                            required:
                              - type
                              - origin
                              - input
                              - key
                            type: object
                          type: array
                        received:
                          type: string
                        type:
                          type: string
                      required:
                        - kind
                        - type
                        - expected
                        - received
                        - message
                        - path
                      type: object
                    type: array
                required:
                  - error
                  - issues
                type: object
          description: Bad Request - Invalid input schema
        '401':
          content:
            application/json:
              schema:
                properties:
                  error:
                    type: string
                required:
                  - error
                type: object
          description: Unauthorized - Authentication required
        '403':
          content:
            application/json:
              schema:
                properties:
                  error:
                    type: string
                required:
                  - error
                type: object
          description: Forbidden - User must be authenticated
        '500':
          content:
            application/json:
              schema:
                properties:
                  error:
                    type: string
                required:
                  - error
                type: object
          description: Internal server error
components:
  securitySchemes:
    SecretKeyAuth:
      description: Fanfare secret key. Keep secret credentials on your server.
      scheme: bearer
      type: http

````