naftiko: 1.0.0-alpha2 info: label: airbyte-api — Groups description: 'airbyte-api — Groups. 11 operations. Lead operation: Airbyte List Groups. Self-contained Naftiko capability covering one Airbyte business surface.' tags: - Airbyte - Groups created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: AIRBYTE_API_KEY: AIRBYTE_API_KEY capability: consumes: - type: http namespace: airbyte-groups baseUri: https://api.airbyte.com/v1 description: airbyte-api — Groups business capability. Self-contained, no shared references. resources: - name: groups path: /groups operations: - name: listgroups method: GET description: Airbyte List Groups outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: organizationId in: query type: string description: Filter groups by organization ID required: true - name: limit in: query type: integer description: Set the limit on the number of Groups returned. The default is 20 Groups. - name: offset in: query type: integer description: Set the offset to start at when returning Groups. The default is 0. - name: creategroup method: POST description: Airbyte Create Group outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: groups-groupId path: /groups/{groupId} operations: - name: getgroup method: GET description: Airbyte Get Group Details outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updategroup method: PATCH description: Airbyte Update Group outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: deletegroup method: DELETE description: Airbyte Delete Group outputRawFormat: json outputParameters: - name: result type: object value: $. - name: groups-groupId-members path: /groups/{groupId}/members operations: - name: listgroupmembers method: GET description: Airbyte List Group Members outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: limit in: query type: integer description: Set the limit on the number of members returned. The default is 20. - name: offset in: query type: integer description: Set the offset to start at when returning members. The default is 0. - name: addgroupmember method: POST description: Airbyte Add Member to Group outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: groups-groupId-members-userId path: /groups/{groupId}/members/{userId} operations: - name: removegroupmember method: DELETE description: Airbyte Remove Member from Group outputRawFormat: json outputParameters: - name: result type: object value: $. - name: groups-groupId-permissions path: /groups/{groupId}/permissions operations: - name: listgrouppermissions method: GET description: Airbyte List Group Permissions outputRawFormat: json outputParameters: - name: result type: object value: $. - name: creategrouppermission method: POST description: Airbyte Create Group Permission outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: groups-groupId-permissions-permissionId path: /groups/{groupId}/permissions/{permissionId} operations: - name: deletegrouppermission method: DELETE description: Airbyte Delete Group Permission outputRawFormat: json outputParameters: - name: result type: object value: $. exposes: - type: rest namespace: airbyte-groups-rest port: 8080 description: REST adapter for airbyte-api — Groups. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/groups name: groups description: REST surface for groups. operations: - method: GET name: listgroups description: Airbyte List Groups call: airbyte-groups.listgroups with: organizationId: rest.organizationId limit: rest.limit offset: rest.offset outputParameters: - type: object mapping: $. - method: POST name: creategroup description: Airbyte Create Group call: airbyte-groups.creategroup with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/groups/{groupid} name: groups-groupid description: REST surface for groups-groupId. operations: - method: GET name: getgroup description: Airbyte Get Group Details call: airbyte-groups.getgroup outputParameters: - type: object mapping: $. - method: PATCH name: updategroup description: Airbyte Update Group call: airbyte-groups.updategroup with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deletegroup description: Airbyte Delete Group call: airbyte-groups.deletegroup outputParameters: - type: object mapping: $. - path: /v1/groups/{groupid}/members name: groups-groupid-members description: REST surface for groups-groupId-members. operations: - method: GET name: listgroupmembers description: Airbyte List Group Members call: airbyte-groups.listgroupmembers with: limit: rest.limit offset: rest.offset outputParameters: - type: object mapping: $. - method: POST name: addgroupmember description: Airbyte Add Member to Group call: airbyte-groups.addgroupmember with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/groups/{groupid}/members/{userid} name: groups-groupid-members-userid description: REST surface for groups-groupId-members-userId. operations: - method: DELETE name: removegroupmember description: Airbyte Remove Member from Group call: airbyte-groups.removegroupmember outputParameters: - type: object mapping: $. - path: /v1/groups/{groupid}/permissions name: groups-groupid-permissions description: REST surface for groups-groupId-permissions. operations: - method: GET name: listgrouppermissions description: Airbyte List Group Permissions call: airbyte-groups.listgrouppermissions outputParameters: - type: object mapping: $. - method: POST name: creategrouppermission description: Airbyte Create Group Permission call: airbyte-groups.creategrouppermission with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/groups/{groupid}/permissions/{permissionid} name: groups-groupid-permissions-permissionid description: REST surface for groups-groupId-permissions-permissionId. operations: - method: DELETE name: deletegrouppermission description: Airbyte Delete Group Permission call: airbyte-groups.deletegrouppermission outputParameters: - type: object mapping: $. - type: mcp namespace: airbyte-groups-mcp port: 9090 transport: http description: MCP adapter for airbyte-api — Groups. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: airbyte-list-groups description: Airbyte List Groups hints: readOnly: true destructive: false idempotent: true call: airbyte-groups.listgroups with: organizationId: tools.organizationId limit: tools.limit offset: tools.offset outputParameters: - type: object mapping: $. - name: airbyte-create-group description: Airbyte Create Group hints: readOnly: false destructive: false idempotent: false call: airbyte-groups.creategroup with: body: tools.body outputParameters: - type: object mapping: $. - name: airbyte-get-group-details description: Airbyte Get Group Details hints: readOnly: true destructive: false idempotent: true call: airbyte-groups.getgroup outputParameters: - type: object mapping: $. - name: airbyte-update-group description: Airbyte Update Group hints: readOnly: false destructive: false idempotent: true call: airbyte-groups.updategroup with: body: tools.body outputParameters: - type: object mapping: $. - name: airbyte-delete-group description: Airbyte Delete Group hints: readOnly: false destructive: true idempotent: true call: airbyte-groups.deletegroup outputParameters: - type: object mapping: $. - name: airbyte-list-group-members description: Airbyte List Group Members hints: readOnly: true destructive: false idempotent: true call: airbyte-groups.listgroupmembers with: limit: tools.limit offset: tools.offset outputParameters: - type: object mapping: $. - name: airbyte-add-member-group description: Airbyte Add Member to Group hints: readOnly: false destructive: false idempotent: false call: airbyte-groups.addgroupmember with: body: tools.body outputParameters: - type: object mapping: $. - name: airbyte-remove-member-group description: Airbyte Remove Member from Group hints: readOnly: false destructive: true idempotent: true call: airbyte-groups.removegroupmember outputParameters: - type: object mapping: $. - name: airbyte-list-group-permissions description: Airbyte List Group Permissions hints: readOnly: true destructive: false idempotent: true call: airbyte-groups.listgrouppermissions outputParameters: - type: object mapping: $. - name: airbyte-create-group-permission description: Airbyte Create Group Permission hints: readOnly: false destructive: false idempotent: false call: airbyte-groups.creategrouppermission with: body: tools.body outputParameters: - type: object mapping: $. - name: airbyte-delete-group-permission description: Airbyte Delete Group Permission hints: readOnly: false destructive: true idempotent: true call: airbyte-groups.deletegrouppermission outputParameters: - type: object mapping: $.