Webex Memberships API

Manage room memberships representing a person's relationship to a room. Use this API to list members of any room, create memberships to invite users, and update or remove memberships.

OpenAPI Specification

cisco-webex-memberships-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Cisco Webex Memberships API
  description: >-
    Manage room memberships representing a person's relationship to a room.
    Use this API to list members of any room, create memberships to invite
    users, and update or remove memberships.
  version: 1.0.0
  contact:
    name: Cisco Webex Developer Support
    url: https://developer.webex.com/support
  license:
    name: Cisco Webex API Terms of Service
    url: https://developer.webex.com/terms-of-service
servers:
  - url: https://webexapis.com/v1
    description: Webex Production API
security:
  - bearerAuth: []
tags:
  - name: Memberships
    description: Operations for managing room memberships
paths:
  /memberships:
    get:
      operationId: listMemberships
      summary: Cisco Webex List Memberships
      description: >-
        Lists all room memberships. Filter by room ID, person ID, or person
        email. Results are paginated and include membership status and roles.
      tags:
        - Memberships
      parameters:
        - name: roomId
          in: query
          description: Filter memberships by room ID.
          schema:
            type: string
        - name: personId
          in: query
          description: Filter memberships by person ID.
          schema:
            type: string
        - name: personEmail
          in: query
          description: Filter memberships by person email address.
          schema:
            type: string
            format: email
        - name: max
          in: query
          description: Maximum number of memberships to return (default 100).
          schema:
            type: integer
            default: 100
      responses:
        '200':
          description: Successful response with list of memberships.
          content:
            application/json:
              schema:
                type: object
                properties:
                  items:
                    type: array
                    items:
                      $ref: '#/components/schemas/Membership'
        '401':
          description: Unauthorized - invalid or missing access token.
    post:
      operationId: createMembership
      summary: Cisco Webex Create a Membership
      description: >-
        Adds a person to a room. The person can be specified by person ID
        or email address. Optionally set the person as a room moderator.
      tags:
        - Memberships
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateMembershipRequest'
      responses:
        '200':
          description: Membership created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Membership'
        '400':
          description: Bad request - invalid input parameters.
        '401':
          description: Unauthorized - invalid or missing access token.
        '409':
          description: Conflict - person is already a member of the room.
  /memberships/{membershipId}:
    get:
      operationId: getMembershipDetails
      summary: Cisco Webex Get Membership Details
      description: >-
        Shows details for a membership by ID. Returns the membership
        configuration including role and hidden status.
      tags:
        - Memberships
      parameters:
        - name: membershipId
          in: path
          required: true
          description: Unique identifier for the membership.
          schema:
            type: string
      responses:
        '200':
          description: Successful response with membership details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Membership'
        '404':
          description: Membership not found.
    put:
      operationId: updateMembership
      summary: Cisco Webex Update a Membership
      description: >-
        Updates properties of a membership by ID. Allows changing the
        moderator status and visibility of direct spaces.
      tags:
        - Memberships
      parameters:
        - name: membershipId
          in: path
          required: true
          description: Unique identifier for the membership.
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateMembershipRequest'
      responses:
        '200':
          description: Membership updated successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Membership'
        '400':
          description: Bad request - invalid input parameters.
        '404':
          description: Membership not found.
    delete:
      operationId: deleteMembership
      summary: Cisco Webex Delete a Membership
      description: >-
        Deletes a membership by ID. The person is removed from the room and
        can no longer access the room's content.
      tags:
        - Memberships
      parameters:
        - name: membershipId
          in: path
          required: true
          description: Unique identifier for the membership.
          schema:
            type: string
      responses:
        '204':
          description: Membership deleted successfully.
        '404':
          description: Membership not found.
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        Webex API access token. Obtain via OAuth 2.0 authorization flow or
        personal access token from developer.webex.com.
  schemas:
    Membership:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the membership.
        roomId:
          type: string
          description: The room ID for the membership.
        personId:
          type: string
          description: The person ID for the membership.
        personEmail:
          type: string
          format: email
          description: The email address of the person.
        personDisplayName:
          type: string
          description: The display name of the person.
        personOrgId:
          type: string
          description: The organization ID of the person.
        isModerator:
          type: boolean
          description: Whether the person is a room moderator.
        isRoomHidden:
          type: boolean
          description: Whether the direct space is hidden.
        roomType:
          type: string
          description: The type of room.
          enum:
            - direct
            - group
        isMonitor:
          type: boolean
          description: Whether the member is a monitoring bot.
        created:
          type: string
          format: date-time
          description: Date and time the membership was created.
    CreateMembershipRequest:
      type: object
      required:
        - roomId
      properties:
        roomId:
          type: string
          description: The room ID to add the person to.
        personId:
          type: string
          description: The person ID to add. Either personId or personEmail is required.
        personEmail:
          type: string
          format: email
          description: >-
            The email address of the person to add. Either personId or
            personEmail is required.
        isModerator:
          type: boolean
          description: Whether the person is a room moderator.
    UpdateMembershipRequest:
      type: object
      required:
        - isModerator
      properties:
        isModerator:
          type: boolean
          description: Whether the person is a room moderator.
        isRoomHidden:
          type: boolean
          description: Whether to hide the direct space.