naftiko: 1.0.0-alpha2 info: label: Spanning Backup for Google Workspace API — Users description: 'Spanning Backup for Google Workspace API — Users. 4 operations. Lead operation: List Users. Self-contained Naftiko capability covering one Spanning business surface.' tags: - Spanning - Users created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: SPANNING_API_KEY: SPANNING_API_KEY capability: consumes: - type: http namespace: google-workspace-users baseUri: https://api.spanningbackup.com description: Spanning Backup for Google Workspace API — Users business capability. Self-contained, no shared references. resources: - name: users path: /users operations: - name: listusers method: GET description: List Users outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: pageSize in: query type: integer description: Number of users to return per page - name: pageToken in: query type: string description: Pagination token from a previous response to get the next page - name: users-userKey path: /users/{userKey} operations: - name: getuser method: GET description: Get User outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: userKey in: path type: string description: User's email address or unique user ID required: true - name: users-userKey-assign path: /users/{userKey}/assign operations: - name: assignuser method: POST description: Assign User outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: userKey in: path type: string description: User's email address or unique user ID required: true - name: users-userKey-unassign path: /users/{userKey}/unassign operations: - name: unassignuser method: POST description: Unassign User outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: userKey in: path type: string description: User's email address or unique user ID required: true authentication: type: apikey key: Authorization value: '{{env.SPANNING_API_KEY}}' placement: header exposes: - type: rest namespace: google-workspace-users-rest port: 8080 description: REST adapter for Spanning Backup for Google Workspace API — Users. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/users name: users description: REST surface for users. operations: - method: GET name: listusers description: List Users call: google-workspace-users.listusers with: pageSize: rest.pageSize pageToken: rest.pageToken outputParameters: - type: object mapping: $. - path: /v1/users/{userkey} name: users-userkey description: REST surface for users-userKey. operations: - method: GET name: getuser description: Get User call: google-workspace-users.getuser with: userKey: rest.userKey outputParameters: - type: object mapping: $. - path: /v1/users/{userkey}/assign name: users-userkey-assign description: REST surface for users-userKey-assign. operations: - method: POST name: assignuser description: Assign User call: google-workspace-users.assignuser with: userKey: rest.userKey outputParameters: - type: object mapping: $. - path: /v1/users/{userkey}/unassign name: users-userkey-unassign description: REST surface for users-userKey-unassign. operations: - method: POST name: unassignuser description: Unassign User call: google-workspace-users.unassignuser with: userKey: rest.userKey outputParameters: - type: object mapping: $. - type: mcp namespace: google-workspace-users-mcp port: 9090 transport: http description: MCP adapter for Spanning Backup for Google Workspace API — Users. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-users description: List Users hints: readOnly: true destructive: false idempotent: true call: google-workspace-users.listusers with: pageSize: tools.pageSize pageToken: tools.pageToken outputParameters: - type: object mapping: $. - name: get-user description: Get User hints: readOnly: true destructive: false idempotent: true call: google-workspace-users.getuser with: userKey: tools.userKey outputParameters: - type: object mapping: $. - name: assign-user description: Assign User hints: readOnly: false destructive: false idempotent: false call: google-workspace-users.assignuser with: userKey: tools.userKey outputParameters: - type: object mapping: $. - name: unassign-user description: Unassign User hints: readOnly: false destructive: false idempotent: false call: google-workspace-users.unassignuser with: userKey: tools.userKey outputParameters: - type: object mapping: $.