updateMemberSubCategoryLink
Update per-link metadata (price, specialty, completion count) for a member-subcategory association using the link ID.
Instructions
Update a user-service relationship - Update a Member ↔ Sub Category link by rel_id. Fields omitted are untouched. Writes live data.
Use when: adjusting per-link metadata - member's price for this service, specialty flag, completion counter.
Required: rel_id.
Updatable fields: avg_price, specialty, num_completed, date.
See also: createMemberSubCategoryLink (add new), deleteMemberSubCategoryLink (remove).
Returns: { status: "success", message: {...updatedRecord} }.
How a member gets classified on their public profile:
users_data.profession_id-> points at a single Top Category (the member's primary classification; shown in URL slug)users_data.services-> CSV of Sub Category IDs the member is tagged with (multiple allowed; simpler than the join table)rel_servicesrows (Member ↔ Sub Category links) -> used when you need per-link metadata likeavg_price,specialty,num_completed. Optional; most sites use just the CSV field.
Sub-sub-categories: createSubCategory with master_id=<parent service_id> creates a Sub Category nested under another Sub Category (a "sub-sub"). master_id=0 (default) means the Sub Category sits directly under a Top Category (the profession_id).
There is NO createProfession or createService tool in this MCP — those are BD's internal table names. Use createTopCategory / createSubCategory instead (BD's table-name → tool-name mapping is documented in Rule: Table to endpoint).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| rel_id | Yes | ||
| avg_price | No | ||
| specialty | No | ||
| num_completed | No | ||
| date | No | Format: `YYYYMMDDHHmmss` in the site's timezone. BD silently truncates other formats, corrupting the value. Optional — omit unless backfilling historical data. | |
| _clear_fields | No | Column names to clear to empty string. Available on every `update*` operation. Works on base columns AND EAV/`users_meta` rows (rows preserved with `value=""`). To actually clear a field you MUST use this parameter — sending the field with `""` alone is a no-op (BD drops empty values). To remove a `users_meta` row entirely, use `deleteUserMeta`. See **Rule: Clearing fields**. Example: `_clear_fields: ["h2", "hero_link_url"]`. |