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

# Get Member Audit by ID

> Retrieves a member's offers, programs, coaching and recent activity by member ID. Activity includes the latest 30 entries, with up to five community posts and consultation questions.



## OpenAPI

````yaml get /members/{id}/audit
openapi: 3.0.1
info:
  title: SchoolMaker API V1
  description: API for managing your SchoolMaker school
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://schoolmaker.co/api/v1
    description: Production API
security:
  - bearerAuth: []
paths:
  /members/{id}/audit:
    get:
      tags:
        - Members
      summary: Get Member Audit by ID
      description: >-
        Retrieves a member's offers, programs, coaching and recent activity by
        member ID. Activity includes the latest 30 entries, with up to five
        community posts and consultation questions.
      operationId: getMemberAuditById
      parameters:
        - in: path
          name: id
          required: true
          description: Member ID. Takes precedence over email.
          schema:
            type: string
            minLength: 1
            maxLength: 255
        - in: query
          name: page
          required: false
          description: Page applied separately to offers, programs and coaching.
          schema:
            type: integer
            minimum: 1
            maximum: 10000
            default: 1
        - in: query
          name: per_page
          required: false
          description: Maximum rows in every paginated collection.
          schema:
            type: integer
            minimum: 1
            maximum: 30
            default: 30
        - in: query
          name: lessons_page
          required: false
          description: >-
            Page of unfinished lessons within every returned program. Keep page
            unchanged when following a lesson next_page.
          schema:
            type: integer
            minimum: 1
            maximum: 10000
            default: 1
      responses:
        '200':
          description: Member audit.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MemberAudit'
              examples:
                populated:
                  summary: Illustrative member audit with populated collections
                  value:
                    identity:
                      id: e668129c-9bce-43b5-ab0c-d01fc045dafe
                      email: audit-http@example.test
                      first_name: Audit
                      last_name: Member
                      last_seen_at: null
                      is_active: true
                      is_banned: false
                      created_at: '2026-10-02T09:37:19.238Z'
                      updated_at: '2026-10-02T09:37:19.260Z'
                      profile_picture_url: >-
                        https://example.schoolmaker.co/rails/active_storage/blobs/redirect/SIGNED_ID/avatar.png
                    offers:
                      data:
                        - id: 790bc848-d852-49c0-85de-2b9260350482
                          offer_id: 6e8cedeb-8d9b-433f-9f0a-3109d1119ef7
                          is_active: true
                          drip_boost: 0
                          offer_name: Audit QA offer
                          purchased_at: '2026-10-02T09:37:19.390Z'
                      page: 1
                      next_page: null
                    programs:
                      data:
                        - id: 599c0385-6324-4153-9025-74a3a92ab464
                          name: Audit QA program 0
                          progression_rate: 33
                          time_spent: 21
                          first_viewed_at: '2026-09-29T09:37:19.000Z'
                          last_viewed_at: '2026-10-01T09:37:19.000Z'
                          lessons_started_not_finished:
                            data:
                              - id: cce3348b-6b90-4c88-94bc-6853ada7d80f
                                name: Audit unfinished 0
                              - id: 3fa8dc38-373d-4f63-b50f-e1ad9493ec9c
                                name: Audit unfinished 1
                            page: 1
                            next_page: null
                      page: 1
                      next_page: null
                    activity:
                      - id: c9e6b98b-a369-4349-9ab4-0e341f6335f4
                        action: show
                        eventable_id: e668129c-9bce-43b5-ab0c-d01fc045dafe
                        eventable_type: Member
                        duration: null
                        created_at: '2026-10-02T09:37:20.345Z'
                    community:
                      post_count: 1
                      comment_count: 1
                      latest_posts:
                        - id: 66c9deb9-c23b-450c-8ddf-d8c405a3548c
                          title: Getting started
                          created_at: '2026-10-02T04:37:20.198Z'
                      latest_comments:
                        - id: e177ad30-15e5-40e0-916a-b2d8766b471c
                          post_id: 66c9deb9-c23b-450c-8ddf-d8c405a3548c
                          body: Reply 5
                    consultations:
                      count: 1
                      latest:
                        - id: 51790bc7-bd5f-4723-8de7-7d88994d6680
                          title: My next steps
                          category_id: aca40bb5-4b37-4093-9ee4-4d764738c7ac
                          created_at: '2026-10-02T04:37:20.198Z'
                    coaching:
                      data:
                        - id: 40ab4830-66f8-4500-8fe4-4e3b4ce3e79c
                          name: Coaching Type 8477
                          unit: minutes
                          used: 90
                          remaining: 30
                          last_appointment_date: '2026-10-03T09:37:19.000Z'
                        - id: a008fb7c-8931-4240-bf10-6257c31f8c62
                          name: Coaching Type 9053
                          unit: sessions
                          used: 1
                          remaining: 2
                          last_appointment_date: '2026-10-03T09:37:19.000Z'
                      page: 1
                      next_page: null
                    leaderboard:
                      points: 50
                      rank: 1
                    level:
                      number: 2
                      unlocked_rewards:
                        - Audit earned
                      rewards_to_unlock:
                        - Audit future
        '401':
          description: Missing or invalid API credentials, or unavailable school account.
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    type: string
              example:
                error: Access denied
        '403':
          description: Permission denied.
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    type: string
              example:
                error: You do not have permission to perform this action
        '404':
          description: Missing selector, unknown member or member in another school.
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    type: string
              example:
                error: Record not found
        '422':
          description: Invalid parameters.
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    type: string
              example:
                error: Invalid numeric parameter
      security:
        - bearerAuth: []
