{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/lastmileai/json-schema/lastmileai-lmai-proto-webserver-v2-list-project-members-response-schema.json",
  "title": "ListProjectMembersResponse",
  "x-generated": "2026-11-10",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/lastmileai-project-api-openapi.yml#/components/schemas/lmai.proto.webserver.v2.ListProjectMembersResponse",
  "type": "object",
  "properties": {
    "projectMembers": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/lmai.proto.webserver.v2.ProjectMember"
      }
    },
    "totalCount": {
      "type": "integer",
      "description": "Total count of project members which can be listed with applicable\n filters, regardless of page size"
    }
  },
  "required": [
    "projectMembers",
    "totalCount"
  ],
  "$defs": {
    "lmai.proto.webserver.v2.ProjectMember": {
      "title": "ProjectMember",
      "type": "object",
      "properties": {
        "role": {
          "$ref": "#/$defs/lmai.proto.webserver.v2.Role",
          "description": "The auth Role for the project member"
        },
        "projectRole": {
          "type": "string",
          "enum": [
            "PROJECT_ROLE_UNSPECIFIED",
            "PROJECT_ROLE_ADMIN",
            "PROJECT_ROLE_MEMBER",
            "PROJECT_ROLE_CONTRIBUTOR"
          ],
          "title": "ProjectRole",
          "description": "The role within the project for this member"
        }
      },
      "required": [
        "role",
        "projectRole"
      ]
    },
    "lmai.proto.webserver.v2.Role": {
      "title": "Role",
      "type": "object",
      "properties": {
        "id": {
          "type": "integer"
        },
        "name": {
          "type": "string"
        },
        "displayName": {
          "type": "string",
          "description": "Human-readable display name for the role"
        },
        "roleType": {
          "type": "string",
          "enum": [
            "ROLE_TYPE_UNSPECIFIED",
            "ROLE_TYPE_USER",
            "ROLE_TYPE_ORGANIZATION",
            "ROLE_TYPE_PROJECT"
          ],
          "title": "RoleType"
        },
        "roleUsers": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/lmai.proto.webserver.v2.RoleUser"
          }
        },
        "grantedToRoleIds": {
          "type": "array",
          "items": {
            "type": "integer"
          }
        }
      },
      "required": [
        "id",
        "name",
        "displayName",
        "roleType",
        "roleUsers",
        "grantedToRoleIds"
      ]
    },
    "lmai.proto.webserver.v2.RoleUser": {
      "title": "RoleUser",
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "User id for the user"
        },
        "name": {
          "type": "string"
        },
        "email": {
          "type": "string"
        },
        "profileImageUrl": {
          "type": "string"
        }
      },
      "required": [
        "id",
        "name"
      ]
    }
  }
}