little-green-light
Search Little Green Light donors, gifts, notes and memberships, and add gifts and contact reports.
Sollte ich dies verwenden
Qualität und Sicherheit
Befunde (2)
- LOWin lgl_list_constituent_contact_reports
- LOWin lgl_list_constituent_memberships
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"little-green-light": {
"url": "https://little-green-light.usefulapi.io/mcp"
}
}
}Remote-Endpunkte
https://little-green-light.usefulapi.io/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (20)
🟢lgl_search_constituents(name, email, terms, expand, sort, ...)
Search active constituents (donors, members, volunteers, organizations). Give `name` and/or `email` for the common case, or raw `terms`. Available term fields: name, eaddr (email contains), phone_number, street, city, state (2-letter), postal_code, country, keyword (keyword id), updated_from / updated_to (YYYY-MM-DDTHH:MM:SSZ), membership_status (0 lapsed, 1 active), membership_level (comma-separated ids), membership_end_date_from / _to (YYYY-MM-DD), external_id, constituent_type (0 individual, 1 organization), groups (comma-separated group ids), lists (comma-separated list ids), custom_attr (key|op|value). At least one term is required. LGL: GET /api/v1/constituents/search.
Eingabe-Schema
{
"type": "object",
"properties": {
"name": {
"description": "Any name field contains this.",
"type": "string"
},
"email": {
"description": "Email address contains this.",
"type": "string"
},
"terms": {
"description": "Extra raw LGL search terms, each 'field=value' (combined with AND). See the tool description for the available fields.",
"type": "array",
"items": {
"type": "string",
"minLength": 3
}
},
"expand": {
"description": "Related records to include inline on each constituent.",
"type": "array",
"items": {
"type": "string",
"enum": [
"class_affiliations",
"relationships",
"street_addresses",
"phone_numbers",
"email_addresses",
"web_addresses",
"categories",
"groups",
"memberships",
"custom_attrs"
]
}
},
"sort": {
"description": "Sort by name, external_id, lgl_id, date_created, date_updated, membership_level or membership_end_date_from. Append '!' to reverse (e.g. date_updated!).",
"type": "string",
"pattern": "^(name|external_id|lgl_id|date_created|date_updated|membership_level|membership_end_date_from)!?$"
},
"limit": {
"description": "Number of entries to return, 1-100. LGL's default is 25.",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"offset": {
"description": "Start at this entry (0-based). Use the previous page's next_item. Default 0.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢lgl_get_constituent(id)
Full details for one constituent by LGL id: names, salutations, addresses, phone numbers, email addresses, groups, memberships and custom attributes. LGL: GET /api/v1/constituents/{id}.
Eingabe-Schema
{
"type": "object",
"properties": {
"id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Constituent id (integer)."
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢lgl_list_constituent_gifts(constituent_id, limit, offset)
A constituent's giving history: every gift with amount, date, gift type, fund, campaign, appeal, event and payment type. LGL: GET /api/v1/constituents/{constituent_id}/gifts.
Eingabe-Schema
{
"type": "object",
"properties": {
"constituent_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Constituent id (integer)."
},
"limit": {
"description": "Number of entries to return, 1-100. LGL's default is 25.",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"offset": {
"description": "Start at this entry (0-based). Use the previous page's next_item. Default 0.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"constituent_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢lgl_search_gifts(date_from, date_to, updated_from, updated_to, terms, ...)
Search active gifts across the account — e.g. everything received in a date range, or gifts to one fund or campaign. Give date/updated bounds and/or raw `terms`. Available term fields: date_from / date_to (YYYY-MM-DD), gift_types (in|ni + comma ids, e.g. in|1,7), gift_amount (gte|lte|btw|gt|lt|eq|ne + number[s], e.g. btw|100|1000), payment_types, campaigns, funds, appeals, events, categories (in|ni|bl + comma ids), appeal_types, event_types, constituent_type (0/1), gift_ids, external_gift_ids, created_from / created_to and updated_from / updated_to (YYYY-MM-DDTHH:MM:SSZ). At least one term is required. LGL: GET /api/v1/gifts/search.
Eingabe-Schema
{
"type": "object",
"properties": {
"date_from": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Gift date from (YYYY-MM-DD)."
},
"date_to": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Gift date to (YYYY-MM-DD)."
},
"updated_from": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}Z)?$",
"description": "Updated from (YYYY-MM-DD or YYYY-MM-DDTHH:MM:SSZ)."
},
"updated_to": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}Z)?$",
"description": "Updated to (YYYY-MM-DD or YYYY-MM-DDTHH:MM:SSZ)."
},
"terms": {
"description": "Extra raw LGL search terms, each 'field=value' (combined with AND). See the tool description for the available fields.",
"type": "array",
"items": {
"type": "string",
"minLength": 3
}
},
"expand": {
"description": "Donor fields to include inline on each gift.",
"type": "array",
"items": {
"type": "string",
"enum": [
"external_constituent_id",
"constituent_is_org",
"first_name",
"last_name",
"org_name",
"phone_numbers",
"email_addresses",
"street_addresses"
]
}
},
"sort": {
"description": "Sort by name, gift_amount, date, date_created, date_updated, fund, appeal, campaign or gift_type. Append '!' to reverse (e.g. date!).",
"type": "string",
"pattern": "^(name|gift_amount|date|date_created|date_updated|fund|appeal|campaign|gift_type)!?$"
},
"limit": {
"description": "Number of entries to return, 1-100. LGL's default is 25.",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"offset": {
"description": "Start at this entry (0-based). Use the previous page's next_item. Default 0.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢lgl_get_gift(id)
Full details for one gift by id: amount, deductible amount, dates, fund/campaign/appeal/event, payment type, acknowledgment template, tribute and custom fields. LGL: GET /api/v1/gifts/{id}.
Eingabe-Schema
{
"type": "object",
"properties": {
"id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Gift id (integer)."
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢lgl_list_constituent_notes(constituent_id, limit, offset)
Notes recorded on a constituent (type, text, original date). LGL: GET /api/v1/constituents/{constituent_id}/notes.
Eingabe-Schema
{
"type": "object",
"properties": {
"constituent_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Constituent id (integer)."
},
"limit": {
"description": "Number of entries to return, 1-100. LGL's default is 25.",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"offset": {
"description": "Start at this entry (0-based). Use the previous page's next_item. Default 0.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"constituent_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢lgl_list_constituent_contact_reports(constituent_id, limit, offset)
Contact reports (calls, emails, meetings) logged for a constituent, with type, date, text and team member. LGL: GET /api/v1/constituents/{constituent_id}/contact_reports.
Eingabe-Schema
{
"type": "object",
"properties": {
"constituent_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Constituent id (integer)."
},
"limit": {
"description": "Number of entries to return, 1-100. LGL's default is 25.",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"offset": {
"description": "Start at this entry (0-based). Use the previous page's next_item. Default 0.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"constituent_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢lgl_list_constituent_memberships(constituent_id, limit, offset)
A constituent's memberships: level, start date and finish date — use it to see whether someone is current or lapsed. LGL: GET /api/v1/constituents/{constituent_id}/memberships.
Eingabe-Schema
{
"type": "object",
"properties": {
"constituent_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Constituent id (integer)."
},
"limit": {
"description": "Number of entries to return, 1-100. LGL's default is 25.",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"offset": {
"description": "Start at this entry (0-based). Use the previous page's next_item. Default 0.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"constituent_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢lgl_list_appeals(limit, offset)
Fundraising appeals (mailings, emails, asks) with campaign, date, financial goal, cost and active flag. Use the ids and names when recording gifts or filtering searches. LGL: GET /api/v1/appeals.
Eingabe-Schema
{
"type": "object",
"properties": {
"limit": {
"description": "Number of entries to return, 1-100. LGL's default is 25.",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"offset": {
"description": "Start at this entry (0-based). Use the previous page's next_item. Default 0.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢lgl_list_campaigns(limit, offset)
Campaigns with start/end dates, financial goal, code and active flag. Use the ids and names when recording gifts or filtering searches. LGL: GET /api/v1/campaigns.
Eingabe-Schema
{
"type": "object",
"properties": {
"limit": {
"description": "Number of entries to return, 1-100. LGL's default is 25.",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"offset": {
"description": "Start at this entry (0-based). Use the previous page's next_item. Default 0.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢lgl_list_funds(limit, offset)
Funds (where gifts are designated) with campaign, code, financial goal and active flag. Use the ids and names when recording gifts or filtering searches. LGL: GET /api/v1/funds.
Eingabe-Schema
{
"type": "object",
"properties": {
"limit": {
"description": "Number of entries to return, 1-100. LGL's default is 25.",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"offset": {
"description": "Start at this entry (0-based). Use the previous page's next_item. Default 0.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢lgl_list_events(limit, offset)
Events (galas, lunches, board weekends) with dates, campaign, event type, goal and active flag. Use the ids and names when recording gifts or filtering searches. LGL: GET /api/v1/events.
Eingabe-Schema
{
"type": "object",
"properties": {
"limit": {
"description": "Number of entries to return, 1-100. LGL's default is 25.",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"offset": {
"description": "Start at this entry (0-based). Use the previous page's next_item. Default 0.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢lgl_list_groups(limit, offset)
Constituent groups (e.g. Board Member, Staff, Volunteer) with their ids and keys. Use the ids and names when recording gifts or filtering searches. LGL: GET /api/v1/groups.
Eingabe-Schema
{
"type": "object",
"properties": {
"limit": {
"description": "Number of entries to return, 1-100. LGL's default is 25.",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"offset": {
"description": "Start at this entry (0-based). Use the previous page's next_item. Default 0.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢lgl_list_team_members(limit, offset)
LGL user accounts on the team (name, email, admin flag) — the values a gift or contact report's team_member refers to. Use the ids and names when recording gifts or filtering searches. LGL: GET /api/v1/team_members.
Eingabe-Schema
{
"type": "object",
"properties": {
"limit": {
"description": "Number of entries to return, 1-100. LGL's default is 25.",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"offset": {
"description": "Start at this entry (0-based). Use the previous page's next_item. Default 0.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢lgl_list_type_values(type, gift_type_id, limit, offset)
The account's configured lookup values for one type — the ids and names other tools accept. gift_types, payment_types and gift_categories come from their own endpoints (GET /api/v1/gift_types, /payment_types, /gift_categories — the last optionally filtered by gift_type_id); every other type from GET /api/v1/types/{type} (contact_report_types, note_types, appeal_types, event_types, email/phone/street/web address types, mailing_types, volunteering_categories, list_types).
Eingabe-Schema
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"contact_report_types",
"email_address_types",
"mailing_types",
"street_address_types",
"phone_number_types",
"web_address_types",
"volunteering_categories",
"appeal_types",
"event_types",
"note_types",
"list_types",
"gift_types",
"payment_types",
"gift_categories"
],
"description": "Which lookup to list."
},
"gift_type_id": {
"description": "Only for type=gift_categories: restrict to one gift type.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"limit": {
"description": "Number of entries to return, 1-100. LGL's default is 25.",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"offset": {
"description": "Start at this entry (0-based). Use the previous page's next_item. Default 0.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"type"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴lgl_create_constituent(first_name, last_name, external_constituent_id, is_org, constituent_contact_type_name, ...)
WRITE: add a new constituent (person or organization) to the account, optionally with email addresses, phone numbers, street addresses and group memberships. LGL's schema marks first_name, last_name and email_addresses as required. Search first (lgl_search_constituents) to avoid creating a duplicate. LGL: POST /api/v1/constituents.
Eingabe-Schema
{
"type": "object",
"properties": {
"first_name": {
"type": "string",
"minLength": 1,
"description": "First name."
},
"last_name": {
"type": "string",
"minLength": 1,
"description": "Last name."
},
"external_constituent_id": {
"description": "External constituent ID (your own system's id).",
"type": "string"
},
"is_org": {
"description": "True if this constituent is an organization or company.",
"type": "boolean"
},
"constituent_contact_type_name": {
"description": "Constituent contact type name, e.g. 'Primary'.",
"type": "string"
},
"prefix": {
"description": "Prefix, e.g. 'Dr.'.",
"type": "string"
},
"middle_name": {
"type": "string"
},
"suffix": {
"type": "string"
},
"spouse_name": {
"description": "Spouse/partner name.",
"type": "string"
},
"org_name": {
"description": "Organization name.",
"type": "string"
},
"job_title": {
"type": "string"
},
"addressee": {
"description": "Addressee/label name.",
"type": "string"
},
"salutation": {
"type": "string"
},
"annual_report_name": {
"type": "string"
},
"birthday": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Birthday (YYYY-MM-DD)."
},
"gender": {
"type": "string"
},
"maiden_name": {
"type": "string"
},
"nick_name": {
"type": "string"
},
"is_deceased": {
"type": "boolean"
},
"deceased_date": {
"description": "Deceased date.",
"type": "string"
},
"is_anon": {
"description": "Gives anonymously?",
"type": "boolean"
},
"email_addresses": {
"description": "Email addresses to add.",
"type": "array",
"items": {
"type": "object",
"properties": {
"address": {
"type": "string",
"description": "Email address."
},
"email_type_name": {
"description": "Email type name, e.g. Home, Work, Other.",
"type": "string"
},
"is_preferred": {
"type": "boolean"
}
},
"required": [
"address"
]
}
},
"phone_numbers": {
"description": "Phone numbers to add.",
"type": "array",
"items": {
"type": "object",
"properties": {
"number": {
"type": "string",
"description": "Phone number."
},
"phone_type_name": {
"description": "Phone type name, e.g. Home, Mobile, Work.",
"type": "string"
},
"is_preferred": {
"type": "boolean"
}
},
"required": [
"number"
]
}
},
"street_addresses": {
"description": "Street addresses to add.",
"type": "array",
"items": {
"type": "object",
"properties": {
"street": {
"type": "string"
},
"street_type_name": {
"description": "Address type name, e.g. Home, Work.",
"type": "string"
},
"city": {
"type": "string"
},
"state": {
"description": "State/province.",
"type": "string"
},
"postal_code": {
"type": "string"
},
"county": {
"type": "string"
},
"country": {
"type": "string"
},
"is_preferred": {
"type": "boolean"
}
}
}
},
"groups": {
"description": "Group memberships to add.",
"type": "array",
"items": {
"type": "object",
"properties": {
"group_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Group id (see lgl_list_groups)."
},
"date_start": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Start date (YYYY-MM-DD)."
},
"date_end": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "End date (YYYY-MM-DD)."
},
"is_current": {
"type": "boolean"
}
},
"required": [
"group_id"
]
}
}
},
"required": [
"first_name",
"last_name"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴lgl_update_constituent(id, first_name, last_name, external_constituent_id, is_org, ...)
WRITE: change scalar fields on an existing constituent (name, salutation, job title, org name, deceased flag, etc.). Only the fields you pass are sent. LGL's update schema marks first_name and last_name as required, so pass the current values (from lgl_get_constituent) if you are not changing them. Addresses, emails and phones are not edited here. LGL: PATCH /api/v1/constituents/{id}.
Eingabe-Schema
{
"type": "object",
"properties": {
"id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Constituent id (integer)."
},
"first_name": {
"type": "string",
"minLength": 1,
"description": "First name (required by LGL even when unchanged)."
},
"last_name": {
"type": "string",
"minLength": 1,
"description": "Last name (required by LGL even when unchanged)."
},
"external_constituent_id": {
"description": "External constituent ID (your own system's id).",
"type": "string"
},
"is_org": {
"description": "True if this constituent is an organization or company.",
"type": "boolean"
},
"constituent_contact_type_name": {
"description": "Constituent contact type name, e.g. 'Primary'.",
"type": "string"
},
"prefix": {
"description": "Prefix, e.g. 'Dr.'.",
"type": "string"
},
"middle_name": {
"type": "string"
},
"suffix": {
"type": "string"
},
"spouse_name": {
"description": "Spouse/partner name.",
"type": "string"
},
"org_name": {
"description": "Organization name.",
"type": "string"
},
"job_title": {
"type": "string"
},
"addressee": {
"description": "Addressee/label name.",
"type": "string"
},
"salutation": {
"type": "string"
},
"annual_report_name": {
"type": "string"
},
"birthday": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Birthday (YYYY-MM-DD)."
},
"gender": {
"type": "string"
},
"maiden_name": {
"type": "string"
},
"nick_name": {
"type": "string"
},
"is_deceased": {
"type": "boolean"
},
"deceased_date": {
"description": "Deceased date.",
"type": "string"
},
"is_anon": {
"description": "Gives anonymously?",
"type": "boolean"
}
},
"required": [
"id",
"first_name",
"last_name"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴lgl_create_gift(constituent_id, gift_type_id, gift_type_name, received_amount, received_date, ...)
WRITE: record a gift (donation, pledge payment, in-kind, etc.) on a constituent's record. This writes a CRM record of a gift that already happened — it does NOT charge a card or move money. Give gift_type_id or gift_type_name (required; see lgl_list_type_values type=gift_types). Fund, campaign, appeal, event, gift category and payment type may each be given by id or by exact name. Set ack_template_name to 'do_not_ack' to skip acknowledgment. LGL: POST /api/v1/constituents/{constituent_id}/gifts.
Eingabe-Schema
{
"type": "object",
"properties": {
"constituent_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Constituent id (integer)."
},
"gift_type_id": {
"description": "Gift type id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"gift_type_name": {
"description": "Gift type name, e.g. 'Gift'.",
"type": "string"
},
"received_amount": {
"description": "Gift amount.",
"type": "number",
"minimum": 0
},
"received_date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Gift date (YYYY-MM-DD)."
},
"deductible_amount": {
"description": "Tax-deductible amount.",
"type": "number",
"minimum": 0
},
"gift_category_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"gift_category_name": {
"description": "Gift category name, e.g. 'Donation'.",
"type": "string"
},
"fund_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"fund_name": {
"type": "string"
},
"campaign_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"campaign_name": {
"type": "string"
},
"appeal_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"appeal_name": {
"type": "string"
},
"event_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"event_name": {
"type": "string"
},
"payment_type_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"payment_type_name": {
"description": "Payment type name, e.g. 'Check', 'Credit Card'.",
"type": "string"
},
"check_number": {
"description": "Check/reference number.",
"type": "string"
},
"deposit_date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Deposit date (YYYY-MM-DD)."
},
"deposited_amount": {
"type": "number",
"minimum": 0
},
"note": {
"description": "Gift note.",
"type": "string"
},
"ack_template_name": {
"description": "Acknowledgment mailing template name, or 'do_not_ack'.",
"type": "string"
},
"external_id": {
"description": "External gift id (your own system's id).",
"type": "string"
},
"is_anon": {
"description": "Gift is anonymous.",
"type": "boolean"
},
"team_member": {
"description": "Team member credited: id, email, or 'first_name last_name' (see lgl_list_team_members).",
"type": "string"
}
},
"required": [
"constituent_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴lgl_create_note(constituent_id, text, original_date, note_type_id, note_type_name, ...)
WRITE: add a note to a constituent's record. text and original_date are required; the note type may be given by id or name (e.g. 'General'; see lgl_list_type_values type=note_types). LGL: POST /api/v1/constituents/{constituent_id}/notes.
Eingabe-Schema
{
"type": "object",
"properties": {
"constituent_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Constituent id (integer)."
},
"text": {
"type": "string",
"minLength": 1,
"description": "Note text."
},
"original_date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Date the note refers to (YYYY-MM-DD)."
},
"note_type_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"note_type_name": {
"description": "Note type name, e.g. 'General'.",
"type": "string"
},
"external_id": {
"type": "string"
}
},
"required": [
"constituent_id",
"text",
"original_date"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴lgl_create_contact_report(constituent_id, text, name, contact_report_type_id, contact_report_type_name, ...)
WRITE: log a contact report (a call, email or meeting with a constituent). text is required; the type may be given by id or name (e.g. 'Call'; see lgl_list_type_values type=contact_report_types). LGL: POST /api/v1/constituents/{constituent_id}/contact_reports.
Eingabe-Schema
{
"type": "object",
"properties": {
"constituent_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Constituent id (integer)."
},
"text": {
"type": "string",
"minLength": 1,
"description": "What happened."
},
"name": {
"description": "Short title for the report.",
"type": "string"
},
"contact_report_type_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"contact_report_type_name": {
"description": "Type name, e.g. 'Call', 'Email', 'Meeting'.",
"type": "string"
},
"original_date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Date of the contact (YYYY-MM-DD)."
},
"team_member": {
"description": "Team member who made contact: id, email, or 'first_name last_name'.",
"type": "string"
}
},
"required": [
"constituent_id",
"text"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Community
Nachweis