Asana · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Asana Memberships API

6 actions 6 updates phrasing extends openapi/asana-memberships-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Asana's API. It is a proposal applied on top of the contract, not a document Asana publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 6

$.info
$.paths['/memberships'].get
$.paths['/memberships'].post
$.paths['/memberships/{membership_gid}'].get
$.paths['/memberships/{membership_gid}'].put
$.paths['/memberships/{membership_gid}'].delete

OpenAPI Overlay

Raw ↑
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
  title: API Evangelist conversational phrasing for Asana Memberships API
  version: 1.0.0
extends: openapi/asana-memberships-api-openapi.yml
actions:
- target: $.info
  update:
    x-apievangelist-phrasing:
      method: generated
      generated: '2026-10-01'
      generator: build-phrasing.py
      label: Generated by API Evangelist
      operations: 5
- target: $.paths['/memberships'].get
  update:
    x-apievangelist-phrasing:
      intent: List members of a goal, project or portfolio
      effect: read
      questions:
      - Who are the members of a given goal or project?
      - Can I check whether a specific user or team is a member of something?
      instructions:
      - text: List memberships for {parent}.
        slots:
          parent: query.parent
      - text: Show {member}'s membership in {parent}.
        slots:
          member: query.member
          parent: query.parent
      method: generated
      generated: '2026-10-01'
- target: $.paths['/memberships'].post
  update:
    x-apievangelist-phrasing:
      intent: Add a member to a goal, project or portfolio
      effect: write
      questions:
      - Can I add a team as a member of a project?
      - Do portfolios accept teams as members, or only users?
      instructions:
      - text: Add {member} as a member of {parent}.
        slots:
          member: requestBody.data
          parent: requestBody.data
      - text: Create a membership with {details}.
        slots:
          details: requestBody.data
      method: generated
      generated: '2026-10-01'
- target: $.paths['/memberships/{membership_gid}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a project membership by ID
      effect: read
      questions:
      - What access level does a particular project membership grant?
      - Can I look up one membership record by its ID?
      instructions:
      - text: Show membership {membership}.
        slots:
          membership: path.membership_gid
      - text: Fetch the details of membership {membership}.
        slots:
          membership: path.membership_gid
      method: generated
      generated: '2026-10-01'
- target: $.paths['/memberships/{membership_gid}'].put
  update:
    x-apievangelist-phrasing:
      intent: Change a member's access level
      effect: write
      questions:
      - How do I change someone's access level on a project or goal?
      - Can I make a project member an editor instead of a commenter?
      instructions:
      - text: Set membership {membership} access level to {access}.
        slots:
          membership: path.membership_gid
          access: requestBody.data
      - text: Update membership {membership} with {changes}.
        slots:
          membership: path.membership_gid
          changes: requestBody.data
      method: generated
      generated: '2026-10-01'
- target: $.paths['/memberships/{membership_gid}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Remove a membership
      effect: destructive
      questions:
      - Can I remove a user's membership in a goal, project or portfolio by membership ID?
      - What does deleting a membership return?
      instructions:
      - text: Delete membership {membership}.
        slots:
          membership: path.membership_gid
      - text: Revoke the membership {membership}.
        slots:
          membership: path.membership_gid
      method: generated
      generated: '2026-10-01'