I'm not one to hop on tech bandwagons but I think a GraphQL API would really benefit NationBuilder's integration's partners, and would probably let you unify your frontend to use the same API as your partners. You'd be able to get away from returning abbreviated person resources for some endpoints and full people for others. For my integration that would open up some possibilities for users, as I can only use the most restrictive version. Some queries would probably be cheaper on your end, since some responses require you to join in the recruiter/contact/parent/etc even if I don't want it. With GraphQL, I only ask for the fields that I want. Other queries would be more efficient, e.g. I can request all the users joined on their memberships rather than having to request all the people then each person's memberships individually. It's strongly typed and self documenting which makes it easy for third parties.