naftiko: 1.0.0-alpha2 info: label: Box Platform API — Group Memberships description: 'Box Platform API — Group Memberships. 6 operations. Lead operation: Box Add user to group. Self-contained Naftiko capability covering one Box business surface.' tags: - Box - Group Memberships created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: BOX_API_KEY: BOX_API_KEY capability: consumes: - type: http namespace: box-group-memberships baseUri: https://api.box.com/2.0 description: Box Platform API — Group Memberships business capability. Self-contained, no shared references. resources: - name: group_memberships path: /group_memberships operations: - name: postgroupmemberships method: POST description: Box Add user to group outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: fields in: query type: array description: A comma-separated list of attributes to include in the - name: body in: body type: object description: Request body (JSON). required: false - name: group_memberships-group_membership_id path: /group_memberships/{group_membership_id} operations: - name: getgroupmembershipsid method: GET description: Box Get group membership outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: group_membership_id in: path type: string description: The ID of the group membership. required: true - name: fields in: query type: array description: A comma-separated list of attributes to include in the - name: putgroupmembershipsid method: PUT description: Box Update group membership outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: group_membership_id in: path type: string description: The ID of the group membership. required: true - name: fields in: query type: array description: A comma-separated list of attributes to include in the - name: body in: body type: object description: Request body (JSON). required: false - name: deletegroupmembershipsid method: DELETE description: Box Remove user from group outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: group_membership_id in: path type: string description: The ID of the group membership. required: true - name: groups-group_id-memberships path: /groups/{group_id}/memberships operations: - name: getgroupsidmemberships method: GET description: Box List members of group outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: group_id in: path type: string description: The ID of the group. required: true - name: limit in: query type: integer description: The maximum number of items to return per page. - name: offset in: query type: integer description: The offset of the item at which to begin the response. - name: users-user_id-memberships path: /users/{user_id}/memberships operations: - name: getusersidmemberships method: GET description: Box List user's groups outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: user_id in: path type: string description: The ID of the user. required: true - name: limit in: query type: integer description: The maximum number of items to return per page. - name: offset in: query type: integer description: The offset of the item at which to begin the response. authentication: type: bearer token: '{{env.BOX_API_KEY}}' exposes: - type: rest namespace: box-group-memberships-rest port: 8080 description: REST adapter for Box Platform API — Group Memberships. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/group-memberships name: group-memberships description: REST surface for group_memberships. operations: - method: POST name: postgroupmemberships description: Box Add user to group call: box-group-memberships.postgroupmemberships with: fields: rest.fields body: rest.body outputParameters: - type: object mapping: $. - path: /v1/group-memberships/{group-membership-id} name: group-memberships-group-membership-id description: REST surface for group_memberships-group_membership_id. operations: - method: GET name: getgroupmembershipsid description: Box Get group membership call: box-group-memberships.getgroupmembershipsid with: group_membership_id: rest.group_membership_id fields: rest.fields outputParameters: - type: object mapping: $. - method: PUT name: putgroupmembershipsid description: Box Update group membership call: box-group-memberships.putgroupmembershipsid with: group_membership_id: rest.group_membership_id fields: rest.fields body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deletegroupmembershipsid description: Box Remove user from group call: box-group-memberships.deletegroupmembershipsid with: group_membership_id: rest.group_membership_id outputParameters: - type: object mapping: $. - path: /v1/groups/{group-id}/memberships name: groups-group-id-memberships description: REST surface for groups-group_id-memberships. operations: - method: GET name: getgroupsidmemberships description: Box List members of group call: box-group-memberships.getgroupsidmemberships with: group_id: rest.group_id limit: rest.limit offset: rest.offset outputParameters: - type: object mapping: $. - path: /v1/users/{user-id}/memberships name: users-user-id-memberships description: REST surface for users-user_id-memberships. operations: - method: GET name: getusersidmemberships description: Box List user's groups call: box-group-memberships.getusersidmemberships with: user_id: rest.user_id limit: rest.limit offset: rest.offset outputParameters: - type: object mapping: $. - type: mcp namespace: box-group-memberships-mcp port: 9090 transport: http description: MCP adapter for Box Platform API — Group Memberships. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: box-add-user-group description: Box Add user to group hints: readOnly: false destructive: false idempotent: false call: box-group-memberships.postgroupmemberships with: fields: tools.fields body: tools.body outputParameters: - type: object mapping: $. - name: box-get-group-membership description: Box Get group membership hints: readOnly: true destructive: false idempotent: true call: box-group-memberships.getgroupmembershipsid with: group_membership_id: tools.group_membership_id fields: tools.fields outputParameters: - type: object mapping: $. - name: box-update-group-membership description: Box Update group membership hints: readOnly: false destructive: false idempotent: true call: box-group-memberships.putgroupmembershipsid with: group_membership_id: tools.group_membership_id fields: tools.fields body: tools.body outputParameters: - type: object mapping: $. - name: box-remove-user-group description: Box Remove user from group hints: readOnly: false destructive: true idempotent: true call: box-group-memberships.deletegroupmembershipsid with: group_membership_id: tools.group_membership_id outputParameters: - type: object mapping: $. - name: box-list-members-group description: Box List members of group hints: readOnly: true destructive: false idempotent: true call: box-group-memberships.getgroupsidmemberships with: group_id: tools.group_id limit: tools.limit offset: tools.offset outputParameters: - type: object mapping: $. - name: box-list-user-s-groups description: Box List user's groups hints: readOnly: true destructive: false idempotent: true call: box-group-memberships.getusersidmemberships with: user_id: tools.user_id limit: tools.limit offset: tools.offset outputParameters: - type: object mapping: $.