naftiko: 1.0.0-alpha2 info: label: Webex Admin — Organization Contacts description: 'Webex Admin — Organization Contacts. 7 operations. Lead operation: Create a Contact. Self-contained Naftiko capability covering one Webex business surface.' tags: - Webex - Organization Contacts created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: WEBEX_API_KEY: WEBEX_API_KEY capability: consumes: - type: http namespace: admin-organization-contacts baseUri: '' description: Webex Admin — Organization Contacts business capability. Self-contained, no shared references. resources: - name: contacts-organizations-orgId-contacts path: /contacts/organizations/{orgId}/contacts operations: - name: createacontact method: POST description: Create a Contact outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: orgId in: path type: string description: Webex Identity assigned organization identifier for the user's organization or the organization he manages. required: true - name: body in: body type: object description: Request body (JSON). required: false - name: contacts-organizations-orgId-contacts-bulk path: /contacts/organizations/{orgId}/contacts/bulk operations: - name: bulkcreateorupdatecontacts method: POST description: Bulk Create or Update Contacts outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: orgId in: path type: string description: Webex Identity assigned organization identifier for the user's organization or the organization he manages. required: true - name: body in: body type: object description: Request body (JSON). required: false - name: contacts-organizations-orgId-contacts-bulk-delete path: /contacts/organizations/{orgId}/contacts/bulk/delete operations: - name: bulkdeletecontacts method: POST description: Bulk Delete Contacts outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: orgId in: path type: string description: Webex Identity assigned organization identifier for the user's organization or the organization he manages. required: true - name: body in: body type: object description: Request body (JSON). required: false - name: contacts-organizations-orgId-contacts-search path: /contacts/organizations/{orgId}/contacts/search operations: - name: listcontacts method: GET description: List Contacts outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: orgId in: path type: string description: The organization ID. required: true - name: keyword in: query type: string description: List contacts with a keyword. - name: source in: query type: string description: List contacts with source. - name: limit in: query type: number description: Limit the maximum number of contact in the response. - name: groupIds in: query type: array description: Filter contacts based on groups. - name: contacts-organizations-orgId-contacts-contactId path: /contacts/organizations/{orgId}/contacts/{contactId} operations: - name: getacontact method: GET description: Get a Contact outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: orgId in: path type: string description: Webex Identity assigned organization identifier for the user's organization or the organization he manages. required: true - name: contactId in: path type: string description: The contact ID. required: true - name: updateacontact method: PATCH description: Update a Contact outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: orgId in: path type: string description: Webex Identity assigned organization identifier for the user's organization or the organization he manages. required: true - name: contactId in: path type: string description: The contact ID. required: true - name: body in: body type: object description: Request body (JSON). required: false - name: deleteacontact method: DELETE description: Delete a Contact outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: orgId in: path type: string description: Webex Identity assigned organization identifier for the user's organization or the organization he manages. required: true - name: contactId in: path type: string description: The contact ID. required: true authentication: type: bearer token: '{{env.WEBEX_API_KEY}}' exposes: - type: rest namespace: admin-organization-contacts-rest port: 8080 description: REST adapter for Webex Admin — Organization Contacts. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/contacts/organizations/{orgid}/contacts name: contacts-organizations-orgid-contacts description: REST surface for contacts-organizations-orgId-contacts. operations: - method: POST name: createacontact description: Create a Contact call: admin-organization-contacts.createacontact with: orgId: rest.orgId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/contacts/organizations/{orgid}/contacts/bulk name: contacts-organizations-orgid-contacts-bulk description: REST surface for contacts-organizations-orgId-contacts-bulk. operations: - method: POST name: bulkcreateorupdatecontacts description: Bulk Create or Update Contacts call: admin-organization-contacts.bulkcreateorupdatecontacts with: orgId: rest.orgId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/contacts/organizations/{orgid}/contacts/bulk/delete name: contacts-organizations-orgid-contacts-bulk-delete description: REST surface for contacts-organizations-orgId-contacts-bulk-delete. operations: - method: POST name: bulkdeletecontacts description: Bulk Delete Contacts call: admin-organization-contacts.bulkdeletecontacts with: orgId: rest.orgId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/contacts/organizations/{orgid}/contacts/search name: contacts-organizations-orgid-contacts-search description: REST surface for contacts-organizations-orgId-contacts-search. operations: - method: GET name: listcontacts description: List Contacts call: admin-organization-contacts.listcontacts with: orgId: rest.orgId keyword: rest.keyword source: rest.source limit: rest.limit groupIds: rest.groupIds outputParameters: - type: object mapping: $. - path: /v1/contacts/organizations/{orgid}/contacts/{contactid} name: contacts-organizations-orgid-contacts-contactid description: REST surface for contacts-organizations-orgId-contacts-contactId. operations: - method: GET name: getacontact description: Get a Contact call: admin-organization-contacts.getacontact with: orgId: rest.orgId contactId: rest.contactId outputParameters: - type: object mapping: $. - method: PATCH name: updateacontact description: Update a Contact call: admin-organization-contacts.updateacontact with: orgId: rest.orgId contactId: rest.contactId body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deleteacontact description: Delete a Contact call: admin-organization-contacts.deleteacontact with: orgId: rest.orgId contactId: rest.contactId outputParameters: - type: object mapping: $. - type: mcp namespace: admin-organization-contacts-mcp port: 9090 transport: http description: MCP adapter for Webex Admin — Organization Contacts. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: create-contact description: Create a Contact hints: readOnly: false destructive: false idempotent: false call: admin-organization-contacts.createacontact with: orgId: tools.orgId body: tools.body outputParameters: - type: object mapping: $. - name: bulk-create-update-contacts description: Bulk Create or Update Contacts hints: readOnly: false destructive: false idempotent: false call: admin-organization-contacts.bulkcreateorupdatecontacts with: orgId: tools.orgId body: tools.body outputParameters: - type: object mapping: $. - name: bulk-delete-contacts description: Bulk Delete Contacts hints: readOnly: false destructive: false idempotent: false call: admin-organization-contacts.bulkdeletecontacts with: orgId: tools.orgId body: tools.body outputParameters: - type: object mapping: $. - name: list-contacts description: List Contacts hints: readOnly: true destructive: false idempotent: true call: admin-organization-contacts.listcontacts with: orgId: tools.orgId keyword: tools.keyword source: tools.source limit: tools.limit groupIds: tools.groupIds outputParameters: - type: object mapping: $. - name: get-contact description: Get a Contact hints: readOnly: true destructive: false idempotent: true call: admin-organization-contacts.getacontact with: orgId: tools.orgId contactId: tools.contactId outputParameters: - type: object mapping: $. - name: update-contact description: Update a Contact hints: readOnly: false destructive: false idempotent: true call: admin-organization-contacts.updateacontact with: orgId: tools.orgId contactId: tools.contactId body: tools.body outputParameters: - type: object mapping: $. - name: delete-contact description: Delete a Contact hints: readOnly: false destructive: true idempotent: true call: admin-organization-contacts.deleteacontact with: orgId: tools.orgId contactId: tools.contactId outputParameters: - type: object mapping: $.