Server definition
- Hash
- sha256:809199589f26b32f9e276b10fbe742de615f80aee2330ac274b80e897670a8e7
- What it is
- What a remote MCP server returned when asked what it offers: 20 tools
The blob, as servednamed by its sha256
{
"instructions": null,
"tools": [
{
"description": "WRITE: create a new individual or organization constituent. For an individual give first_name/last_name; for an organization give full_name. Search first (bloomerang_search_constituents) to avoid creating a duplicate donor. Bloomerang: POST /constituent.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"birthdate": {
"description": "Birth date (YYYY-MM-DD).",
"type": "string"
},
"employer": {
"type": "string"
},
"envelope_name": {
"type": "string"
},
"first_name": {
"type": "string"
},
"formal_name": {
"type": "string"
},
"full_name": {
"description": "Organization name, or an explicit individual full name.",
"type": "string"
},
"gender": {
"enum": [
"Male",
"Female",
"Other"
],
"type": "string"
},
"informal_name": {
"type": "string"
},
"job_title": {
"type": "string"
},
"last_name": {
"type": "string"
},
"middle_name": {
"type": "string"
},
"prefix": {
"description": "Must match a prefix configured in the CRM, e.g. Mr., Ms., Dr.",
"type": "string"
},
"primary_address": {
"description": "Primary postal address.",
"properties": {
"City": {
"type": "string"
},
"Country": {
"description": "Must match a country configured in the Bloomerang CRM.",
"type": "string"
},
"PostalCode": {
"type": "string"
},
"State": {
"description": "Must match a state configured in the Bloomerang CRM.",
"type": "string"
},
"Street": {
"type": "string"
},
"Type": {
"enum": [
"Home",
"Vacation",
"Work"
],
"type": "string"
}
},
"type": "object"
},
"primary_email": {
"description": "Primary email address.",
"properties": {
"Type": {
"enum": [
"Home",
"Work"
],
"type": "string"
},
"Value": {
"description": "The email address.",
"format": "email",
"pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
"type": "string"
}
},
"required": [
"Value"
],
"type": "object"
},
"primary_phone": {
"description": "Primary phone.",
"properties": {
"Extension": {
"type": "string"
},
"Number": {
"description": "The phone number, formatting allowed, without the extension.",
"type": "string"
},
"Type": {
"enum": [
"Home",
"Work",
"Mobile",
"Fax"
],
"type": "string"
}
},
"required": [
"Number"
],
"type": "object"
},
"recognition_name": {
"type": "string"
},
"status": {
"description": "Constituent status.",
"enum": [
"Active",
"Inactive",
"Deceased"
],
"type": "string"
},
"suffix": {
"description": "Must match a suffix configured in the CRM.",
"type": "string"
},
"type": {
"description": "Record type.",
"enum": [
"Individual",
"Organization"
],
"type": "string"
},
"website": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
},
"name": "bloomerang_create_constituent",
"outputSchema": null
},
{
"description": "WRITE: log an interaction with a constituent — a call, email, meeting, letter, etc. — on their timeline. Bloomerang: POST /interaction.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"channel": {
"description": "How it happened.",
"enum": [
"Email",
"MassEmail",
"Phone",
"TextMessage",
"Mail",
"InPerson",
"SocialMedia",
"Website",
"Twitter",
"Other",
"EngagementSurveyEmail",
"EngagementSurvey"
],
"type": "string"
},
"constituent_id": {
"description": "The API Id of the constituent (not the CRM AccountNumber).",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"date": {
"description": "When it happened (YYYY-MM-DD).",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"is_inbound": {
"description": "True if the constituent initiated it.",
"type": "boolean"
},
"note": {
"description": "Details.",
"type": "string"
},
"purpose": {
"description": "Why it happened.",
"enum": [
"Acknowledgement",
"ImpactCultivation",
"Newsletter",
"Receipt",
"Solicitation",
"SpecialEvent",
"VolunteerActivity",
"PledgeReminder",
"Welcome",
"BenevonPointOfEntry",
"BenevonFollowUp",
"BenevonAskEvent",
"BenevonOneOnOneAsk",
"BenevonOngoingCultivation",
"Other"
],
"type": "string"
},
"subject": {
"description": "Short subject line.",
"minLength": 1,
"type": "string"
}
},
"required": [
"constituent_id",
"date",
"channel",
"purpose",
"subject"
],
"type": "object"
},
"name": "bloomerang_create_interaction",
"outputSchema": null
},
{
"description": "WRITE: add a note to a constituent's record. Bloomerang: POST /note.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"constituent_id": {
"description": "The API Id of the constituent (not the CRM AccountNumber).",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"date": {
"description": "Note date (YYYY-MM-DD).",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"note": {
"description": "The note text.",
"minLength": 1,
"type": "string"
}
},
"required": [
"constituent_id",
"date",
"note"
],
"type": "object"
},
"name": "bloomerang_create_note",
"outputSchema": null
},
{
"description": "WRITE: create a follow-up task, optionally tied to a constituent and assigned to a user (find user Ids via bloomerang_get_current_user or existing tasks). Bloomerang: POST /task.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"assignee_user_id": {
"description": "User Id to assign it to.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"channel": {
"description": "Planned channel.",
"enum": [
"Email",
"MassEmail",
"Phone",
"TextMessage",
"Mail",
"InPerson",
"SocialMedia",
"Website",
"Twitter",
"Other",
"EngagementSurveyEmail",
"EngagementSurvey"
],
"type": "string"
},
"constituent_id": {
"description": "Constituent the task is about.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"due_date": {
"description": "Due date (YYYY-MM-DD).",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"note": {
"description": "Details.",
"type": "string"
},
"purpose": {
"description": "Planned purpose.",
"enum": [
"Acknowledgement",
"ImpactCultivation",
"Newsletter",
"Receipt",
"Solicitation",
"SpecialEvent",
"VolunteerActivity",
"PledgeReminder",
"Welcome",
"BenevonPointOfEntry",
"BenevonFollowUp",
"BenevonAskEvent",
"BenevonOneOnOneAsk",
"BenevonOngoingCultivation",
"Other"
],
"type": "string"
},
"send_notifications": {
"description": "If true, Bloomerang emails the assignee about the task. Default false.",
"type": "boolean"
},
"subject": {
"description": "Short subject line.",
"minLength": 1,
"type": "string"
}
},
"required": [
"due_date",
"subject"
],
"type": "object"
},
"name": "bloomerang_create_task",
"outputSchema": null
},
{
"description": "Fetch one constituent's full profile — names, primary and secondary contact details, household, communication preferences, engagement score and custom values. Bloomerang: GET /constituent/{id}.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"constituent_id": {
"description": "The API Id of the constituent (not the CRM AccountNumber).",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
}
},
"required": [
"constituent_id"
],
"type": "object"
},
"name": "bloomerang_get_constituent",
"outputSchema": null
},
{
"description": "The activity timeline for a constituent — gifts, interactions, notes, tasks and more, newest first. Pass a household Id to get the timeline of every member. Bloomerang: GET /constituent/{id}/timeline.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"constituent_id": {
"description": "The API Id of the constituent or household (not the CRM AccountNumber).",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"skip": {
"description": "Records to skip (offset). Default 0.",
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"take": {
"description": "Page size, 1-50. Default 50.",
"maximum": 50,
"minimum": 1,
"type": "integer"
}
},
"required": [
"constituent_id"
],
"type": "object"
},
"name": "bloomerang_get_constituent_timeline",
"outputSchema": null
},
{
"description": "Fetch the Bloomerang user the API key belongs to — name, email and permission level. A cheap way to confirm the key works and see what it may do. Bloomerang: GET /user/current.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {},
"type": "object"
},
"name": "bloomerang_get_current_user",
"outputSchema": null
},
{
"description": "Fetch a household — its names, head of household (HeadId) and member constituent Ids. A constituent's HouseholdId points here. Bloomerang: GET /household/{id}.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"household_id": {
"description": "The API Id of the household (not the CRM AccountNumber).",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
}
},
"required": [
"household_id"
],
"type": "object"
},
"name": "bloomerang_get_household",
"outputSchema": null
},
{
"description": "Fetch one transaction with its payment method, amounts, refund status and every designation (fund, campaign, appeal, tribute, acknowledgement status). Bloomerang: GET /transaction/{id}.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"transaction_id": {
"description": "The API Id of the transaction (not the CRM AccountNumber).",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
}
},
"required": [
"transaction_id"
],
"type": "object"
},
"name": "bloomerang_get_transaction",
"outputSchema": null
},
{
"description": "List appeals — the specific asks (a year-end letter, a gala invitation) that gifts are attributed to. Bloomerang: GET /appeals.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"ids": {
"description": "Only these record Ids.",
"items": {
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"type": "array"
},
"is_active": {
"description": "Only active (true) or inactive (false).",
"type": "boolean"
},
"last_modified": {
"description": "Only records last modified after this date/time (ISO 8601, e.g. 2026-01-31).",
"type": "string"
},
"search": {
"description": "Only names containing this text.",
"type": "string"
},
"skip": {
"description": "Records to skip (offset). Default 0.",
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"take": {
"description": "Page size, 1-50. Default 50.",
"maximum": 50,
"minimum": 1,
"type": "integer"
}
},
"type": "object"
},
"name": "bloomerang_list_appeals",
"outputSchema": null
},
{
"description": "List fundraising campaigns with their goals and dates. Bloomerang: GET /campaigns.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"has_goal": {
"description": "Only campaigns with a non-zero (true) or zero (false) goal.",
"type": "boolean"
},
"ids": {
"description": "Only these record Ids.",
"items": {
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"type": "array"
},
"is_active": {
"description": "Only active (true) or inactive (false).",
"type": "boolean"
},
"last_modified": {
"description": "Only records last modified after this date/time (ISO 8601, e.g. 2026-01-31).",
"type": "string"
},
"search": {
"description": "Only names containing this text.",
"type": "string"
},
"skip": {
"description": "Records to skip (offset). Default 0.",
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"take": {
"description": "Page size, 1-50. Default 50.",
"maximum": 50,
"minimum": 1,
"type": "integer"
}
},
"type": "object"
},
"name": "bloomerang_list_campaigns",
"outputSchema": null
},
{
"description": "Relationships between this constituent and others (spouse, employer, board member ...), with the role on each side. Bloomerang: GET /constituent/{id}/relationships.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"constituent_id": {
"description": "The API Id of the constituent (not the CRM AccountNumber).",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"last_modified": {
"description": "Only records last modified after this date/time (ISO 8601, e.g. 2026-01-31).",
"type": "string"
},
"skip": {
"description": "Records to skip (offset). Default 0.",
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"take": {
"description": "Page size, 1-50. Default 50.",
"maximum": 50,
"minimum": 1,
"type": "integer"
}
},
"required": [
"constituent_id"
],
"type": "object"
},
"name": "bloomerang_list_constituent_relationships",
"outputSchema": null
},
{
"description": "List constituents with filters — by Id, type, favorites, last-modified date, or a custom field value — and sorting. Good for syncing recent changes. Bloomerang: GET /constituents.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"custom_field_id": {
"description": "Custom field Id to filter by.",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"custom_field_value": {
"description": "Custom field value to filter by.",
"type": "string"
},
"ids": {
"description": "Only these constituent Ids.",
"items": {
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"type": "array"
},
"is_favorite": {
"description": "Only constituents the key's user has favorited.",
"type": "boolean"
},
"last_modified": {
"description": "Only records last modified after this date/time (ISO 8601, e.g. 2026-01-31).",
"type": "string"
},
"order_by": {
"enum": [
"Id",
"CreatedDate",
"LastModifiedDate"
],
"type": "string"
},
"order_direction": {
"description": "Sort direction.",
"enum": [
"Asc",
"Desc"
],
"type": "string"
},
"skip": {
"description": "Records to skip (offset). Default 0.",
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"take": {
"description": "Page size, 1-50. Default 50.",
"maximum": 50,
"minimum": 1,
"type": "integer"
},
"type": {
"enum": [
"Individual",
"Organization"
],
"type": "string"
}
},
"type": "object"
},
"name": "bloomerang_list_constituents",
"outputSchema": null
},
{
"description": "List the funds gifts can be designated to (e.g. General Operating, Scholarship). Bloomerang: GET /funds.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"ids": {
"description": "Only these record Ids.",
"items": {
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"type": "array"
},
"is_active": {
"description": "Only active (true) or inactive (false).",
"type": "boolean"
},
"is_default": {
"description": "Only the default (true) or non-default (false) fund.",
"type": "boolean"
},
"search": {
"description": "Only names containing this text.",
"type": "string"
},
"skip": {
"description": "Records to skip (offset). Default 0.",
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"take": {
"description": "Page size, 1-50. Default 50.",
"maximum": 50,
"minimum": 1,
"type": "integer"
}
},
"type": "object"
},
"name": "bloomerang_list_funds",
"outputSchema": null
},
{
"description": "List logged interactions (calls, emails, meetings, letters ...) — filter by constituent, channel or purpose. Bloomerang: GET /interactions.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"channels": {
"description": "Only these channels.",
"items": {
"enum": [
"Email",
"MassEmail",
"Phone",
"TextMessage",
"Mail",
"InPerson",
"SocialMedia",
"Website",
"Twitter",
"Other",
"EngagementSurveyEmail",
"EngagementSurvey"
],
"type": "string"
},
"type": "array"
},
"constituent_ids": {
"description": "Only these constituent Ids.",
"items": {
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"type": "array"
},
"ids": {
"description": "Only these interaction Ids.",
"items": {
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"type": "array"
},
"order_by": {
"description": "Default Date.",
"enum": [
"CreatedDate",
"Date",
"LastModifiedDate"
],
"type": "string"
},
"order_direction": {
"description": "Sort direction.",
"enum": [
"Asc",
"Desc"
],
"type": "string"
},
"purposes": {
"description": "Only these purposes.",
"items": {
"enum": [
"Acknowledgement",
"ImpactCultivation",
"Newsletter",
"Receipt",
"Solicitation",
"SpecialEvent",
"VolunteerActivity",
"PledgeReminder",
"Welcome",
"BenevonPointOfEntry",
"BenevonFollowUp",
"BenevonAskEvent",
"BenevonOneOnOneAsk",
"BenevonOngoingCultivation",
"Other"
],
"type": "string"
},
"type": "array"
},
"skip": {
"description": "Records to skip (offset). Default 0.",
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"take": {
"description": "Page size, 1-50. Default 50.",
"maximum": 50,
"minimum": 1,
"type": "integer"
}
},
"type": "object"
},
"name": "bloomerang_list_interactions",
"outputSchema": null
},
{
"description": "List notes, optionally for specific constituents. Bloomerang: GET /notes.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"constituent_ids": {
"description": "Only these constituent Ids.",
"items": {
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"type": "array"
},
"ids": {
"description": "Only these note Ids.",
"items": {
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"type": "array"
},
"order_by": {
"description": "Default Date.",
"enum": [
"CreatedDate",
"Date",
"LastModifiedDate"
],
"type": "string"
},
"order_direction": {
"description": "Sort direction.",
"enum": [
"Asc",
"Desc"
],
"type": "string"
},
"skip": {
"description": "Records to skip (offset). Default 0.",
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"take": {
"description": "Page size, 1-50. Default 50.",
"maximum": 50,
"minimum": 1,
"type": "integer"
}
},
"type": "object"
},
"name": "bloomerang_list_notes",
"outputSchema": null
},
{
"description": "List tasks (follow-ups) — filter by status, due-date range, assignee user, constituent, channel or purpose. Bloomerang: GET /tasks.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"assignee_user_ids": {
"description": "Only tasks assigned to these user Ids.",
"items": {
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"type": "array"
},
"channels": {
"items": {
"enum": [
"Email",
"MassEmail",
"Phone",
"TextMessage",
"Mail",
"InPerson",
"SocialMedia",
"Website",
"Twitter",
"Other",
"EngagementSurveyEmail",
"EngagementSurvey"
],
"type": "string"
},
"type": "array"
},
"constituent_ids": {
"description": "Only these constituent Ids.",
"items": {
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"type": "array"
},
"ids": {
"description": "Only these task Ids.",
"items": {
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"type": "array"
},
"max_due_date": {
"description": "Due on or before this date (YYYY-MM-DD).",
"type": "string"
},
"min_due_date": {
"description": "Due on or after this date (YYYY-MM-DD).",
"type": "string"
},
"order_by": {
"enum": [
"CreatedDate",
"Date",
"LastModifiedDate"
],
"type": "string"
},
"order_direction": {
"description": "Sort direction.",
"enum": [
"Asc",
"Desc"
],
"type": "string"
},
"purposes": {
"items": {
"enum": [
"Acknowledgement",
"ImpactCultivation",
"Newsletter",
"Receipt",
"Solicitation",
"SpecialEvent",
"VolunteerActivity",
"PledgeReminder",
"Welcome",
"BenevonPointOfEntry",
"BenevonFollowUp",
"BenevonAskEvent",
"BenevonOneOnOneAsk",
"BenevonOngoingCultivation",
"Other"
],
"type": "string"
},
"type": "array"
},
"skip": {
"description": "Records to skip (offset). Default 0.",
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"statuses": {
"description": "Only these statuses.",
"items": {
"enum": [
"Active",
"Complete",
"Archived"
],
"type": "string"
},
"type": "array"
},
"take": {
"description": "Page size, 1-50. Default 50.",
"maximum": 50,
"minimum": 1,
"type": "integer"
}
},
"type": "object"
},
"name": "bloomerang_list_tasks",
"outputSchema": null
},
{
"description": "List transactions — donations, pledges, pledge payments, recurring donations and their payments — with their designations (fund, campaign, appeal). Filter by constituent, amount range, type or last-modified date. Read only. Bloomerang: GET /transactions.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"constituent_ids": {
"description": "Only these constituent (AccountId) Ids.",
"items": {
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"type": "array"
},
"ids": {
"description": "Only these transaction Ids.",
"items": {
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"type": "array"
},
"last_modified": {
"description": "Only records last modified after this date/time (ISO 8601, e.g. 2026-01-31).",
"type": "string"
},
"max_amount": {
"description": "Maximum amount, inclusive.",
"type": "number"
},
"min_amount": {
"description": "Minimum amount, inclusive.",
"type": "number"
},
"order_by": {
"description": "Default Date.",
"enum": [
"Amount",
"CreatedDate",
"Date",
"LastModifiedDate"
],
"type": "string"
},
"order_direction": {
"description": "Sort direction (default Desc).",
"enum": [
"Asc",
"Desc"
],
"type": "string"
},
"skip": {
"description": "Records to skip (offset). Default 0.",
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"take": {
"description": "Page size, 1-50. Default 50.",
"maximum": 50,
"minimum": 1,
"type": "integer"
},
"transaction_numbers": {
"description": "Only these TransactionNumbers (called Payment Number in CRM reporting).",
"items": {
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"type": "array"
},
"types": {
"description": "Only transactions with at least one designation of these types.",
"items": {
"enum": [
"Donation",
"Pledge",
"PledgePayment",
"RecurringDonation",
"RecurringDonationPayment"
],
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"name": "bloomerang_list_transactions",
"outputSchema": null
},
{
"description": "Full-text search across constituents (individuals and organizations) and households by name, email, etc. Start here to find a donor's Id. Bloomerang: GET /constituents/search.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"search": {
"description": "Text to search for, e.g. a name or email.",
"minLength": 1,
"type": "string"
},
"skip": {
"description": "Records to skip (offset). Default 0.",
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"take": {
"description": "Page size, 1-50. Default 50.",
"maximum": 50,
"minimum": 1,
"type": "integer"
},
"type": {
"description": "Only this record type.",
"enum": [
"Individual",
"Organization",
"Household"
],
"type": "string"
}
},
"required": [
"search"
],
"type": "object"
},
"name": "bloomerang_search_constituents",
"outputSchema": null
},
{
"description": "WRITE: update fields on an existing constituent's profile (names, job, status, primary address/email/phone). Only the fields you supply are sent. Bloomerang: PUT /constituent/{id}.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"birthdate": {
"description": "Birth date (YYYY-MM-DD).",
"type": "string"
},
"constituent_id": {
"description": "The API Id of the constituent (not the CRM AccountNumber).",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"employer": {
"type": "string"
},
"envelope_name": {
"type": "string"
},
"first_name": {
"type": "string"
},
"formal_name": {
"type": "string"
},
"full_name": {
"description": "Organization name, or an explicit individual full name.",
"type": "string"
},
"gender": {
"enum": [
"Male",
"Female",
"Other"
],
"type": "string"
},
"informal_name": {
"type": "string"
},
"job_title": {
"type": "string"
},
"last_name": {
"type": "string"
},
"middle_name": {
"type": "string"
},
"prefix": {
"description": "Must match a prefix configured in the CRM, e.g. Mr., Ms., Dr.",
"type": "string"
},
"primary_address": {
"description": "Primary postal address.",
"properties": {
"City": {
"type": "string"
},
"Country": {
"description": "Must match a country configured in the Bloomerang CRM.",
"type": "string"
},
"PostalCode": {
"type": "string"
},
"State": {
"description": "Must match a state configured in the Bloomerang CRM.",
"type": "string"
},
"Street": {
"type": "string"
},
"Type": {
"enum": [
"Home",
"Vacation",
"Work"
],
"type": "string"
}
},
"type": "object"
},
"primary_email": {
"description": "Primary email address.",
"properties": {
"Type": {
"enum": [
"Home",
"Work"
],
"type": "string"
},
"Value": {
"description": "The email address.",
"format": "email",
"pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
"type": "string"
}
},
"required": [
"Value"
],
"type": "object"
},
"primary_phone": {
"description": "Primary phone.",
"properties": {
"Extension": {
"type": "string"
},
"Number": {
"description": "The phone number, formatting allowed, without the extension.",
"type": "string"
},
"Type": {
"enum": [
"Home",
"Work",
"Mobile",
"Fax"
],
"type": "string"
}
},
"required": [
"Number"
],
"type": "object"
},
"recognition_name": {
"type": "string"
},
"status": {
"description": "Constituent status.",
"enum": [
"Active",
"Inactive",
"Deceased"
],
"type": "string"
},
"suffix": {
"description": "Must match a suffix configured in the CRM.",
"type": "string"
},
"website": {
"type": "string"
}
},
"required": [
"constituent_id"
],
"type": "object"
},
"name": "bloomerang_update_constituent",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:809199589f26b32f9e276b10fbe742de615f80aee2330ac274b80e897670a8e7 | sha256sum