openapi: 3.0.0
info:
  title: Evolution Foundation - Evolution Go - Group
  description: Go implementation of Evolution
  version: '1.0'
servers:
- url: http://localhost:8080/
  description: Development server (HTTP)
- url: https://localhost:8080/
  description: Development server (HTTPS)
- url: '{customUrl}'
  description: Custom server
  variables:
    customUrl:
      default: https://your-instance.com
      description: Enter your server URL
paths:
  /group/create:
    post:
      description: Create group
      summary: Create group
      responses:
        '200':
          description: Group created successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: true
                  message:
                    type: string
                  group:
                    type: object
              example:
                message: "success"
        '400':
          description: Bad Request - Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                success: false
                error:
                  code: BAD_REQUEST
                  message: Invalid request data. Group information is required.
                meta:
                  timestamp: '2024-01-15T10:30:00Z'
                  path: /group/create
                  method: POST
        '401':
          description: Unauthorized - Invalid or missing API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                success: false
                error:
                  code: UNAUTHORIZED
                  message: Invalid or missing API key
                meta:
                  timestamp: '2024-01-15T10:30:00Z'
                  path: /group/create
                  method: POST
        '403':
          description: Forbidden - Insufficient permissions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                success: false
                error:
                  code: FORBIDDEN
                  message: Insufficient permissions to create group
                meta:
                  timestamp: '2024-01-15T10:30:00Z'
                  path: /group/create
                  method: POST
        '404':
          description: Not Found - Resource not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                success: false
                error:
                  code: NOT_FOUND
                  message: Resource not found
                meta:
                  timestamp: '2024-01-15T10:30:00Z'
                  path: /group/create
                  method: POST
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                success: false
                error:
                  code: INTERNAL_SERVER_ERROR
                  message: An unexpected error occurred
                meta:
                  timestamp: '2024-01-15T10:30:00Z'
                  path: /group/create
                  method: POST
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateGroup'
        description: Group data
  /group/info:
    post:
      description: Get group info
      summary: Get group info
      responses:
        '200':
          description: Group info retrieved successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: true
                  group:
                    type: object
              example:
                data:
                  JID: "120360000000000001@g.us"
                  OwnerJID: "100000000000001@lid"
                  OwnerPN: "5511999999999@s.whatsapp.net"
                  Name: "Group Name"
                  NameSetAt: "2026-01-15T10:30:00-03:00"
                  NameSetBy: "100000000000001@lid"
                  NameSetByPN: "5511999999999@s.whatsapp.net"
                  Topic: ""
                  TopicID: ""
                  TopicSetAt: "0001-01-01T00:00:00Z"
                  TopicSetBy: ""
                  TopicSetByPN: ""
                  TopicDeleted: false
                  IsLocked: false
                  IsAnnounce: false
                  AnnounceVersionID: "1700000000000004"
                  IsEphemeral: false
                  DisappearingTimer: 0
                  IsIncognito: false
                  IsParent: false
                  DefaultMembershipApprovalMode: ""
                  LinkedParentJID: ""
                  IsDefaultSubGroup: false
                  IsJoinApprovalRequired: false
                  AddressingMode: "lid"
                  GroupCreated: "2026-01-15T10:30:00-03:00"
                  CreatorCountryCode: "BR"
                  ParticipantVersionID: "1700000000000005"
                  Participants:
                  - JID: "100000000000001@lid"
                    PhoneNumber: "5511999999999@s.whatsapp.net"
                    LID: "100000000000001@lid"
                    IsAdmin: true
                    IsSuperAdmin: true
                    DisplayName: ""
                    Error: 0
                    AddRequest: null
                  ParticipantCount: 1
                  MemberAddMode: "all_member_add"
                  Suspended: false
                message: "success"
        '400':
          description: Bad Request - Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                success: false
                error:
                  code: BAD_REQUEST
                  message: Invalid request data. Group information is required.
                meta:
                  timestamp: '2024-01-15T10:30:00Z'
                  path: /group/info
                  method: POST
        '401':
          description: Unauthorized - Invalid or missing API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                success: false
                error:
                  code: UNAUTHORIZED
                  message: Invalid or missing API key
                meta:
                  timestamp: '2024-01-15T10:30:00Z'
                  path: /group/info
                  method: POST
        '403':
          description: Forbidden - Insufficient permissions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                success: false
                error:
                  code: FORBIDDEN
                  message: Insufficient permissions to get group info
                meta:
                  timestamp: '2024-01-15T10:30:00Z'
                  path: /group/info
                  method: POST
        '404':
          description: Not Found - Group not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                success: false
                error:
                  code: NOT_FOUND
                  message: Group not found
                meta:
                  timestamp: '2024-01-15T10:30:00Z'
                  path: /group/info
                  method: POST
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                success: false
                error:
                  code: INTERNAL_SERVER_ERROR
                  message: An unexpected error occurred
                meta:
                  timestamp: '2024-01-15T10:30:00Z'
                  path: /group/info
                  method: POST
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetGroupInfo'
        description: Group data
  /group/invitelink:
    post:
      description: Get group invite link
      summary: Get group invite link
      responses:
        '200':
          description: Group invite link retrieved successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: true
                  inviteLink:
                    type: string
              example:
                data: "https://chat.whatsapp.com/AbCdEfGhIjKlMnOpQrStUv"
                message: "success"
        '400':
          description: Bad Request - Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                success: false
                error:
                  code: BAD_REQUEST
                  message: Invalid request data. Group information is required.
                meta:
                  timestamp: '2024-01-15T10:30:00Z'
                  path: /group/invitelink
                  method: POST
        '401':
          description: Unauthorized - Invalid or missing API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                success: false
                error:
                  code: UNAUTHORIZED
                  message: Invalid or missing API key
                meta:
                  timestamp: '2024-01-15T10:30:00Z'
                  path: /group/invitelink
                  method: POST
        '403':
          description: Forbidden - Insufficient permissions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                success: false
                error:
                  code: FORBIDDEN
                  message: Insufficient permissions to get group invite link
                meta:
                  timestamp: '2024-01-15T10:30:00Z'
                  path: /group/invitelink
                  method: POST
        '404':
          description: Not Found - Group not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                success: false
                error:
                  code: NOT_FOUND
                  message: Group not found
                meta:
                  timestamp: '2024-01-15T10:30:00Z'
                  path: /group/invitelink
                  method: POST
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                success: false
                error:
                  code: INTERNAL_SERVER_ERROR
                  message: An unexpected error occurred
                meta:
                  timestamp: '2024-01-15T10:30:00Z'
                  path: /group/invitelink
                  method: POST
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetGroupInviteLink'
        description: Group data
  /group/join:
    post:
      description: Join group link
      summary: Join group link
      responses:
        '200':
          description: Joined group successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: true
                  message:
                    type: string
              example:
                message: "success"
        '400':
          description: Bad Request - Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                success: false
                error:
                  code: BAD_REQUEST
                  message: Invalid request data. Group invite link is required.
                meta:
                  timestamp: '2024-01-15T10:30:00Z'
                  path: /group/join
                  method: POST
        '401':
          description: Unauthorized - Invalid or missing API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                success: false
                error:
                  code: UNAUTHORIZED
                  message: Invalid or missing API key
                meta:
                  timestamp: '2024-01-15T10:30:00Z'
                  path: /group/join
                  method: POST
        '403':
          description: Forbidden - Insufficient permissions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                success: false
                error:
                  code: FORBIDDEN
                  message: Insufficient permissions to join group
                meta:
                  timestamp: '2024-01-15T10:30:00Z'
                  path: /group/join
                  method: POST
        '404':
          description: Not Found - Group or invite link not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                success: false
                error:
                  code: NOT_FOUND
                  message: Group or invite link not found
                meta:
                  timestamp: '2024-01-15T10:30:00Z'
                  path: /group/join
                  method: POST
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                success: false
                error:
                  code: INTERNAL_SERVER_ERROR
                  message: An unexpected error occurred
                meta:
                  timestamp: '2024-01-15T10:30:00Z'
                  path: /group/join
                  method: POST
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/JoinGroup'
        description: Group data
  /group/list:
    get:
      description: List groups
      summary: List groups
      responses:
        '200':
          description: Groups listed successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: true
                  groups:
                    type: array
                    items:
                      type: object
              example:
                data:
                - JID: "120360000000000002@g.us"
                  OwnerJID: "100000000000002@lid"
                  OwnerPN: "5511999999999@s.whatsapp.net"
                  Name: "Group Name"
                  NameSetAt: "2026-01-15T10:30:00-03:00"
                  NameSetBy: "100000000000002@lid"
                  NameSetByPN: "5511999999999@s.whatsapp.net"
                  Topic: ""
                  TopicID: ""
                  TopicSetAt: "0001-01-01T00:00:00Z"
                  TopicSetBy: ""
                  TopicSetByPN: ""
                  TopicDeleted: false
                  IsLocked: false
                  IsAnnounce: false
                  AnnounceVersionID: "1700000000000006"
                  IsEphemeral: false
                  DisappearingTimer: 0
                  IsIncognito: false
                  IsParent: false
                  DefaultMembershipApprovalMode: ""
                  LinkedParentJID: ""
                  IsDefaultSubGroup: false
                  IsJoinApprovalRequired: false
                  AddressingMode: "lid"
                  GroupCreated: "2026-01-15T10:30:00-03:00"
                  CreatorCountryCode: "BR"
                  ParticipantVersionID: "1700000000000007"
                  Participants:
                  - JID: "100000000000002@lid"
                    PhoneNumber: "5511999999999@s.whatsapp.net"
                    LID: "100000000000002@lid"
                    IsAdmin: true
                    IsSuperAdmin: true
                    DisplayName: ""
                    Error: 0
                    AddRequest: null
                  ParticipantCount: 0
                  MemberAddMode: "admin_add"
                  Suspended: false
                message: "success"
        '400':
          description: Bad Request - Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                success: false
                error:
                  code: BAD_REQUEST
                  message: Invalid request data
                meta:
                  timestamp: '2024-01-15T10:30:00Z'
                  path: /group/list
                  method: GET
        '401':
          description: Unauthorized - Invalid or missing API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                success: false
                error:
                  code: UNAUTHORIZED
                  message: Invalid or missing API key
                meta:
                  timestamp: '2024-01-15T10:30:00Z'
                  path: /group/list
                  method: GET
        '403':
          description: Forbidden - Insufficient permissions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                success: false
                error:
                  code: FORBIDDEN
                  message: Insufficient permissions to list groups
                meta:
                  timestamp: '2024-01-15T10:30:00Z'
                  path: /group/list
                  method: GET
        '404':
          description: Not Found - Resource not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                success: false
                error:
                  code: NOT_FOUND
                  message: Resource not found
                meta:
                  timestamp: '2024-01-15T10:30:00Z'
                  path: /group/list
                  method: GET
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                success: false
                error:
                  code: INTERNAL_SERVER_ERROR
                  message: An unexpected error occurred
                meta:
                  timestamp: '2024-01-15T10:30:00Z'
                  path: /group/list
                  method: GET
  /group/myall:
    get:
      description: Get my groups
      summary: Get my groups
      responses:
        '200':
          description: My groups retrieved successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: true
                  groups:
                    type: array
                    items:
                      type: object
              example:
                data: null
                message: "success"
        '400':
          description: Bad Request - Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                success: false
                error:
                  code: BAD_REQUEST
                  message: Invalid request data
                meta:
                  timestamp: '2024-01-15T10:30:00Z'
                  path: /group/myall
                  method: GET
        '401':
          description: Unauthorized - Invalid or missing API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                success: false
                error:
                  code: UNAUTHORIZED
                  message: Invalid or missing API key
                meta:
                  timestamp: '2024-01-15T10:30:00Z'
                  path: /group/myall
                  method: GET
        '403':
          description: Forbidden - Insufficient permissions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                success: false
                error:
                  code: FORBIDDEN
                  message: Insufficient permissions to get my groups
                meta:
                  timestamp: '2024-01-15T10:30:00Z'
                  path: /group/myall
                  method: GET
        '404':
          description: Not Found - Resource not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                success: false
                error:
                  code: NOT_FOUND
                  message: Resource not found
                meta:
                  timestamp: '2024-01-15T10:30:00Z'
                  path: /group/myall
                  method: GET
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                success: false
                error:
                  code: INTERNAL_SERVER_ERROR
                  message: An unexpected error occurred
                meta:
                  timestamp: '2024-01-15T10:30:00Z'
                  path: /group/myall
                  method: GET
  /group/name:
    post:
      description: Set group name
      summary: Set group name
      responses:
        '200':
          description: Group name set successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: true
                  message:
                    type: string
              example:
                message: "success"
        '400':
          description: Bad Request - Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                success: false
                error:
                  code: BAD_REQUEST
                  message: Invalid request data. Group name is required.
                meta:
                  timestamp: '2024-01-15T10:30:00Z'
                  path: /group/name
                  method: POST
        '401':
          description: Unauthorized - Invalid or missing API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                success: false
                error:
                  code: UNAUTHORIZED
                  message: Invalid or missing API key
                meta:
                  timestamp: '2024-01-15T10:30:00Z'
                  path: /group/name
                  method: POST
        '403':
          description: Forbidden - Insufficient permissions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                success: false
                error:
                  code: FORBIDDEN
                  message: Insufficient permissions to set group name
                meta:
                  timestamp: '2024-01-15T10:30:00Z'
                  path: /group/name
                  method: POST
        '404':
          description: Not Found - Group not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                success: false
                error:
                  code: NOT_FOUND
                  message: Group not found
                meta:
                  timestamp: '2024-01-15T10:30:00Z'
                  path: /group/name
                  method: POST
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                success: false
                error:
                  code: INTERNAL_SERVER_ERROR
                  message: An unexpected error occurred
                meta:
                  timestamp: '2024-01-15T10:30:00Z'
                  path: /group/name
                  method: POST
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SetGroupName'
        description: Group data
  /group/participant:
    post:
      description: Update participant
      summary: Update participant
      responses:
        '200':
          description: >
            ⚠️ BUG CONHECIDO: Este endpoint retorna erro 400 com "participants is required and cannot be empty" mesmo com payload correto.
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: true
                  message:
                    type: string
              example:
                error: "participants is required and cannot be empty"
        '400':
          description: Bad Request - Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                success: false
                error:
                  code: BAD_REQUEST
                  message: Invalid request data. Participant information is required.
                meta:
                  timestamp: '2024-01-15T10:30:00Z'
                  path: /group/participant
                  method: POST
        '401':
          description: Unauthorized - Invalid or missing API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                success: false
                error:
                  code: UNAUTHORIZED
                  message: Invalid or missing API key
                meta:
                  timestamp: '2024-01-15T10:30:00Z'
                  path: /group/participant
                  method: POST
        '403':
          description: Forbidden - Insufficient permissions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                success: false
                error:
                  code: FORBIDDEN
                  message: Insufficient permissions to update participant
                meta:
                  timestamp: '2024-01-15T10:30:00Z'
                  path: /group/participant
                  method: POST
        '404':
          description: Not Found - Group or participant not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                success: false
                error:
                  code: NOT_FOUND
                  message: Group or participant not found
                meta:
                  timestamp: '2024-01-15T10:30:00Z'
                  path: /group/participant
                  method: POST
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                success: false
                error:
                  code: INTERNAL_SERVER_ERROR
                  message: An unexpected error occurred
                meta:
                  timestamp: '2024-01-15T10:30:00Z'
                  path: /group/participant
                  method: POST
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddGroupParticipant'
        description: Group data
  /group/photo:
    post:
      description: Set group photo
      summary: Set group photo
      responses:
        '200':
          description: Group photo set successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: true
                  message:
                    type: string
              example:
                data: "82.218-369"
                message: "success"
        '400':
          description: Bad Request - Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                success: false
                error:
                  code: BAD_REQUEST
                  message: Invalid request data. Group photo is required.
                meta:
                  timestamp: '2024-01-15T10:30:00Z'
                  path: /group/photo
                  method: POST
        '401':
          description: Unauthorized - Invalid or missing API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                success: false
                error:
                  code: UNAUTHORIZED
                  message: Invalid or missing API key
                meta:
                  timestamp: '2024-01-15T10:30:00Z'
                  path: /group/photo
                  method: POST
        '403':
          description: Forbidden - Insufficient permissions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                success: false
                error:
                  code: FORBIDDEN
                  message: Insufficient permissions to set group photo
                meta:
                  timestamp: '2024-01-15T10:30:00Z'
                  path: /group/photo
                  method: POST
        '404':
          description: Not Found - Group not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                success: false
                error:
                  code: NOT_FOUND
                  message: Group not found
                meta:
                  timestamp: '2024-01-15T10:30:00Z'
                  path: /group/photo
                  method: POST
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                success: false
                error:
                  code: INTERNAL_SERVER_ERROR
                  message: An unexpected error occurred
                meta:
                  timestamp: '2024-01-15T10:30:00Z'
                  path: /group/photo
                  method: POST
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SetGroupPhoto'
        description: Group data
