---
title: Membes API Integration on Truto
slug: membes
category: CRM
canonical: "https://truto.one/integrations/detail/membes/"
---

# Membes API Integration on Truto



**Category:** CRM  
**Status:** Beta

## MCP-ready AI tools

Truto exposes 58 tools for Membes that AI agents can call directly.

- **membes_token_get_access_token** — Generate access token. This endpoint returns a JWT access token on success. An empty JSON object is returned on failure. Returns: access_token. Required: org_id, secret.
- **membes_token_validate** — Validate access token. This endpoint returns a JWT access token on success. An empty JSON object is returned on failure. Returns: membership_status, membership_type, surname, first_name, id, profile_number, membership_type_id, membership_status_id, email. Required: token_to_validate.
- **get_single_membes_profile_by_id** — Get Profile Detail. Returns: profile_details, groups, custom_fields, address. Required: id.
- **create_a_membes_profile** — This endpoint adds a new profile. Required: first_name, surname.
- **update_a_membes_profile_by_id** — This endpoint update a profile. Required: id, first_name, surname.
- **membes_profiles_get_events** — Get Events of a Profile (last 12 months). Required: profile_id.
- **membes_profiles_search** — Search for profiles that matches the search criteria. Profile can be search base on either: - email - radius from a given location - custom field Only one of the search criteria will be used (if more than 1 criteria are given, the rest will be ignored). Returns: profile_number, informal_name, previous_name, surname, dob, company_name, first_name, id, middle_name, membership_paid_through, email.
- **create_a_membes_profile_interaction** — Add interaction records to a profile. profile_interaction_object. Returns: status, interaction_id. Required: profile_id.
- **get_single_membes_profile_interaction_by_id** — Get Profile Interaction. Required: profile_id, type_id.
- **get_single_membes_event_by_id** — This endpoint will retrieve an event detail by its ID. Required: id.
- **membes_events_get_registration_types** — Get Event Registration Type. Returns: event_id, id, type, description. Required: id.
- **create_a_membes_event** — Create a new event.
- **membes_events_list_by_date_range** — Get a List of Events by Date Range. Returns: event_object, content_category_helper, member_only, page_registrations_full, custom_fields_event, registration_open, zoom_id, code, account_code, timezone, registration_open_from, template_id, social_function_pre_text, group_id, attachment_text, . Required: start_date, end_date.
- **create_a_membes_event_registration_type** — Create registration types. Create new event registration types for an event.
- **create_a_membes_event_registration** — Register an existing user for an event. Returns: registrant_id, success. Required: event_id, profile_id, registration_type.
- **update_a_membes_event_registration_by_id** — Update the event registration for a user. Returns: registrant_id, success.
- **list_all_membes_group_events** — Get a list of Event by Group. Returns: content_category_helper, member_only, page_registrations_full, custom_fields_event, registration_open, zoom_id, code, account_code, timezone, registration_open_from, template_id, social_function_pre_text, group_id, attachment_text, cpd_auto_log, . Required: group_id.
- **list_all_membes_group_topics** — Get a list of Forum Topics by Group. Returns: category_id, group_id, enabled, profile_id, attachment, id, title, body, tstamp, org_id. Required: group_id.
- **list_all_membes_group_replies** — Get a List of Topic Replies by Group. Returns: topic_id, enabled, profile_id, attachment, id, body, tstamp, org_id. Required: group_id.
- **list_all_membes_groups** — Retrieve a list of all profile groups and their members. Returns: group_name, group_id, members.
- **list_all_membes_membership_types** — Get a list of membership types. Returns: id, title, description, registration_link, prices, label, price.
- **list_all_membes_custom_fields** — Get a list of custom fields. Returns: id, type, label.
- **get_single_membes_forum_topic_by_id** — Get a Forum Topic. Returns: category_id, group_id, enabled, profile_id, attachment, id, title, body, tstamp, org_id. Required: id.
- **list_all_membes_forum_topics** — Get a List of Forum Topic. Returns: category_id, group_id, enabled, profile_id, attachment, id, title, body, tstamp, org_id.
- **create_a_membes_forum_topic** — Create a new forum topic Create a new topic in the discussion forum. Returns: category_id, group_id, enabled, profile_id, attachment, id, title, body, tstamp, org_id. Required: category_id, title, body, enabled.
- **list_all_membes_forum_replies** — Get a List of Forum Topic Replies. Returns: topic_reply_object, topic_id, enabled, profile_id, attachment, id, body, tstamp, org_id. Required: topic_id.
- **create_a_membes_forum_reply** — Create a forum topic reply Create a reply to a topic in the discussion forum. Returns: topic_id, enabled, profile_id, attachment, id, body, tstamp, org_id. Required: topic_id, body, enabled.
- **list_all_membes_forum_categories** — Get Forum Categories. Returns: org_id, id, title, description.
- **get_single_membes_news_by_id** — Get News. Returns: news_introduction, news_url_text, news_id, news_exp_date, news_page_body, news_intro_image, news_attachment_text, news_title, news_url, org_id, news_attachment, news_pub_date, news_page_image. Required: id.
- **membes_news_list_published** — Get published News. Returns: news_introduction, news_url_text, news_id, news_exp_date, news_page_body, news_intro_image, news_attachment_text, news_title, news_url, org_id, news_attachment, news_pub_date, news_page_image. Required: news_count.
- **list_all_membes_news** — Get All News. Returns: news_introduction, news_url_text, news_id, news_exp_date, news_page_body, news_intro_image, news_attachment_text, news_title, news_url, org_id, news_attachment, news_pub_date, news_page_image. Required: news_count.
- **create_a_membes_news** — Create news item Create a news item. Returns: news_introduction, news_url_text, news_id, news_exp_date, news_page_body, news_intro_image, news_attachment_text, news_title, news_url, org_id, news_attachment, news_pub_date, news_page_image.
- **update_a_membes_news_by_id** — Update news item Update a news item. Returns: news_introduction, news_url_text, news_id, news_exp_date, news_page_body, news_intro_image, news_attachment_text, news_title, news_url, org_id, news_attachment, news_pub_date, news_page_image. Required: id.
- **membes_cms_themes_save** — Save website theme Create a CMS theme. Required: theme_id.
- **get_single_membes_ad_by_id** — Get Employment Ads. Returns: is_enabled, date_posted, address_state, job_description_page, job_title, address_postcode, organisation, fax, job_code, attachment, image, scheduled_removal, id, address_city, website, . Required: id.
- **membes_ads_list_published** — Get Published Employment Ads. Returns: is_enabled, date_posted, address_state, job_description_page, job_title, address_postcode, organisation, fax, job_code, attachment, image, scheduled_removal, id, address_city, website, . Required: ads_count.
- **list_all_membes_ads** — Get All Employment Ads. Returns: is_enabled, date_posted, address_state, job_description_page, job_title, address_postcode, organisation, fax, job_code, attachment, image, scheduled_removal, id, address_city, website, . Required: ads_count.
- **create_a_membes_cpd_activity_log** — Create CPD activity log. Create a CPD activity log on a profile. Required: name, category_id, date, profile, activity.
- **list_all_membes_cpd_activity_logs** — Get CPD Activity Log. Required: profile_id.
- **update_a_membes_cpd_activity_log_by_id** — Update CPD activity log. Update CPD activities logged on a profile. Required: id, name, category_id, date, activity.
- **delete_a_membes_cpd_activity_log_by_id** — Delete a CPD Activity Log. Required: profile_id, log_id.
- **list_all_membes_cpd_activities** — Get Available CPD Activities. Returns: category_id, cap_points2, min_points2, min_points5, points, can_submit_online, min_points3, min_points4, cap_points5, requires_audit, min, min_hours, code, cap, id, ...
- **list_all_membes_cpd_categories** — Get a list of CPD categories. Returns: org_id, reference_id, description.
- **list_all_membes_lookups** — Get a list of Countries or States. Required: type.
- **list_all_membes_webhooks** — get a list of webhook. Returns: org_id, id, webhook_type, webhook.
- **membes_webhooks_subscribe** — Subscribe to a webhook. Returns: org_id, id, type, webhook. Required: type, hook_url.
- **membes_webhooks_unsubscribe** — Unsubscribe from a webhook. Required: id.
- **list_all_membes_batch_profiles** — profiles. Returns: profile_id, profile_number, prefix_id, first_name, middle_name, surname, informal_name, gender, dob, company_name, email, email2, phone_home_country_code, phone_home, phone_work_country_code, . Required: last_updated.
- **list_all_membes_batch_profile_interactions** — profile_interactions. Returns: profile_id, interaction_type_id, interaction_id, title, description, interaction_logged_date, interaction_logged_by, action, action_date, action_assigned_to, action_completed, interaction_invoice_number. Required: last_updated.
- **list_all_membes_batch_news** — news. Returns: org_id, news_id, news_title, news_introduction, news_page_body, news_url, news_url_text, news_pub_date, news_exp_date. Required: last_updated.
- **list_all_membes_batch_invoices** — invoices. Returns: org_id, invoice_id, invoice_date, profile_id, invoice_name, invoice_organisation, invoice_address_1, invoice_address_2, invoice_address_3, invoice_suburb, invoice_postcode, state_id, country_id, invoice_paid_date, invoice_items, . Required: last_updated.
- **list_all_membes_states** — get list of states. Returns: state_id, state_name. Required: state_id.
- **list_all_membes_countries** — get list of countries. Returns: country_id, country_name. Required: country_id.
- **list_all_membes_profile_interaction_types** — profile_interaction_types. Returns: interaction_type_id, interaction_type_title. Required: interaction_type_id.
- **membes_directories_get_filters** — Get the list of filters and export options for a specific directory. Returns: show_map, export_excel, export_pdf, location_based, filters. Required: directory_id.
- **membes_directories_get_display_settings** — Get the display settings and layout configurations for a specific directory, including system fields, basic settings, summary and page field layouts, and available filters. Required: directory_id.
- **membes_directories_search** — Search for profiles in a directory based on filter and location parameters. Required: directory_id.
- **membes_profile_directories_search** — Search Profile Directories Map. Search profile directories using filters, search-system fields, proximity parameters, and optional map-only results. Required: directoryID, show_map_only.

