naftiko: 1.0.0-alpha2 info: label: Asana — Team Memberships description: 'Asana — Team Memberships. 4 operations. Lead operation: Asana Get team memberships. Self-contained Naftiko capability covering one Asana business surface.' tags: - Asana - Team Memberships created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: ASANA_API_KEY: ASANA_API_KEY capability: consumes: - type: http namespace: asana-team-memberships baseUri: https://app.asana.com/api/1.0 description: Asana — Team Memberships business capability. Self-contained, no shared references. resources: - name: team_memberships path: /team_memberships operations: - name: getteammemberships method: GET description: Asana Get team memberships outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: team in: query type: string description: Globally unique identifier for the team. - name: user in: query type: string description: A string identifying a user. This can either be the string "me", an email, or the gid of a user. This parameter must be used with the workspace parameter. - name: workspace in: query type: string description: Globally unique identifier for the workspace. This parameter must be used with the user parameter. - name: opt_fields in: query type: array description: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-s - name: team_memberships-team_membership_gid path: /team_memberships/{team_membership_gid} operations: - name: getteammembership method: GET description: Asana Get a team membership outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: opt_fields in: query type: array description: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-s - name: teams-team_gid-team_memberships path: /teams/{team_gid}/team_memberships operations: - name: getteammembershipsforteam method: GET description: Asana Get memberships from a team outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: opt_fields in: query type: array description: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-s - name: users-user_gid-team_memberships path: /users/{user_gid}/team_memberships operations: - name: getteammembershipsforuser method: GET description: Asana Get memberships from a user outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: workspace in: query type: string description: Globally unique identifier for the workspace. required: true - name: opt_fields in: query type: array description: This endpoint returns a compact resource, which excludes some properties by default. To include those optional properties, set this query parameter to a comma-s authentication: type: bearer token: '{{env.ASANA_API_KEY}}' exposes: - type: rest namespace: asana-team-memberships-rest port: 8080 description: REST adapter for Asana — Team Memberships. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/team-memberships name: team-memberships description: REST surface for team_memberships. operations: - method: GET name: getteammemberships description: Asana Get team memberships call: asana-team-memberships.getteammemberships with: team: rest.team user: rest.user workspace: rest.workspace opt_fields: rest.opt_fields outputParameters: - type: object mapping: $. - path: /v1/team-memberships/{team-membership-gid} name: team-memberships-team-membership-gid description: REST surface for team_memberships-team_membership_gid. operations: - method: GET name: getteammembership description: Asana Get a team membership call: asana-team-memberships.getteammembership with: opt_fields: rest.opt_fields outputParameters: - type: object mapping: $. - path: /v1/teams/{team-gid}/team-memberships name: teams-team-gid-team-memberships description: REST surface for teams-team_gid-team_memberships. operations: - method: GET name: getteammembershipsforteam description: Asana Get memberships from a team call: asana-team-memberships.getteammembershipsforteam with: opt_fields: rest.opt_fields outputParameters: - type: object mapping: $. - path: /v1/users/{user-gid}/team-memberships name: users-user-gid-team-memberships description: REST surface for users-user_gid-team_memberships. operations: - method: GET name: getteammembershipsforuser description: Asana Get memberships from a user call: asana-team-memberships.getteammembershipsforuser with: workspace: rest.workspace opt_fields: rest.opt_fields outputParameters: - type: object mapping: $. - type: mcp namespace: asana-team-memberships-mcp port: 9090 transport: http description: MCP adapter for Asana — Team Memberships. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: asana-get-team-memberships description: Asana Get team memberships hints: readOnly: true destructive: false idempotent: true call: asana-team-memberships.getteammemberships with: team: tools.team user: tools.user workspace: tools.workspace opt_fields: tools.opt_fields outputParameters: - type: object mapping: $. - name: asana-get-team-membership description: Asana Get a team membership hints: readOnly: true destructive: false idempotent: true call: asana-team-memberships.getteammembership with: opt_fields: tools.opt_fields outputParameters: - type: object mapping: $. - name: asana-get-memberships-team description: Asana Get memberships from a team hints: readOnly: true destructive: false idempotent: true call: asana-team-memberships.getteammembershipsforteam with: opt_fields: tools.opt_fields outputParameters: - type: object mapping: $. - name: asana-get-memberships-user description: Asana Get memberships from a user hints: readOnly: true destructive: false idempotent: true call: asana-team-memberships.getteammembershipsforuser with: workspace: tools.workspace opt_fields: tools.opt_fields outputParameters: - type: object mapping: $.