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

# List sages for a council

> Returns all council sages belonging to a given council, keyed by
council-sage UUID.

Requires `ss_council_sage` capability.

Registered as `wp_ajax_sagescreen_get_council_sages_by_council` — **login required**.




## OpenAPI

````yaml /openapi/private/specs/wp/wp-ajax-misc.yml post /wp-admin/admin-ajax.php?action=sagescreen_get_council_sages_by_council
openapi: 3.1.0
info:
  title: SageScreen — Misc AJAX Modules (User · Council · Billing · Splash · Demo)
  version: 1.0.0
servers:
  - url: https://{domain}/wp-json/sagescreen/v1
    description: WordPress REST API
    variables:
      domain:
        default: api.sagescreen.app
security: []
tags:
  - name: User – REST
    description: Zapier-facing REST endpoints
  - name: User – AJAX
    description: Council user management AJAX endpoints
  - name: User – Profile
    description: Self-service profile updates
  - name: Council – REST
    description: Zapier-facing REST endpoints for council data sync
  - name: Council – AJAX
    description: Council user and sage management AJAX endpoints
  - name: Billing – Stripe
    description: Stripe webhook and subscription endpoints
  - name: Billing – Broadcast
    description: Postmark broadcast unsubscribe endpoint
  - name: Billing – Pipedrive
    description: Pipedrive CRM ID set-* webhook endpoints (called by Zapier)
  - name: Billing – AJAX
    description: Credit ledger, reactivation, and portal AJAX endpoints
  - name: Splash
    description: Splash banner AJAX endpoints
  - name: Demo
    description: Demo signup and management AJAX endpoints
  - name: CSV Upload
    description: Bulk candidate CSV upload
paths:
  /wp-admin/admin-ajax.php?action=sagescreen_get_council_sages_by_council:
    post:
      tags:
        - Council – AJAX
      summary: List sages for a council
      description: >
        Returns all council sages belonging to a given council, keyed by

        council-sage UUID.


        Requires `ss_council_sage` capability.


        Registered as `wp_ajax_sagescreen_get_council_sages_by_council` —
        **login required**.
      operationId: ajaxGetCouncilSages
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/GetCouncilSagesRequest'
      responses:
        '200':
          description: Council sages list
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/GetCouncilSagesSuccess'
                  - $ref: '#/components/schemas/CouncilInternalAjaxErrorResponse'
              examples:
                success:
                  summary: Sages retrieved
                  value:
                    success: true
                    data:
                      f1e2d3c4-b5a6-7890-cdef-1234567890ab:
                        sage_id: a0b1c2d3-e4f5-6789-0abc-def123456789
                        name: Customer Service AI
                    message: Council sages retrieved successfully
                noNonce:
                  summary: Invalid nonce
                  value:
                    success: false
                    message: Security check failed
                noPermission:
                  summary: Insufficient permissions
                  value:
                    success: false
                    message: Insufficient permissions
                missingId:
                  summary: Missing council_id
                  value:
                    success: false
                    message: Council ID is required
                notFound:
                  summary: Council not found
                  value:
                    success: false
                    message: Council not found
      security:
        - wpAjaxNonce: []
components:
  schemas:
    GetCouncilSagesRequest:
      type: object
      required:
        - action
        - nonce
        - council_id
      properties:
        action:
          type: string
          const: sagescreen_get_council_sages_by_council
        nonce:
          type: string
          description: WP nonce (`sagescreen_ajax_nonce` or `sagescreen_frontend_nonce`)
        council_id:
          type: string
          format: uuid
          description: Council UUID
          examples:
            - c9d8e7f6-5a4b-3c2d-1e0f-a1b2c3d4e5f6
    GetCouncilSagesSuccess:
      type: object
      properties:
        success:
          type: boolean
          const: true
        data:
          type: object
          additionalProperties:
            type: object
            description: Council sage data keyed by council-sage UUID
          description: |
            Associative object keyed by council-sage UUID. Each value
            contains sage fields (sage_id, name, etc.).
        message:
          type: string
          examples:
            - Council sages retrieved successfully
    CouncilInternalAjaxErrorResponse:
      type: object
      properties:
        success:
          type: boolean
          const: false
        message:
          type: string
          examples:
            - Security check failed
  securitySchemes:
    wpAjaxNonce:
      type: apiKey
      in: query
      name: nonce
      description: WordPress AJAX nonce (passed as form field, verified per-action)

````