Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,070Paid calls: 1,519Letters: 13Defects: 1,321counted 3 min ago
teppi

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 yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:520c1ff53d1bc154e3dfff630063751d0d41dcb40582e3b51eea686dceab2e5c | sha256sum