Read Referral Rock programs, members, referrals, rewards and payouts; add members and referrals.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
WRITE: creates a new member (advocate) in a referral program and returns the member with their referral code and share URL. Not idempotent: a repeat call may create a duplicate or fail. When send_confirmation_email is true Referral Rock emails the member the program's confirmation email, which is a message to a real person; the default is false. POST /api/members.
Member email address.
Member first name.
Program id to add the member to (see referralrock_list_programs).
Member phone number.
Must be true when send_confirmation_email is true: confirms an email goes to the member.
Member last name.
Your own id for this member, to link it to another system.
A custom referral code; Referral Rock generates one when left out.
Email the member the program's confirmation email (default false; needs confirm: true).
The server marks this tool as destructive. Running it may delete or overwrite data on the server or in any account you connected with your headers.
WRITE: creates a new member (advocate) in a referral program and returns the member with their referral code and share URL. Not idempotent: a repeat call may create a duplicate or fail. When send_confirmation_email is true Referral Rock emails the member the program's confirmation email, which is a message to a real person; the default is false. POST /api/members.
| Argument | Type | Description |
|---|---|---|
| email* | string | Member email address. |
| phone | string | Member phone number. |
| confirm | boolean | Must be true when send_confirmation_email is true: confirms an email goes to the member. |
| last_name | string | Member last name. |
| first_name* | string | Member first name. |
| program_id* | string | Program id to add the member to (see referralrock_list_programs). |
| external_id | string | Your own id for this member, to link it to another system. |
| referral_code | string | A custom referral code; Referral Rock generates one when left out. |
| send_confirmation_email | boolean | Email the member the program's confirmation email (default false; needs confirm: true). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"program_id",
"first_name",
"email"
],
"properties": {
"email": {
"type": "string",
"maxLength": 254,
"minLength": 1,
"description": "Member email address."
},
"phone": {
"type": "string",
"maxLength": 50,
"minLength": 1,
"description": "Member phone number."
},
"confirm": {
"type": "boolean",
"description": "Must be true when send_confirmation_email is true: confirms an email goes to the member."
},
"last_name": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Member last name."
},
"first_name": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Member first name."
},
"program_id": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Program id to add the member to (see referralrock_list_programs)."
},
"external_id": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Your own id for this member, to link it to another system."
},
"referral_code": {
"type": "string",
"maxLength": 50,
"minLength": 1,
"description": "A custom referral code; Referral Rock generates one when left out."
},
"send_confirmation_email": {
"type": "boolean",
"description": "Email the member the program's confirmation email (default false; needs confirm: true)."
}
}
}WRITE: adds a referral (a lead) to the program of the member who owns the given referral code, as if the lead had used that member's link. A status of qualified or approved can trigger the program's configured rewards for the member, which is a financial commitment, so leave status out (new referrals start as pending) unless you mean it. Not idempotent. POST /api/referrals.
| Argument | Type | Description |
|---|---|---|
| note | string | Private note tied to the referral. |
| string | Referral email address. | |
| phone | string | Referral phone number. |
| amount | number | Order amount / total tied to the referral. |
| status | string | Initial status (default pending). qualified / approved may trigger rewards and need confirm: true. |
| confirm | boolean | Must be true when status is qualified or approved: confirms rewards may be issued. |
| last_name | string | Referral last name. |
| first_name | string | Referral first name. |
Sharing, referral and reward statistics of one member over a time period: views, shares, referrals (pending / qualified / approved), reward amounts pending and issued, last share and activity dates. GET /api/memberstats/getsingle.
| Argument | Type | Description |
|---|---|---|
| member* | string | The member's email address, id, external id or referral code. |
| time_period | string | All (default), MonthToDate, LastMonth, Last7Days or Last30Days. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"member"
],
"properties": {
"member": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "The member's email address, id, external id or referral code."
},
"time_period": {
"enum": [
"All",
"MonthToDate",
"LastMonth",
"Last7Days",
"Last30Days"
],
"type": "string",
"description": "All (default), MonthToDate, LastMonth, Last7Days or Last30Days."
}
}
}One referral program by its exact name: id, active flag, offers and URLs. GET /api/program/getsingle.
| Argument | Type | Description |
|---|---|---|
| name* | string | The program's exact name (see referralrock_list_programs). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "The program's exact name (see referralrock_list_programs)."
}
}
}One referral by id, email address or external id (at least one is required): status, amount, referring member, notes, custom fields and dates. GET /api/referral/single.
| Argument | Type | Description |
|---|---|---|
| string | The referral's email address. | |
| external_id | string | The referral's external identifier. |
| referral_id | string | The referral's id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"email": {
"type": "string",
"maxLength": 254,
"minLength": 1,
"description": "The referral's email address."
},
"external_id": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "The referral's external identifier."
},
"referral_id": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "The referral's id."
}
}
}List members (the people who refer others), newest first by default, with their referral code and share URL, referral counts, rewards earned and activity dates. Filter by program, by an email / id / external id / referral code, by created date, or active vs disabled. GET /api/members.
| Argument | Type | Description |
|---|---|---|
| sort | string | Sort order (default Create_Dt_Desc). |
| count | integer | Results per page, 1-200 (default 20). |
| query | string | A member's email address, id, external id or referral code. |
| offset | integer | Starting index, 0 based (default 0). Pass the previous reply's next_offset. |
| date_to | string | Only members created before this date (yyyy-mm-dd). |
| program | string | Program id, program name or program title. |
| date_from | string | Only members created after this date (yyyy-mm-dd). |
| show_disabled | boolean | true = disabled members, false = active members. Leave out for the default. |
Payout transactions already transferred to program participants (type, amount, date, status, destination, vendor errors) and the balance left in the account to cover pending payouts. Optionally for one recipient or one transaction. GET /api/payouts/transactions.
| Argument | Type | Description |
|---|---|---|
| recipient_id | string | Only the transactions paid to this recipient id. |
| transaction_id | string | Only this transaction id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"recipient_id": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Only the transactions paid to this recipient id."
},
"transaction_id": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Only this transaction id."
}
}
}Payouts that are owed but not yet transferred: recipient, program, number of rewards and total amount. Optionally for one recipient, and optionally including rewards whose eligibility date is still in the future. GET /api/payouts/pending.
| Argument | Type | Description |
|---|---|---|
| recipient_id | string | Only the payouts owed to this recipient id. |
| include_ineligible | boolean | Also include payouts for rewards with an eligibility date in the future (default false). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"recipient_id": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Only the payouts owed to this recipient id."
},
"include_ineligible": {
"type": "boolean",
"description": "Also include payouts for rewards with an eligibility date in the future (default false)."
}
}
}List the referral programs in the account: id, name, type (Web or Form), active flag, title, the member and referral offers and the share/widget URLs. Use the ids (or names) to filter members, referrals and rewards. GET /api/programs.
| Argument | Type | Description |
|---|---|---|
| count | integer | Results per page, 1-200 (default 20). |
| offset | integer | Starting index, 0 based (default 0). Pass the previous reply's next_offset. |
| program | string | Only the program with this id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"count": {
"type": "integer",
"maximum": 200,
"description": "Results per page, 1-200 (default 20).",
"exclusiveMinimum": 0
},
"offset": {
"type": "integer",
"maximum": 10000000,
"minimum": 0,
"description": "Starting index, 0 based (default 0). Pass the previous reply's next_offset."
},
"program": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Only the program with this id."
}
}
}List referrals (the people members referred), newest first by default, with status (pending, qualified, approved, denied), amount, the referring member, notes and dates. Filter by program, status, referring member, free-text query or created date. GET /api/referrals.
| Argument | Type | Description |
|---|---|---|
| sort | string | Sort order (default Create_Dt_Desc). |
| count | integer | Results per page, 1-200 (default 20). |
| query | string | A referral's email address, id, external id or referral code. |
| offset | integer | Starting index, 0 based (default 0). Pass the previous reply's next_offset. |
| status | string | Only referrals in this status. |
| date_to | string | Only referrals created before this date (yyyy-mm-dd). |
| program | string | Program id, program name or program title. |
| date_from | string | Only referrals created after this date (yyyy-mm-dd). |
| member_id |
The reward rules of one program: what triggers a reward (referral status, referral count or sales limits), how the amount is worked out (fixed or percent), the payout type and delivery delay. GET /api/rewardrules.
| Argument | Type | Description |
|---|---|---|
| program_id* | string | Program id (a GUID; see referralrock_list_programs). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"program_id"
],
"properties": {
"program_id": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Program id (a GUID; see referralrock_list_programs)."
}
}
}List rewards, newest first by default: recipient, amount, status (Pending, Processing, Issued), payout type, eligibility and issue dates, the member and referral behind it. Filter by program, member, status, recipient query or created date. GET /api/rewards.
| Argument | Type | Description |
|---|---|---|
| sort | string | Sort order (default Create_Dt_Desc). |
| count | integer | Results per page, 1-200 (default 20). |
| query | string | The recipient's email address, id, external id or member referral code. |
| offset | integer | Starting index, 0 based (default 0). Pass the previous reply's next_offset. |
| status | string | Only rewards in this status. |
| date_to | string | Only rewards created before this date (yyyy-mm-dd). |
| program | string | Program id, program name or program title. |
| date_from | string | Only rewards created after this date (yyyy-mm-dd). |
| member_id |
WRITE: reports a paying customer to Referral Rock. A customer whose email matches a pending referral turns that referral to approved, which triggers the program's configured rewards for the referring member (a financial commitment that may be paid out automatically). A customer with no matching referral is added as a pre-loaded member to every program that has Preload New Customers on. Returns the outcome per customer (ReferralApproved, MemberPreloaded, Skipped…). Not idempotent. POST /api/customerfeed.
| Argument | Type | Description |
|---|---|---|
| email* | string | The customer's email address; the match key against pending referrals and members. |
| phone | string | Customer phone number. |
| amount | number | Purchase amount; feeds percentage rewards (default 0). |
| confirm* | boolean | Must be true: confirms a matching pending referral may be approved and its rewards issued. |
| last_name | string | Customer last name. |
| first_name | string | Customer first name. |
| external_id | string | Your own id for this customer (for example a CRM id). |
WRITE: changes contact details of an existing member, or disables / re-enables the member (a disabled member can no longer take part in the programs). Only the fields you pass are changed. The member is found by id, referral code, or email / external id plus program_id or program_name; Referral Rock updates it only when it is uniquely identified. POST /api/members/update.
| Argument | Type | Description |
|---|---|---|
| string | The member's current email address (needs program_id or program_name). | |
| disabled | boolean | true disables the member, false re-enables. |
| member_id | string | The member's id (preferred). |
| new_email | string | New email address. |
| new_phone | string | New phone number. |
| program_id | string | Program id; needed together with email or external_id (or give program_name). |
| external_id | string | The member's current external identifier (needs program_id or program_name). |
| program_name | string | Program name; needed together with email or external_id (or give program_id). |
WRITE: changes the status, amount or notes of an existing referral. Moving a referral to qualified or approved can trigger the program's configured rewards for the referring member (a financial commitment that may be paid out automatically), and denied stops them: confirm with the user first. Only the fields you pass are changed. The referral is found by id, or by external id / email plus program_id or program_name. POST /api/referral/update.
| Argument | Type | Description |
|---|---|---|
| note | string | New private note. |
| string | The referral's email address (needs program_id or program_name). | |
| amount | number | New order amount / total (used for percentage rewards). |
| status | string | New status. |
| confirm | boolean | Must be true when status is qualified or approved, or amount is set: confirms rewards may be issued or changed. |
| program_id | string | Program id; needed together with external_id or email (or give program_name). |
| external_id | string | The referral's external identifier (needs program_id or program_name). |
| external_id |
| string |
| Your own unique id for the referral (an order or customer id), to find it again. |
| company_name | string | Company name. |
| referral_code* | string | The referral code of the member who introduced the referral (see referralrock_list_members). |
| preferred_contact | string | Preferred way to contact the referral. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"referral_code"
],
"properties": {
"note": {
"type": "string",
"maxLength": 2000,
"minLength": 1,
"description": "Private note tied to the referral."
},
"email": {
"type": "string",
"maxLength": 254,
"minLength": 1,
"description": "Referral email address."
},
"phone": {
"type": "string",
"maxLength": 50,
"minLength": 1,
"description": "Referral phone number."
},
"amount": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0,
"description": "Order amount / total tied to the referral."
},
"status": {
"enum": [
"pending",
"qualified",
"approved",
"denied"
],
"type": "string",
"description": "Initial status (default pending). qualified / approved may trigger rewards and need confirm: true."
},
"confirm": {
"type": "boolean",
"description": "Must be true when status is qualified or approved: confirms rewards may be issued."
},
"last_name": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Referral last name."
},
"first_name": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Referral first name."
},
"external_id": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Your own unique id for the referral (an order or customer id), to find it again."
},
"company_name": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Company name."
},
"referral_code": {
"type": "string",
"maxLength": 50,
"minLength": 1,
"description": "The referral code of the member who introduced the referral (see referralrock_list_members)."
},
"preferred_contact": {
"enum": [
"email",
"callMorning",
"callAfternoon",
"callEvening"
],
"type": "string",
"description": "Preferred way to contact the referral."
}
}
}{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"sort": {
"enum": [
"Create_Dt_Desc",
"Create_Dt_Asc",
"Member_Views_Desc",
"Member_Views_Asc",
"Page_Views_Desc",
"Page_Views_Asc",
"Lead_Count_Desc",
"Lead_Count_Asc",
"Reward_Issued_Total_Desc",
"Reward_Issued_Total_Asc",
"Member_Full_Name_Desc",
"Member_Full_Name_Asc"
],
"type": "string",
"description": "Sort order (default Create_Dt_Desc)."
},
"count": {
"type": "integer",
"maximum": 200,
"description": "Results per page, 1-200 (default 20).",
"exclusiveMinimum": 0
},
"query": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "A member's email address, id, external id or referral code."
},
"offset": {
"type": "integer",
"maximum": 10000000,
"minimum": 0,
"description": "Starting index, 0 based (default 0). Pass the previous reply's next_offset."
},
"date_to": {
"type": "string",
"pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$",
"description": "Only members created before this date (yyyy-mm-dd)."
},
"program": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Program id, program name or program title."
},
"date_from": {
"type": "string",
"pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$",
"description": "Only members created after this date (yyyy-mm-dd)."
},
"show_disabled": {
"type": "boolean",
"description": "true = disabled members, false = active members. Leave out for the default."
}
}
}| string |
| Only referrals made by this member id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"sort": {
"enum": [
"Create_Dt_Desc",
"Create_Dt_Asc",
"Amount_Desc",
"Amount_Asc",
"Qualified_Dt_Desc",
"Qualified_Dt_Asc",
"Closed_Dt_Desc",
"Closed_Dt_Asc"
],
"type": "string",
"description": "Sort order (default Create_Dt_Desc)."
},
"count": {
"type": "integer",
"maximum": 200,
"description": "Results per page, 1-200 (default 20).",
"exclusiveMinimum": 0
},
"query": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "A referral's email address, id, external id or referral code."
},
"offset": {
"type": "integer",
"maximum": 10000000,
"minimum": 0,
"description": "Starting index, 0 based (default 0). Pass the previous reply's next_offset."
},
"status": {
"enum": [
"pending",
"qualified",
"approved",
"denied"
],
"type": "string",
"description": "Only referrals in this status."
},
"date_to": {
"type": "string",
"pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$",
"description": "Only referrals created before this date (yyyy-mm-dd)."
},
"program": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Program id, program name or program title."
},
"date_from": {
"type": "string",
"pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$",
"description": "Only referrals created after this date (yyyy-mm-dd)."
},
"member_id": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Only referrals made by this member id."
}
}
}| string |
| Only rewards of this member id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"sort": {
"enum": [
"Create_Dt_Desc",
"Create_Dt_Asc",
"Reward_Action_Desc",
"Reward_Action_Asc",
"Recipient_Name_Desc",
"Recipient_Name_Asc",
"Complete_Dt_Desc",
"Complete_Dt_Asc"
],
"type": "string",
"description": "Sort order (default Create_Dt_Desc)."
},
"count": {
"type": "integer",
"maximum": 200,
"description": "Results per page, 1-200 (default 20).",
"exclusiveMinimum": 0
},
"query": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "The recipient's email address, id, external id or member referral code."
},
"offset": {
"type": "integer",
"maximum": 10000000,
"minimum": 0,
"description": "Starting index, 0 based (default 0). Pass the previous reply's next_offset."
},
"status": {
"enum": [
"Pending",
"Processing",
"Issued"
],
"type": "string",
"description": "Only rewards in this status."
},
"date_to": {
"type": "string",
"pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$",
"description": "Only rewards created before this date (yyyy-mm-dd)."
},
"program": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Program id, program name or program title."
},
"date_from": {
"type": "string",
"pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$",
"description": "Only rewards created after this date (yyyy-mm-dd)."
},
"member_id": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Only rewards of this member id."
}
}
}| purchase_date | string | Purchase date, ISO 8601 (default: now, UTC). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"email",
"confirm"
],
"properties": {
"email": {
"type": "string",
"maxLength": 254,
"minLength": 1,
"description": "The customer's email address; the match key against pending referrals and members."
},
"phone": {
"type": "string",
"maxLength": 50,
"minLength": 1,
"description": "Customer phone number."
},
"amount": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0,
"description": "Purchase amount; feeds percentage rewards (default 0)."
},
"confirm": {
"type": "boolean",
"const": true,
"description": "Must be true: confirms a matching pending referral may be approved and its rewards issued."
},
"last_name": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Customer last name."
},
"first_name": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Customer first name."
},
"external_id": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Your own id for this customer (for example a CRM id)."
},
"purchase_date": {
"type": "string",
"maxLength": 40,
"description": "Purchase date, ISO 8601 (default: now, UTC)."
}
}
}| new_last_name | string | New last name. |
| referral_code | string | The member's referral code. |
| new_first_name | string | New first name. |
| new_external_id | string | New external identifier. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"email": {
"type": "string",
"maxLength": 254,
"minLength": 1,
"description": "The member's current email address (needs program_id or program_name)."
},
"disabled": {
"type": "boolean",
"description": "true disables the member, false re-enables."
},
"member_id": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "The member's id (preferred)."
},
"new_email": {
"type": "string",
"maxLength": 254,
"minLength": 1,
"description": "New email address."
},
"new_phone": {
"type": "string",
"maxLength": 50,
"minLength": 1,
"description": "New phone number."
},
"program_id": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Program id; needed together with email or external_id (or give program_name)."
},
"external_id": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "The member's current external identifier (needs program_id or program_name)."
},
"program_name": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Program name; needed together with email or external_id (or give program_id)."
},
"new_last_name": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "New last name."
},
"referral_code": {
"type": "string",
"maxLength": 50,
"minLength": 1,
"description": "The member's referral code."
},
"new_first_name": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "New first name."
},
"new_external_id": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "New external identifier."
}
}
}| public_note |
| string |
| New public note. |
| referral_id | string | The referral's id (preferred). |
| program_name | string | Program name; needed together with external_id or email (or give program_id). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"note": {
"type": "string",
"maxLength": 2000,
"minLength": 1,
"description": "New private note."
},
"email": {
"type": "string",
"maxLength": 254,
"minLength": 1,
"description": "The referral's email address (needs program_id or program_name)."
},
"amount": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0,
"description": "New order amount / total (used for percentage rewards)."
},
"status": {
"enum": [
"pending",
"qualified",
"approved",
"denied"
],
"type": "string",
"description": "New status."
},
"confirm": {
"type": "boolean",
"description": "Must be true when status is qualified or approved, or amount is set: confirms rewards may be issued or changed."
},
"program_id": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Program id; needed together with external_id or email (or give program_name)."
},
"external_id": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "The referral's external identifier (needs program_id or program_name)."
},
"public_note": {
"type": "string",
"maxLength": 2000,
"minLength": 1,
"description": "New public note."
},
"referral_id": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "The referral's id (preferred)."
},
"program_name": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Program name; needed together with external_id or email (or give program_id)."
}
}
}