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

# List Space Discussions Anon

> One public space's discussion feed, sanitized for an anonymous reader.

A missing space, or a space that is not access_level='public' (restricted
or segment-gated), collapses to the SAME generic 404 — anon has zero
segments by definition so restricted spaces are never visible.



## OpenAPI

````yaml /openapi/mio-openapi.json get /api/v1/hubs/{hub_id}/public/spaces/{space_id}/discussions
openapi: 3.1.0
info:
  description: >-
    Production API reference for Membership.io. Use the authored guides for
    workflows and the generated endpoint pages for exact parameters and schemas.
  title: Membership.io API
  version: 0.1.0
servers:
  - description: Production
    url: https://api.member.dev
security:
  - bearerAuth: []
paths:
  /api/v1/hubs/{hub_id}/public/spaces/{space_id}/discussions:
    get:
      tags:
        - community-anon
      summary: List Space Discussions Anon
      description: >-
        One public space's discussion feed, sanitized for an anonymous reader.


        A missing space, or a space that is not access_level='public'
        (restricted

        or segment-gated), collapses to the SAME generic 404 — anon has zero

        segments by definition so restricted spaces are never visible.
      operationId: >-
        community_anon.get_community_anon_get_hubs_by_hub_id_public_spaces_by_space_id_discussions
      parameters:
        - in: path
          name: hub_id
          required: true
          schema:
            title: Hub Id
            type: string
        - in: path
          name: space_id
          required: true
          schema:
            title: Space Id
            type: string
        - in: query
          name: sort
          required: false
          schema:
            default: '-last_activity'
            title: Sort
            type: string
        - in: query
          name: page[after]
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            title: Page[After]
        - in: query
          name: page[size]
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            title: Page[Size]
      responses:
        '200':
          content:
            application/vnd.api+json:
              schema:
                $ref: >-
                  #/components/schemas/JsonApiListResponse_AnonDiscussionAttributes_
          description: Successful Response
        '422':
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
components:
  schemas:
    JsonApiListResponse_AnonDiscussionAttributes_:
      properties:
        data:
          items:
            $ref: '#/components/schemas/JsonApiResource_AnonDiscussionAttributes_'
          title: Data
          type: array
        included:
          anyOf:
            - items: {}
              type: array
            - type: 'null'
          title: Included
        links:
          anyOf:
            - $ref: '#/components/schemas/JsonApiPaginationLinks'
            - type: 'null'
        meta:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Meta
      required:
        - data
      title: JsonApiListResponse[AnonDiscussionAttributes]
      type: object
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          title: Detail
          type: array
      title: HTTPValidationError
      type: object
    JsonApiResource_AnonDiscussionAttributes_:
      properties:
        attributes:
          $ref: '#/components/schemas/AnonDiscussionAttributes'
        id:
          title: Id
          type: string
        links:
          anyOf:
            - $ref: '#/components/schemas/JsonApiLinks'
            - type: 'null'
        meta:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Meta
        relationships:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Relationships
        type:
          title: Type
          type: string
      required:
        - id
        - type
        - attributes
      title: JsonApiResource[AnonDiscussionAttributes]
      type: object
    JsonApiPaginationLinks:
      properties:
        next:
          anyOf:
            - type: string
            - type: 'null'
          title: Next
        self:
          anyOf:
            - type: string
            - type: 'null'
          title: Self
      title: JsonApiPaginationLinks
      type: object
    ValidationError:
      properties:
        ctx:
          title: Context
          type: object
        input:
          title: Input
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          title: Location
          type: array
        msg:
          title: Message
          type: string
        type:
          title: Error Type
          type: string
      required:
        - loc
        - msg
        - type
      title: ValidationError
      type: object
    AnonDiscussionAttributes:
      additionalProperties: false
      properties:
        author_display_name:
          title: Author Display Name
          type: string
        author_photo_thumbnail_url:
          anyOf:
            - type: string
            - type: 'null'
          title: Author Photo Thumbnail Url
        author_photo_url:
          anyOf:
            - type: string
            - type: 'null'
          title: Author Photo Url
        body:
          anyOf:
            - type: string
            - type: 'null'
          title: Body
        comment_count:
          title: Comment Count
          type: integer
        created_at:
          format: date-time
          title: Created At
          type: string
        is_locked:
          title: Is Locked
          type: boolean
        is_pinned:
          title: Is Pinned
          type: boolean
        poll:
          anyOf:
            - $ref: '#/components/schemas/AnonPollAttributes'
            - type: 'null'
        published_at:
          anyOf:
            - format: date-time
              type: string
            - type: 'null'
          title: Published At
        reaction_count:
          title: Reaction Count
          type: integer
        reactions:
          items:
            $ref: '#/components/schemas/AnonReactionCount'
          title: Reactions
          type: array
        repost:
          anyOf:
            - $ref: '#/components/schemas/RepostBlockAttributes'
            - type: 'null'
        repost_count:
          default: 0
          title: Repost Count
          type: integer
        space_name:
          title: Space Name
          type: string
        space_slug:
          title: Space Slug
          type: string
        title:
          title: Title
          type: string
      required:
        - title
        - body
        - is_pinned
        - is_locked
        - published_at
        - comment_count
        - reaction_count
        - reactions
        - author_display_name
        - author_photo_url
        - author_photo_thumbnail_url
        - created_at
        - space_slug
        - space_name
      title: AnonDiscussionAttributes
      type: object
    JsonApiLinks:
      properties:
        self:
          anyOf:
            - type: string
            - type: 'null'
          title: Self
      title: JsonApiLinks
      type: object
    AnonPollAttributes:
      additionalProperties: false
      description: |-
        Sanitized poll attributes for an anonymous reader.

        Deliberately omits: viewer_voted, viewer_option_id (no anon identity to
        gate against), and options[].vote_count (never revealed to anon
        regardless of poll state — see ``app.community.poll_read.
        build_poll_attrs_anon``, the actual server-side implementation this
        model documents).
      properties:
        closed:
          title: Closed
          type: boolean
        deadline_at:
          format: date-time
          title: Deadline At
          type: string
        id:
          title: Id
          type: string
        options:
          items:
            $ref: '#/components/schemas/AnonPollOptionAttributes'
          title: Options
          type: array
        total_votes:
          title: Total Votes
          type: integer
      required:
        - id
        - deadline_at
        - closed
        - total_votes
        - options
      title: AnonPollAttributes
      type: object
    AnonReactionCount:
      additionalProperties: false
      description: A single per-emoji reaction aggregate — no per-actor identity.
      properties:
        count:
          title: Count
          type: integer
        emoji:
          title: Emoji
          type: string
      required:
        - emoji
        - count
      title: AnonReactionCount
      type: object
    RepostBlockAttributes:
      additionalProperties: false
      properties:
        author_display_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Author Display Name
        author_photo_thumbnail_url:
          anyOf:
            - type: string
            - type: 'null'
          title: Author Photo Thumbnail Url
        author_photo_url:
          anyOf:
            - type: string
            - type: 'null'
          title: Author Photo Url
        body:
          anyOf:
            - type: string
            - type: 'null'
          title: Body
        id:
          anyOf:
            - type: string
            - type: 'null'
          title: Id
        published_at:
          anyOf:
            - type: string
            - type: 'null'
          title: Published At
        space_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Space Name
        space_slug:
          anyOf:
            - type: string
            - type: 'null'
          title: Space Slug
        state:
          enum:
            - visible
            - locked
            - deleted
            - unavailable
          title: State
          type: string
        title:
          anyOf:
            - type: string
            - type: 'null'
          title: Title
      required:
        - state
      title: RepostBlockAttributes
      type: object
    AnonPollOptionAttributes:
      additionalProperties: false
      description: A single poll option for an anonymous reader — no vote_count, ever.
      properties:
        id:
          title: Id
          type: string
        label:
          title: Label
          type: string
        position:
          title: Position
          type: integer
      required:
        - id
        - label
        - position
      title: AnonPollOptionAttributes
      type: object
  securitySchemes:
    bearerAuth:
      bearerFormat: JWT or mio_sk API key
      description: >-
        Send platform JWTs, contact JWTs, or team API keys as `Authorization:
        Bearer <token>`.
      scheme: bearer
      type: http

````