components:
  schemas:
    MemberAudit:
      type: object
      required:
        - identity
        - offers
        - programs
        - coaching
        - activity
        - community
        - consultations
      properties:
        identity:
          $ref: '#/components/schemas/MemberAuditIdentity'
        offers:
          type: object
          required:
            - data
            - page
            - next_page
          properties:
            data:
              type: array
              items:
                type: object
                required:
                  - id
                  - offer_id
                  - is_active
                  - drip_boost
                  - offer_name
                  - purchased_at
                properties:
                  id:
                    type: string
                  offer_id:
                    type: string
                  is_active:
                    type: boolean
                  drip_boost:
                    type: integer
                    nullable: true
                  offer_name:
                    type: string
                  purchased_at:
                    type: string
                    format: date-time
                    description: >-
                      When access was granted, including free and manual grants.
                      This does not confirm a payment.
            page:
              type: integer
            next_page:
              type: integer
              nullable: true
        programs:
          type: object
          required:
            - data
            - page
            - next_page
          properties:
            data:
              type: array
              items:
                type: object
                required:
                  - id
                  - name
                  - progression_rate
                  - time_spent
                  - first_viewed_at
                  - last_viewed_at
                  - lessons_started_not_finished
                properties:
                  id:
                    type: string
                  name:
                    type: string
                  progression_rate:
                    type: number
                    description: >-
                      Percentage of required published steps completed using
                      current program access.
                  time_spent:
                    type: number
                    description: Recorded activity duration in seconds.
                  first_viewed_at:
                    type: string
                    format: date-time
                    nullable: true
                  last_viewed_at:
                    type: string
                    format: date-time
                    nullable: true
                  lessons_started_not_finished:
                    type: object
                    required:
                      - data
                      - page
                      - next_page
                    properties:
                      data:
                        type: array
                        items:
                          type: object
                          required:
                            - id
                            - name
                          properties:
                            id:
                              type: string
                            name:
                              type: string
                      page:
                        type: integer
                      next_page:
                        type: integer
                        nullable: true
            page:
              type: integer
            next_page:
              type: integer
              nullable: true
        coaching:
          type: object
          required:
            - data
            - page
            - next_page
          properties:
            data:
              type: array
              items:
                type: object
                required:
                  - id
                  - name
                  - unit
                  - used
                  - remaining
                  - last_appointment_date
                properties:
                  id:
                    type: string
                  name:
                    type: string
                  unit:
                    type: string
                    enum:
                      - minutes
                      - sessions
                  used:
                    type: number
                  remaining:
                    type: number
                    nullable: true
                  last_appointment_date:
                    type: string
                    format: date-time
                    nullable: true
            page:
              type: integer
            next_page:
              type: integer
              nullable: true
          description: >-
            Coaching usage and the last appointment date include future
            published appointments.
        activity:
          type: array
          items:
            type: object
            required:
              - id
              - action
              - eventable_id
              - eventable_type
              - duration
              - created_at
            properties:
              id:
                type: string
              action:
                type: string
              eventable_id:
                type: string
                nullable: true
              eventable_type:
                type: string
              duration:
                type: number
                nullable: true
              created_at:
                type: string
                format: date-time
          maxItems: 30
        community:
          type: object
          required:
            - post_count
            - comment_count
            - latest_posts
            - latest_comments
          properties:
            post_count:
              type: integer
            comment_count:
              type: integer
            latest_posts:
              type: array
              items:
                type: object
                required:
                  - id
                  - title
                  - created_at
                properties:
                  id:
                    type: string
                  title:
                    type: string
                  created_at:
                    type: string
                    format: date-time
              maxItems: 5
            latest_comments:
              type: array
              items:
                type: object
                required:
                  - id
                  - post_id
                  - body
                properties:
                  id:
                    type: string
                  post_id:
                    type: string
                  body:
                    type: string
                    description: Plain text comment body.
              maxItems: 5
        consultations:
          type: object
          required:
            - count
            - latest
          properties:
            count:
              type: integer
            latest:
              type: array
              items:
                type: object
                required:
                  - id
                  - title
                  - category_id
                  - created_at
                properties:
                  id:
                    type: string
                  title:
                    type: string
                  category_id:
                    type: string
                  created_at:
                    type: string
                    format: date-time
              maxItems: 5
        leaderboard:
          type: object
          required:
            - points
            - rank
          properties:
            points:
              type: number
            rank:
              type: integer
              nullable: true
              description: All-time leaderboard position. Null when the member is excluded.
        level:
          type: object
          required:
            - number
            - unlocked_rewards
            - rewards_to_unlock
          properties:
            number:
              type: integer
            unlocked_rewards:
              type: array
              items:
                type: string
            rewards_to_unlock:
              type: array
              items:
                type: string
      description: >-
        Leaderboard and level are included when enabled. Use page for the main
        lists and lessons_page for unfinished lessons.
    MemberAuditIdentity:
      type: object
      required:
        - id
        - email
        - first_name
        - last_name
        - last_seen_at
        - is_active
        - is_banned
        - created_at
        - updated_at
        - profile_picture_url
      properties:
        id:
          type: string
        email:
          type: string
        first_name:
          type: string
          nullable: true
        last_name:
          type: string
          nullable: true
        last_seen_at:
          type: string
          format: date-time
          nullable: true
        is_active:
          type: boolean
        is_banned:
          type: boolean
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
        profile_picture_url:
          type: string
          nullable: true
          description: Profile picture URL, or null when no picture is set.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.