# \[ Change \] Memberships endpoints now support custom fields (and more)

**URL:** <https://forum.asana.com/t/change-memberships-endpoints-now-support-custom-fields-and-more/1013463>\
**Category:** Changelog\
**Tags:** memberships-api\
**Created:** [14 January 2025 23:05 UTC](https://forum.asana.com/t/change-memberships-endpoints-now-support-custom-fields-and-more/1013463 "2025-01-14T23:05:37Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Andrew-asana](https://luna1.co/8d76cd.png) [@Andrew-asana](https://forum.asana.com/u/Andrew-asana)\
**Post date:** [14 January 2025 23:05 UTC](https://forum.asana.com/t/change-memberships-endpoints-now-support-custom-fields-and-more/1013463/1 "2025-01-14T23:05:37Z")

</div>

## Summary

We’ve enhanced the functionality of all [memberships endpoints](https://developers.asana.com/reference/memberships) to support additional membership types:

- **Custom field** memberships are now supported across all five memberships endpoints:

- **Portfolio** and **goal** memberships are now supported by the [GET /memberships/:membership\_gid](https://developers.asana.com/reference/getmembership) endpoint (in addition to the **project** memberships it already supported)

The updated endpoints now allow for broader interaction with **goals** , **projects** , **portfolios** , and **custom fields** memberships, enabling you to query, create, update, and delete memberships across these different Asana object types.

## Why we’re making this change

These updates were designed to provide more flexibility in managing memberships across different Asana object types. By adding support for **custom field** , **portfolio** , and **goal** memberships, you now have an easier way to integrate their workflows across a wider array of Asana projects and resources. This enhances the versatility of our memberships API, while keeping things intuitive and consistent.

## Who is affected

- **Developers using memberships endpoints** : Your existing integrations will not be affected by this change, as there are _no breaking changes_. The new functionality is additive, allowing you to manage **custom fields** , **portfolios** , and **goals** memberships alongside **projects**
- **Use cases for new membership types** : If your application interacts with **custom fields** , **portfolios** , or **goals** , these new membership types can now be managed through the same API endpoints

## Usage

The API reference has been updated to reflect the new changes. See any of the five [memberships endpoints](https://developers.asana.com/reference/memberships) for details and examples.

#### Example request

```sh
GET /memberships?parent=<CUSTOM_FIELD_GID>&member=<USER_GID>

```

#### Example response

```js
{
  "data": [
    {
      "gid": "<MEMBERSHIP_GID>",
      "parent": {
        "gid": "<CUSTOM_FIELD_GID>",
        "name": "Test",
        "resource_subtype": "text",
        "resource_type": "custom_field",
        "type": "text",
        "privacy_setting": "public",
        "is_formula_field": false
      },
      "member": {
        "gid": "<USER_GID>",
        "name": "My user name",
        "resource_type": "user"
      },
      "access_level": "admin",
      "resource_type": "membership",
      "resource_subtype": "custom_field_membership"
    }
  ]
}

```

## Timeline

These changes are immediately available.

---

<div class="post-metadata">

**Author:** ![Larry\_Berger\_lpb](https://sea2.discourse-cdn.com/asana/user_avatar/forum.asana.com/larry_berger_lpb/32/276017_2.png) [@Larry\_Berger\_lpb](https://forum.asana.com/u/Larry_Berger_lpb)\
**Post date:** [14 January 2025 23:50 UTC](https://forum.asana.com/t/change-memberships-endpoints-now-support-custom-fields-and-more/1013463/2 "2025-01-14T23:50:41Z")

</div>

Nice! Beautiful implementation and documentation!

Thanks,

Larry

---

<div class="post-metadata">

**Author:** ![Robin28](https://luna1.co/8d76cd.png) [@Robin28](https://forum.asana.com/u/Robin28)\
**Post date:** [13 February 2025 07:35 UTC](https://forum.asana.com/t/change-memberships-endpoints-now-support-custom-fields-and-more/1013463/3 "2025-02-13T07:35:20Z")

</div>

Hi! It really helped to our team.  
While testing, I think there’s an error with custom field membership.

I put a member as a “user” but the result said like below.

{  
“errors”: [  
{  
“message”: “Invalid role user for custom\_field\_membership, please choose one of: admin, editor, viewer”,  
“help”: “For more information on API status codes and how to handle them, read the docs on errors: [Errors](https://developers.asana.com/docs/errors)”  
}  
]  
}

Pls take a look at it!

---

<div class="post-metadata">

**Author:** ![Phil\_Seeman](https://sea2.discourse-cdn.com/asana/user_avatar/forum.asana.com/phil_seeman/32/81525_2.png) [@Phil\_Seeman](https://forum.asana.com/u/Phil_Seeman)\
**Post date:** [13 February 2025 23:36 UTC](https://forum.asana.com/t/change-memberships-endpoints-now-support-custom-fields-and-more/1013463/4 "2025-02-13T23:36:26Z")

</div>

Hi @Robin28,

Good point here! I tested this out and it looks like an API bug (alerting @Andrew-asana): although the value in the Asana UI and in the API documentation is `user`, the actual value in the underlying data object exposed in the API turns out to be `viewer`. This is clearly not right since the access level is not one of a viewer but in my testing, that’s what the API currently uses.

So until it’s fixed (assuming they’ll fix it), use `viewer` to set a custom field membership to “User”. I tried it and when I do this in a `PUT`:

```auto
{
  "data": {
    "access_level": "viewer"
  }
}

```

it sets the user’s access level to “User” in the Asana UI.

---

<div class="post-metadata">

**Author:** ![Robin28](https://luna1.co/8d76cd.png) [@Robin28](https://forum.asana.com/u/Robin28)\
**Post date:** [14 February 2025 00:10 UTC](https://forum.asana.com/t/change-memberships-endpoints-now-support-custom-fields-and-more/1013463/5 "2025-02-14T00:10:31Z")

</div>

Thanks for confirming, @Phil_Seeman !  
I’ve also tried it as `viewer` and succeed updating the access level as `user`.  
I should wait til the bug is fixed. Thanks!!