## How it works

1. **Link your customer's Membes account.** Use Truto's frontend SDK; we handle every OAuth and API key flow so you don't need to create the OAuth app.
2. **Authentication is automatic.** Truto refreshes tokens, stores credentials securely, and injects them into every API request.
3. **Call Truto's API to reach Membes.** The Proxy API is a 1-to-1 mapping of the Membes API.
4. **Get a unified response format.** Every response uses a single shape, with cursor-based pagination and data in the `result` field.

## Use cases

- **Enrich member profiles inside your product** — For SaaS platforms serving associations and member-based organizations, pulling Membes profile data lets you personalize your app with membership type, custom fields, and interaction history without asking users to re-enter it.
- **Sync event registrations to your workflow tools** — Marketing, analytics, and engagement platforms can automatically ingest Membes events and registrations so their users can trigger campaigns, reporting, or attendee follow-ups based on real registration activity.
- **Log CPD activity from your learning platform** — LMS and education SaaS products can write CPD activity logs back to Membes when a member completes a course, so professional development records stay accurate without manual entry.
- **Publish news and forum content from a central CMS** — Content and community tools can push news articles, forum topics, and replies into Membes, letting their customers manage member-facing content from one place instead of jumping between systems.
- **Power member directories and lookups in your app** — Networking, benefits, and portal SaaS products can surface searchable Membes directories inside their own UI, respecting the association's display settings and filters.