components:
  schemas:
    AddGroupParticipant:
      type: object
      properties:
        action:
          $ref: '#/components/schemas/ParticipantChange'
        groupJid:
          $ref: '#/components/schemas/JID'
        participants:
          items:
            type: string
          type: array
    CreateGroup:
      type: object
      properties:
        groupName:
          type: string
        participants:
          items:
            type: string
          type: array
    ErrorResponse:
      type: object
      required:
      - success
      - error
      properties:
        success:
          type: boolean
          example: false
        error:
          type: object
          required:
          - code
          - message
          properties:
            code:
              type: string
            message:
              type: string
        meta:
          type: object
          properties:
            timestamp:
              type: string
              format: date-time
            path:
              type: string
            method:
              type: string
    GetGroupInfo:
      type: object
      properties:
        groupJid:
          type: string
    GetGroupInviteLink:
      type: object
      properties:
        groupJid:
          type: string
        reset:
          type: boolean
    JoinGroup:
      type: object
      properties:
        code:
          type: string
    SetGroupName:
      type: object
      properties:
        groupJid:
          type: string
        name:
          type: string
    SetGroupPhoto:
      type: object
      properties:
        groupJid:
          type: string
        image:
          type: string
    JID:
      type: object
      properties:
        device:
          type: integer
        integrator:
          type: integer
        rawAgent:
          type: integer
        server:
          type: string
        user:
          type: string
    ParticipantChange:
      type: string
      enum:
      - add
      - remove
      - promote
      - demote
      x-enum-varnames:
      - ParticipantChangeAdd
      - ParticipantChangeRemove
      - ParticipantChangePromote
      - ParticipantChangeDemote
