Server definition
- Hash
- sha256:520c1ff53d1bc154e3dfff630063751d0d41dcb40582e3b51eea686dceab2e5c
- What it is
- What a remote MCP server returned when asked what it offers: 23 tools
The blob, as servednamed by its sha256
{
"instructions": null,
"tools": [
{
"description": "Put a person into a people-flow step (e.g. start a new guest's follow-up), optionally assigning a step admin. Elvanto: peopleFlows/steps/addPerson.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"assign_to": {
"description": "Person id of the step admin to assign them to.",
"type": "string"
},
"person_id": {
"description": "The person's id.",
"minLength": 1,
"type": "string"
},
"step_id": {
"description": "The people flow step's id.",
"minLength": 1,
"type": "string"
}
},
"required": [
"step_id",
"person_id"
],
"type": "object"
},
"name": "elvanto_add_person_to_flow_step",
"outputSchema": null
},
{
"description": "Add a person to a group, optionally as Leader or Assistant Leader. Undoable by removing them from the group in Elvanto. Elvanto: groups/addPerson.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"group_id": {
"description": "The group's id.",
"minLength": 1,
"type": "string"
},
"person_id": {
"description": "The person's id.",
"minLength": 1,
"type": "string"
},
"position": {
"description": "Position in the group. Omit for a regular member.",
"enum": [
"Leader",
"Assistant Leader"
],
"type": "string"
}
},
"required": [
"group_id",
"person_id"
],
"type": "object"
},
"name": "elvanto_add_person_to_group",
"outputSchema": null
},
{
"description": "Create an event on a calendar, optionally repeating. Times are 24-hour GMT. Use status \"draft\" to stage it unpublished. Elvanto: calendar/events/create.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"all_day": {
"description": "All-day event? Default no.",
"enum": [
"yes",
"no"
],
"type": "string"
},
"calendar_id": {
"description": "Calendar id (see elvanto_list_calendars).",
"minLength": 1,
"type": "string"
},
"color": {
"description": "Hex color, e.g. #FF0000.",
"pattern": "^#[0-9A-Fa-f]{6}$",
"type": "string"
},
"description": {
"description": "Description (basic HTML allowed).",
"type": "string"
},
"end": {
"description": "End, yyyy-mm-dd hh:mm:ss (24h, GMT).",
"pattern": "^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}$",
"type": "string"
},
"locations": {
"anyOf": [
{
"minLength": 1,
"type": "string"
},
{
"items": {
"minLength": 1,
"type": "string"
},
"minItems": 1,
"type": "array"
}
],
"description": "Location(s) to add to the event."
},
"name": {
"description": "Event name.",
"minLength": 1,
"type": "string"
},
"organizer": {
"description": "Person id of the organizer.",
"minLength": 1,
"type": "string"
},
"register_url": {
"description": "Registration website URL.",
"format": "uri",
"type": "string"
},
"repeat": {
"description": "Make it a repeating event.",
"enum": [
"daily",
"weekdays",
"mon_wed_fri",
"tue_thu",
"weekly",
"fortnightly",
"monthly",
"yearly"
],
"type": "string"
},
"repeat_end_date": {
"description": "Stop repeating at, yyyy-mm-dd hh:mm:ss (GMT).",
"pattern": "^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}$",
"type": "string"
},
"repeat_frequency": {
"description": "How often to repeat. Required for daily, monthly, yearly.",
"maximum": 9007199254740991,
"minimum": 1,
"type": "integer"
},
"repeat_occurrences": {
"description": "Number of repeats.",
"maximum": 9007199254740991,
"minimum": 1,
"type": "integer"
},
"repeat_on": {
"description": "Weekly/fortnightly: monday..sunday. Monthly: weekday or monthday.",
"type": "string"
},
"show_guest_list": {
"description": "Show the guest list on the event page? Default no.",
"enum": [
"yes",
"no"
],
"type": "string"
},
"start": {
"description": "Start, yyyy-mm-dd hh:mm:ss (24h, GMT).",
"pattern": "^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}$",
"type": "string"
},
"status": {
"description": "Visibility. Default public.",
"enum": [
"public",
"private",
"draft"
],
"type": "string"
},
"where": {
"description": "Where the event is held.",
"type": "string"
},
"who_can_attend": {
"description": "\"all\" to let anyone attend; omit for invite-only.",
"type": "string"
}
},
"required": [
"name",
"calendar_id",
"start",
"end",
"organizer"
],
"type": "object"
},
"name": "elvanto_create_calendar_event",
"outputSchema": null
},
{
"description": "Add a new person to the church database (e.g. a first-time guest). Returns the new person id and family id. Does not create a login. Elvanto: people/create.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"archived": {
"description": "Mark the person archived (yes) or not (no).",
"enum": [
"yes",
"no"
],
"type": "string"
},
"category_id": {
"description": "People category id (see elvanto_list_people_categories).",
"type": "string"
},
"contact": {
"description": "Mark the person a contact (yes) or not (no).",
"enum": [
"yes",
"no"
],
"type": "string"
},
"email": {
"description": "Email address.",
"type": "string"
},
"family_id": {
"anyOf": [
{
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
{
"const": "new",
"type": "string"
}
],
"description": "Family id to join an existing family, or \"new\" to start a new family."
},
"family_relationship": {
"description": "Relationship within the family.",
"enum": [
"Primary Contact",
"Spouse",
"Partner",
"Child",
"Sibling",
"Grandfather",
"Grandmother",
"Other"
],
"type": "string"
},
"fields": {
"additionalProperties": {
"anyOf": [
{
"type": "string"
},
{
"items": {
"type": "string"
},
"type": "array"
}
]
},
"description": "Extra fields to set, e.g. {\"gender\":\"Male\",\"birthday\":\"1989-04-23\",\"marital_status\":\"Married\",\"departments\":[\"Music\"],\"custom_<field id>\":\"value\"}. Use *_replace / *_remove variants (e.g. departments_replace) to replace or remove list values. access_permissions* are refused: this server never changes what a person may administer.",
"propertyNames": {
"type": "string"
},
"type": "object"
},
"firstname": {
"description": "First name.",
"minLength": 1,
"type": "string"
},
"lastname": {
"description": "Last name.",
"minLength": 1,
"type": "string"
},
"mobile": {
"description": "Mobile number (non-digits are stripped by Elvanto).",
"type": "string"
},
"phone": {
"description": "Phone number (non-digits are stripped by Elvanto).",
"type": "string"
},
"preferred_name": {
"description": "Preferred name (nickname).",
"type": "string"
},
"volunteer": {
"description": "Mark the person a volunteer (yes) or not (no).",
"enum": [
"yes",
"no"
],
"type": "string"
}
},
"required": [
"firstname",
"lastname"
],
"type": "object"
},
"name": "elvanto_create_person",
"outputSchema": null
},
{
"description": "Fetch one group by id, optionally with its members (fields=[\"people\"]). Elvanto: groups/getInfo.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"fields": {
"description": "Optional extra group fields: people (members and their position), categories, departments, demographics, locations.",
"items": {
"enum": [
"people",
"categories",
"departments",
"demographics",
"locations"
],
"type": "string"
},
"type": "array"
},
"id": {
"description": "The group's id.",
"minLength": 1,
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "elvanto_get_group",
"outputSchema": null
},
{
"description": "Fetch one person by id, optionally with extra fields (birthday, addresses, departments, locations, family, custom fields...). Elvanto: people/getInfo.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"fields": {
"description": "Optional extra person fields to return, e.g. gender, birthday, anniversary, school_grade, marital_status, development_child, special_needs_child, security_code, receipt_name, giving_number, mailing_address, mailing_city, mailing_state, mailing_postcode, mailing_country, home_address, home_city, home_state, home_postcode, home_country, access_permissions, departments, service_types, demographics, locations, family, or a custom field as custom_<field id> (see elvanto_list_custom_fields).",
"items": {
"minLength": 1,
"type": "string"
},
"type": "array"
},
"id": {
"description": "The person's id.",
"minLength": 1,
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "elvanto_get_person",
"outputSchema": null
},
{
"description": "Fetch one service by id with optional detail: service/rehearsal times, plan (order of service), volunteers roster, songs, files, notes. Elvanto: services/getInfo.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"fields": {
"description": "Optional extra service fields: series_name, service_times, rehearsal_times, other_times, plans (the order of service), volunteers (the roster: who is serving in which position, and whether confirmed), songs, files, notes, picture.",
"items": {
"enum": [
"series_name",
"service_times",
"rehearsal_times",
"other_times",
"plans",
"volunteers",
"songs",
"files",
"notes",
"picture"
],
"type": "string"
},
"type": "array"
},
"id": {
"description": "The service's id.",
"minLength": 1,
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "elvanto_get_service",
"outputSchema": null
},
{
"description": "List calendar events between two dates, optionally for specific calendars (use \"services\" as a calendar to include services). Elvanto: calendar/events/getAll.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"calendar": {
"anyOf": [
{
"minLength": 1,
"type": "string"
},
{
"items": {
"minLength": 1,
"type": "string"
},
"minItems": 1,
"type": "array"
}
],
"description": "Calendar id(s) to read from; \"services\" for services."
},
"end": {
"description": "End date (yyyy-mm-dd).",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"fields": {
"description": "Optional extra event fields, e.g. [\"locations\"].",
"items": {
"minLength": 1,
"type": "string"
},
"type": "array"
},
"page": {
"description": "Results page to retrieve (1-based). Default 1.",
"maximum": 9007199254740991,
"minimum": 1,
"type": "integer"
},
"page_size": {
"description": "Records per page, 1-1000. Default 100 here (Elvanto's own default is 1000).",
"maximum": 1000,
"minimum": 1,
"type": "integer"
},
"start": {
"description": "Start date (yyyy-mm-dd).",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
}
},
"required": [
"start",
"end"
],
"type": "object"
},
"name": "elvanto_list_calendar_events",
"outputSchema": null
},
{
"description": "List the church's calendars with their ids. Elvanto: calendar/getAll.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {},
"type": "object"
},
"name": "elvanto_list_calendars",
"outputSchema": null
},
{
"description": "List the church's custom person fields (id, name, type and allowed values). Use the id as custom_<id> in fields / search. Elvanto: people/customFields/getAll.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {},
"type": "object"
},
"name": "elvanto_list_custom_fields",
"outputSchema": null
},
{
"description": "List giving / chart-of-accounts categories (funds) with ids; status 1 = active, 0 = archived. Elvanto: financial/categories/getAll.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"page": {
"description": "Results page to retrieve (1-based). Default 1.",
"maximum": 9007199254740991,
"minimum": 1,
"type": "integer"
},
"page_size": {
"description": "Records per page, 1-1000. Default 100 here (Elvanto's own default is 1000).",
"maximum": 1000,
"minimum": 1,
"type": "integer"
}
},
"type": "object"
},
"name": "elvanto_list_financial_categories",
"outputSchema": null
},
{
"description": "List small groups / ministries with meeting day, time, place and frequency; add fields=[\"people\"] to include members and leaders. Elvanto: groups/getAll.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"category_id": {
"anyOf": [
{
"minLength": 1,
"type": "string"
},
{
"items": {
"minLength": 1,
"type": "string"
},
"minItems": 1,
"type": "array"
}
],
"description": "Only groups in this group category id (or any of these ids)."
},
"fields": {
"description": "Optional extra group fields: people (members and their position), categories, departments, demographics, locations.",
"items": {
"enum": [
"people",
"categories",
"departments",
"demographics",
"locations"
],
"type": "string"
},
"type": "array"
},
"page": {
"description": "Results page to retrieve (1-based). Default 1.",
"maximum": 9007199254740991,
"minimum": 1,
"type": "integer"
},
"page_size": {
"description": "Records per page, 1-1000. Default 100 here (Elvanto's own default is 1000).",
"maximum": 1000,
"minimum": 1,
"type": "integer"
},
"suspended": {
"description": "yes = only suspended groups, no = exclude them. Default all.",
"enum": [
"yes",
"no"
],
"type": "string"
}
},
"type": "object"
},
"name": "elvanto_list_groups",
"outputSchema": null
},
{
"description": "List people in the church database, optionally filtered by category and by suspended / contact / archived status. Paginated (the response carries page, per_page, total). Elvanto: people/getAll.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"archived": {
"description": "yes = only archived people, no = exclude them. Default all.",
"enum": [
"yes",
"no"
],
"type": "string"
},
"category_id": {
"anyOf": [
{
"minLength": 1,
"type": "string"
},
{
"items": {
"minLength": 1,
"type": "string"
},
"minItems": 1,
"type": "array"
}
],
"description": "Only people in this people category id (or any of these ids)."
},
"contact": {
"description": "yes = only contacts, no = exclude contacts. Default all.",
"enum": [
"yes",
"no"
],
"type": "string"
},
"fields": {
"description": "Optional extra person fields to return, e.g. gender, birthday, anniversary, school_grade, marital_status, development_child, special_needs_child, security_code, receipt_name, giving_number, mailing_address, mailing_city, mailing_state, mailing_postcode, mailing_country, home_address, home_city, home_state, home_postcode, home_country, access_permissions, departments, service_types, demographics, locations, family, or a custom field as custom_<field id> (see elvanto_list_custom_fields).",
"items": {
"minLength": 1,
"type": "string"
},
"type": "array"
},
"page": {
"description": "Results page to retrieve (1-based). Default 1.",
"maximum": 9007199254740991,
"minimum": 1,
"type": "integer"
},
"page_size": {
"description": "Records per page, 1-1000. Default 100 here (Elvanto's own default is 1000).",
"maximum": 1000,
"minimum": 1,
"type": "integer"
},
"suspended": {
"description": "yes = only suspended people, no = exclude them. Default all.",
"enum": [
"yes",
"no"
],
"type": "string"
}
},
"type": "object"
},
"name": "elvanto_list_people",
"outputSchema": null
},
{
"description": "List the people categories (e.g. New People, Church Members, Inactive) with their ids. Elvanto: people/categories/getAll.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {},
"type": "object"
},
"name": "elvanto_list_people_categories",
"outputSchema": null
},
{
"description": "List the people currently in one people-flow step, with status, due date and assigned admin — e.g. who still needs a follow-up call. Not paginated. Elvanto: peopleFlows/steps/people.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"assigned": {
"description": "Only people assigned to this admin (person id), or \"unassigned\".",
"type": "string"
},
"status": {
"description": "Only people with this status in the step.",
"enum": [
"complete",
"notstarted",
"pending",
"inprogress"
],
"type": "string"
},
"step_id": {
"description": "The people flow step's id.",
"minLength": 1,
"type": "string"
}
},
"required": [
"step_id"
],
"type": "object"
},
"name": "elvanto_list_people_flow_step_people",
"outputSchema": null
},
{
"description": "List the steps of one people flow with descriptions, instructions, due rules and admins. Elvanto: peopleFlows/steps/getAll.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"flow_id": {
"description": "The people flow's id.",
"minLength": 1,
"type": "string"
}
},
"required": [
"flow_id"
],
"type": "object"
},
"name": "elvanto_list_people_flow_steps",
"outputSchema": null
},
{
"description": "List people flows — the church's follow-up pipelines (e.g. First Time Guest Follow Up) — with their steps and admins. Elvanto: peopleFlows/getAll.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {},
"type": "object"
},
"name": "elvanto_list_people_flows",
"outputSchema": null
},
{
"description": "List services (upcoming by default). Add fields such as volunteers (the roster), plans (order of service) and songs to answer 'who is serving Sunday?' or 'what are we singing?'. Elvanto: services/getAll.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"all": {
"description": "yes = include past services too. Ignored when start/end are given.",
"enum": [
"yes",
"no"
],
"type": "string"
},
"end": {
"description": "Only services on/before this date (yyyy-mm-dd).",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"fields": {
"description": "Optional extra service fields: series_name, service_times, rehearsal_times, other_times, plans (the order of service), volunteers (the roster: who is serving in which position, and whether confirmed), songs, files, notes, picture.",
"items": {
"enum": [
"series_name",
"service_times",
"rehearsal_times",
"other_times",
"plans",
"volunteers",
"songs",
"files",
"notes",
"picture"
],
"type": "string"
},
"type": "array"
},
"page": {
"description": "Results page to retrieve (1-based). Default 1.",
"maximum": 9007199254740991,
"minimum": 1,
"type": "integer"
},
"page_size": {
"description": "Records per page, 1-1000. Default 100 here (Elvanto's own default is 1000).",
"maximum": 1000,
"minimum": 1,
"type": "integer"
},
"service_types": {
"anyOf": [
{
"minLength": 1,
"type": "string"
},
{
"items": {
"minLength": 1,
"type": "string"
},
"minItems": 1,
"type": "array"
}
],
"description": "Only these service type id(s)."
},
"start": {
"description": "Only services on/after this date (yyyy-mm-dd).",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"status": {
"description": "Only published or only draft services. Default both.",
"enum": [
"published",
"draft"
],
"type": "string"
}
},
"type": "object"
},
"name": "elvanto_list_services",
"outputSchema": null
},
{
"description": "List the arrangements of one song — sequence, BPM, keys, lyrics and chord chart (optionally transposed). Elvanto: songs/arrangements/getAll.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"chord_chart_key": {
"description": "Transpose the chord chart into this key, e.g. F#.",
"type": "string"
},
"files": {
"description": "Also return attached files.",
"type": "boolean"
},
"page": {
"description": "Results page to retrieve (1-based). Default 1.",
"maximum": 9007199254740991,
"minimum": 1,
"type": "integer"
},
"page_size": {
"description": "Records per page, 1-1000. Default 100 here (Elvanto's own default is 1000).",
"maximum": 1000,
"minimum": 1,
"type": "integer"
},
"song_id": {
"description": "The song's id (from elvanto_list_songs).",
"minLength": 1,
"type": "string"
}
},
"required": [
"song_id"
],
"type": "object"
},
"name": "elvanto_list_song_arrangements",
"outputSchema": null
},
{
"description": "List or search the song library by title, artist or lyrics (with CCLI number, categories and locations). Elvanto: songs/getAll.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"artist": {
"description": "Only songs by this artist.",
"type": "string"
},
"files": {
"description": "Also return attached files.",
"type": "boolean"
},
"lyrics": {
"description": "Only songs whose lyrics contain this text.",
"type": "string"
},
"page": {
"description": "Results page to retrieve (1-based). Default 1.",
"maximum": 9007199254740991,
"minimum": 1,
"type": "integer"
},
"page_size": {
"description": "Records per page, 1-1000. Default 100 here (Elvanto's own default is 1000).",
"maximum": 1000,
"minimum": 1,
"type": "integer"
},
"title": {
"description": "Only songs whose title matches.",
"type": "string"
}
},
"type": "object"
},
"name": "elvanto_list_songs",
"outputSchema": null
},
{
"description": "List giving transactions between two dates, optionally for one fund — donor, date, method, batch and per-fund amounts. Read-only: this server never writes financial records. Elvanto: financial/transactions/getAll.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"category_id": {
"description": "Only this financial category (fund) id.",
"type": "string"
},
"end": {
"description": "End date (yyyy-mm-dd).",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"page": {
"description": "Results page to retrieve (1-based). Default 1.",
"maximum": 9007199254740991,
"minimum": 1,
"type": "integer"
},
"page_size": {
"description": "Records per page, 1-1000. Default 100 here (Elvanto's own default is 1000).",
"maximum": 1000,
"minimum": 1,
"type": "integer"
},
"start": {
"description": "Start date (yyyy-mm-dd).",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
}
},
"required": [
"start",
"end"
],
"type": "object"
},
"name": "elvanto_list_transactions",
"outputSchema": null
},
{
"description": "Find people matching field values, e.g. {\"email\":\"[email protected]\"} or {\"lastname\":\"Smith\",\"volunteer\":\"yes\"}. Searchable keys: firstname, preferred_name, lastname, email, phone, mobile, category_id, archived, contact, deceased, volunteer, gender, birthday, anniversary, marital_status, school_grade, security_code, receipt_name, giving_number, groups, date_added / date_modified / last_login (UTC, yyyy-mm-dd or yyyy-mm-dd hh:mm:ss; matched as on-or-after), and custom_<field id>. Use only one of archived / contact / deceased at a time. Elvanto: people/search.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"fields": {
"description": "Optional extra person fields to return, e.g. gender, birthday, anniversary, school_grade, marital_status, development_child, special_needs_child, security_code, receipt_name, giving_number, mailing_address, mailing_city, mailing_state, mailing_postcode, mailing_country, home_address, home_city, home_state, home_postcode, home_country, access_permissions, departments, service_types, demographics, locations, family, or a custom field as custom_<field id> (see elvanto_list_custom_fields).",
"items": {
"minLength": 1,
"type": "string"
},
"type": "array"
},
"page": {
"description": "Results page to retrieve (1-based). Default 1.",
"maximum": 9007199254740991,
"minimum": 1,
"type": "integer"
},
"page_size": {
"description": "Records per page, 1-1000. Default 100 here (Elvanto's own default is 1000).",
"maximum": 1000,
"minimum": 1,
"type": "integer"
},
"search": {
"additionalProperties": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"items": {
"type": "string"
},
"type": "array"
}
]
},
"description": "Field → value pairs to match.",
"propertyNames": {
"type": "string"
},
"type": "object"
}
},
"required": [
"search"
],
"type": "object"
},
"name": "elvanto_search_people",
"outputSchema": null
},
{
"description": "Edit an existing person's details — name, contact info, category, flags, family, or extra fields. Only the fields you pass change. Cannot touch username, password or login status. Elvanto: people/edit.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"archived": {
"description": "Mark the person archived (yes) or not (no).",
"enum": [
"yes",
"no"
],
"type": "string"
},
"category_id": {
"description": "People category id (see elvanto_list_people_categories).",
"type": "string"
},
"contact": {
"description": "Mark the person a contact (yes) or not (no).",
"enum": [
"yes",
"no"
],
"type": "string"
},
"email": {
"description": "Email address.",
"type": "string"
},
"family_id": {
"anyOf": [
{
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
{
"const": "new",
"type": "string"
}
],
"description": "Family id to join an existing family, or \"new\" to start a new family."
},
"family_relationship": {
"description": "Relationship within the family.",
"enum": [
"Primary Contact",
"Spouse",
"Partner",
"Child",
"Sibling",
"Grandfather",
"Grandmother",
"Other"
],
"type": "string"
},
"fields": {
"additionalProperties": {
"anyOf": [
{
"type": "string"
},
{
"items": {
"type": "string"
},
"type": "array"
}
]
},
"description": "Extra fields to set, e.g. {\"gender\":\"Male\",\"birthday\":\"1989-04-23\",\"marital_status\":\"Married\",\"departments\":[\"Music\"],\"custom_<field id>\":\"value\"}. Use *_replace / *_remove variants (e.g. departments_replace) to replace or remove list values. access_permissions* are refused: this server never changes what a person may administer.",
"propertyNames": {
"type": "string"
},
"type": "object"
},
"firstname": {
"description": "First name.",
"minLength": 1,
"type": "string"
},
"id": {
"description": "The person's id.",
"minLength": 1,
"type": "string"
},
"lastname": {
"description": "Last name.",
"minLength": 1,
"type": "string"
},
"mobile": {
"description": "Mobile number (non-digits are stripped by Elvanto).",
"type": "string"
},
"phone": {
"description": "Phone number (non-digits are stripped by Elvanto).",
"type": "string"
},
"preferred_name": {
"description": "Preferred name (nickname).",
"type": "string"
},
"volunteer": {
"description": "Mark the person a volunteer (yes) or not (no).",
"enum": [
"yes",
"no"
],
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "elvanto_update_person",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:520c1ff53d1bc154e3dfff630063751d0d41dcb40582e3b51eea686dceab2e5c | sha256sum