## What you can build

- **Two-way profile sync** — Read, create, and update Membes profiles with support for custom fields so member data stays consistent between your product and Membes.
- **Event and registration management** — List events by date range, create new events with registration types, and register members programmatically from your app.
- **Real-time updates via webhooks** — Subscribe to Membes webhooks to receive profile, event, and interaction changes as they happen instead of polling.
- **CPD activity tracking** — Create, update, list, and delete CPD activity logs against Membes activities and categories from your learning or compliance workflow.
- **Forum and news publishing** — Create forum topics and replies, publish news articles, and list categories so your product can drive engagement inside the member community.
- **Directory search embedded in your UI** — Query Membes directories with the same filters and display settings the association configured, powering member lookup screens natively in your app.

## FAQs

### How does authentication with Membes work through Truto?

Truto handles token acquisition and validation with Membes on behalf of your end users, so you don't need to manage access token lifecycles or refresh logic in your codebase.

### Can we read and write custom fields on member profiles?

Yes. You can list all Membes custom fields and include them when creating or updating profiles, so association-specific data flows both ways.

### How do we keep data fresh without constant polling?

Membes supports webhooks, and Truto exposes subscribe and unsubscribe operations plus a list of active subscriptions so you can react to changes in near real time.

### Is there a way to bulk-load historical data?

Yes. Batch endpoints are available for profiles, profile interactions, news, and invoices, which are useful for initial backfills or periodic reconciliation.

### Can we manage events end-to-end?

You can create events, define registration types, create and update registrations, list events by date range, and fetch a single event by ID — enough to run a full registration flow from your product.

### What member reference data can we pull for form building?

You can list membership types, states, countries, profile interaction types, CPD categories and activities, and generic lookups to populate dropdowns and validate input in your UI.
