naftiko: 1.0.0-alpha2 info: label: Webex Meetings — People description: 'Webex Meetings — People. 6 operations. Lead operation: List People. Self-contained Naftiko capability covering one Webex business surface.' tags: - Webex - People created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: WEBEX_API_KEY: WEBEX_API_KEY capability: consumes: - type: http namespace: meeting-people baseUri: '' description: Webex Meetings — People business capability. Self-contained, no shared references. resources: - name: people path: /people operations: - name: listpeople method: GET description: List People outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: email in: query type: string description: List people with this email address. For non-admin requests, either this or `displayName` are required. With the exception of partner admins and a managed org r - name: displayName in: query type: string description: List people whose name starts with this string. For non-admin requests, either this or email are required. - name: id in: query type: string description: List people by ID. Accepts up to 85 person IDs separated by commas. If this parameter is provided then presence information (such as the `lastActivity` or `stat - name: orgId in: query type: string description: List people in this organization. Only admin users of another organization (such as partners) may use this parameter. - name: roles in: query type: string description: List of roleIds separated by commas. - name: callingData in: query type: boolean description: Include Webex Calling user details in the response. - name: locationId in: query type: string description: List people present in this location. - name: max in: query type: number description: Limit the maximum number of people in the response. If `callingData`=true, then `max` will not be more than 100. If `locationId` is specified then `max` will no - name: excludeStatus in: query type: boolean description: Omit people status/availability to enhance query performance. - name: createaperson method: POST description: Create a Person outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: callingData in: query type: boolean description: Include Webex Calling user details in the response. - name: minResponse in: query type: boolean description: Set to `true` to improve performance by omitting person details and returning only the ID in the response when successful. If unsuccessful the response will hav - name: body in: body type: object description: Request body (JSON). required: false - name: people-me path: /people/me operations: - name: getmyowndetails method: GET description: Get My Own Details outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: callingData in: query type: boolean description: Include Webex Calling user details in the response. - name: people-personId path: /people/{personId} operations: - name: getpersondetails method: GET description: Get Person Details outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: personId in: path type: string description: A unique identifier for the person. required: true - name: callingData in: query type: boolean description: Include Webex Calling user details in the response. - name: updateaperson method: PUT description: Update a Person outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: personId in: path type: string description: A unique identifier for the person. required: true - name: callingData in: query type: boolean description: Include Webex Calling user details in the response. - name: showAllTypes in: query type: boolean description: Include additional user data like `#attendee` role. - name: minResponse in: query type: boolean description: Set to `true` to improve performance by omitting person details in the response. If unsuccessful the response will have optional error details. - name: body in: body type: object description: Request body (JSON). required: false - name: deleteaperson method: DELETE description: Delete a Person outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: personId in: path type: string description: A unique identifier for the person. required: true authentication: type: bearer token: '{{env.WEBEX_API_KEY}}' exposes: - type: rest namespace: meeting-people-rest port: 8080 description: REST adapter for Webex Meetings — People. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/people name: people description: REST surface for people. operations: - method: GET name: listpeople description: List People call: meeting-people.listpeople with: email: rest.email displayName: rest.displayName id: rest.id orgId: rest.orgId roles: rest.roles callingData: rest.callingData locationId: rest.locationId max: rest.max excludeStatus: rest.excludeStatus outputParameters: - type: object mapping: $. - method: POST name: createaperson description: Create a Person call: meeting-people.createaperson with: callingData: rest.callingData minResponse: rest.minResponse body: rest.body outputParameters: - type: object mapping: $. - path: /v1/people/me name: people-me description: REST surface for people-me. operations: - method: GET name: getmyowndetails description: Get My Own Details call: meeting-people.getmyowndetails with: callingData: rest.callingData outputParameters: - type: object mapping: $. - path: /v1/people/{personid} name: people-personid description: REST surface for people-personId. operations: - method: GET name: getpersondetails description: Get Person Details call: meeting-people.getpersondetails with: personId: rest.personId callingData: rest.callingData outputParameters: - type: object mapping: $. - method: PUT name: updateaperson description: Update a Person call: meeting-people.updateaperson with: personId: rest.personId callingData: rest.callingData showAllTypes: rest.showAllTypes minResponse: rest.minResponse body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deleteaperson description: Delete a Person call: meeting-people.deleteaperson with: personId: rest.personId outputParameters: - type: object mapping: $. - type: mcp namespace: meeting-people-mcp port: 9090 transport: http description: MCP adapter for Webex Meetings — People. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-people description: List People hints: readOnly: true destructive: false idempotent: true call: meeting-people.listpeople with: email: tools.email displayName: tools.displayName id: tools.id orgId: tools.orgId roles: tools.roles callingData: tools.callingData locationId: tools.locationId max: tools.max excludeStatus: tools.excludeStatus outputParameters: - type: object mapping: $. - name: create-person description: Create a Person hints: readOnly: false destructive: false idempotent: false call: meeting-people.createaperson with: callingData: tools.callingData minResponse: tools.minResponse body: tools.body outputParameters: - type: object mapping: $. - name: get-my-own-details description: Get My Own Details hints: readOnly: true destructive: false idempotent: true call: meeting-people.getmyowndetails with: callingData: tools.callingData outputParameters: - type: object mapping: $. - name: get-person-details description: Get Person Details hints: readOnly: true destructive: false idempotent: true call: meeting-people.getpersondetails with: personId: tools.personId callingData: tools.callingData outputParameters: - type: object mapping: $. - name: update-person description: Update a Person hints: readOnly: false destructive: false idempotent: true call: meeting-people.updateaperson with: personId: tools.personId callingData: tools.callingData showAllTypes: tools.showAllTypes minResponse: tools.minResponse body: tools.body outputParameters: - type: object mapping: $. - name: delete-person description: Delete a Person hints: readOnly: false destructive: true idempotent: true call: meeting-people.deleteaperson with: personId: tools.personId outputParameters: - type: object mapping: $.