Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,536Letters: 14Defects: 1,322counted 2 min ago
teppi

Server definition

Hash
sha256:07f8a56ae0d0bff502e4a849d3f76461becd050b754c28612becd40bd27f728c
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": "Create a discount code for an event. type is PercentOffDiscountCode (value = percent) or MoneyOffDiscountCode (value = flat amount off per ticket, in the event currency). Undo by editing it (e.g. quantity or end_at) with tito_update_discount_code. Tito: POST /:account/:event/discount_codes.", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { "account_slug": { "description": "The account slug (the first part of https://ti.to/<account>/<event>). Optional if TITO_ACCOUNT is set; tito_whoami lists the accounts this token can reach.", "type": "string" }, "code": { "description": "The code attendees enter, e.g. SAVE10.", "minLength": 1, "type": "string" }, "end_at": { "description": "When the code stops working (ISO 8601 datetime).", "type": "string" }, "event_slug": { "description": "The event slug (the second part of https://ti.to/<account>/<event>), e.g. 2026.", "type": "string" }, "max_quantity_per_release": { "description": "The discount applies to at most this many tickets per release.", "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "min_quantity_per_release": { "description": "The discount applies only if at least this many tickets are selected.", "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "only_show_attached": { "description": "When the code is applied, show only the releases attached to it. Default false.", "type": "boolean" }, "quantity": { "description": "How many tickets can use this code in total.", "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "release_ids": { "description": "Release ids the code applies to (empty = all).", "items": { "maximum": 9007199254740991, "minimum": -9007199254740991, "type": "integer" }, "type": "array" }, "reveal_secret": { "description": "Reveal secret releases when the code is applied. Default false.", "type": "boolean" }, "start_at": { "description": "When the code starts working (ISO 8601 datetime).", "type": "string" }, "type": { "description": "PercentOffDiscountCode = percentage off; MoneyOffDiscountCode = flat amount off per ticket.", "enum": [ "PercentOffDiscountCode", "MoneyOffDiscountCode" ], "type": "string" }, "value": { "description": "The amount off per ticket as a decimal string, e.g. \"10.0\".", "type": "string" } }, "required": [ "event_slug", "code", "type", "value" ], "type": "object" }, "name": "tito_create_discount_code", "outputSchema": null }, { "description": "Issue a ticket for a release without a checkout — e.g. a speaker, sponsor or comp ticket. Tito creates a manual registration for it. This creates a real ticket that counts against the release's capacity (undo only by voiding it in the Tito dashboard). Tito: POST /:account/:event/tickets.", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { "account_slug": { "description": "The account slug (the first part of https://ti.to/<account>/<event>). Optional if TITO_ACCOUNT is set; tito_whoami lists the accounts this token can reach.", "type": "string" }, "company_name": { "description": "Attendee company.", "type": "string" }, "email": { "description": "Attendee email.", "type": "string" }, "event_slug": { "description": "The event slug (the second part of https://ti.to/<account>/<event>), e.g. 2026.", "type": "string" }, "first_name": { "description": "Attendee first name.", "type": "string" }, "last_name": { "description": "Attendee last name.", "type": "string" }, "metadata": { "additionalProperties": {}, "description": "Arbitrary metadata about the attendee.", "propertyNames": { "type": "string" }, "type": "object" }, "phone_number": { "description": "Attendee phone number.", "type": "string" }, "price": { "description": "Price recorded for the ticket as a decimal string, e.g. \"0.0\".", "type": "string" }, "release_id": { "description": "The release to issue from — its slug (e.g. speaker) or numeric id.", "type": "string" }, "tags": { "description": "Comma-separated tags, e.g. speaker,vip.", "type": "string" } }, "required": [ "event_slug", "release_id" ], "type": "object" }, "name": "tito_create_ticket", "outputSchema": null }, { "description": "Fetch a single discount code by its numeric id, including how many times it has been used. Tito: GET /:account/:event/discount_codes/:discount_code_id.", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { "account_slug": { "description": "The account slug (the first part of https://ti.to/<account>/<event>). Optional if TITO_ACCOUNT is set; tito_whoami lists the accounts this token can reach.", "type": "string" }, "discount_code_id": { "description": "The discount code's numeric id.", "exclusiveMinimum": 0, "maximum": 9007199254740991, "type": "integer" }, "event_slug": { "description": "The event slug (the second part of https://ti.to/<account>/<event>), e.g. 2026.", "type": "string" } }, "required": [ "event_slug", "discount_code_id" ], "type": "object" }, "name": "tito_get_discount_code", "outputSchema": null }, { "description": "Fetch a single event by slug: title, description, dates and times, time zone, location, currency, live/test_mode, and its releases. Tito: GET /:account/:event.", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { "account_slug": { "description": "The account slug (the first part of https://ti.to/<account>/<event>). Optional if TITO_ACCOUNT is set; tito_whoami lists the accounts this token can reach.", "type": "string" }, "event_slug": { "description": "The event slug (the second part of https://ti.to/<account>/<event>), e.g. 2026.", "type": "string" } }, "required": [ "event_slug" ], "type": "object" }, "name": "tito_get_event", "outputSchema": null }, { "description": "Fetch a single registration (order) by slug (reg_...), with its tickets, receipts, refunds, line items, billing address and payment details. Tito: GET /:account/:event/registrations/:registration_slug.", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { "account_slug": { "description": "The account slug (the first part of https://ti.to/<account>/<event>). Optional if TITO_ACCOUNT is set; tito_whoami lists the accounts this token can reach.", "type": "string" }, "event_slug": { "description": "The event slug (the second part of https://ti.to/<account>/<event>), e.g. 2026.", "type": "string" }, "registration_slug": { "description": "The registration's slug, e.g. reg_ds7qNqJ4s4doDMeh1VogTrw.", "type": "string" } }, "required": [ "event_slug", "registration_slug" ], "type": "object" }, "name": "tito_get_registration", "outputSchema": null }, { "description": "Fetch a single release (ticket type) by slug, with pricing, capacity, sales counts (full-price, discounted, free, voided), questions and activities. Tito: GET /:account/:event/releases/:release_slug.", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { "account_slug": { "description": "The account slug (the first part of https://ti.to/<account>/<event>). Optional if TITO_ACCOUNT is set; tito_whoami lists the accounts this token can reach.", "type": "string" }, "event_slug": { "description": "The event slug (the second part of https://ti.to/<account>/<event>), e.g. 2026.", "type": "string" }, "release_slug": { "description": "The release's slug, e.g. early-bird.", "type": "string" } }, "required": [ "event_slug", "release_slug" ], "type": "object" }, "name": "tito_get_release", "outputSchema": null }, { "description": "Fetch a single ticket by slug (ti_...), with the attendee, registration, release, question answers, tags and amounts paid. Tito: GET /:account/:event/tickets/:ticket_slug.", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { "account_slug": { "description": "The account slug (the first part of https://ti.to/<account>/<event>). Optional if TITO_ACCOUNT is set; tito_whoami lists the accounts this token can reach.", "type": "string" }, "event_slug": { "description": "The event slug (the second part of https://ti.to/<account>/<event>), e.g. 2026.", "type": "string" }, "ticket_slug": { "description": "The ticket's slug, e.g. ti_dhlR2CSzh59ZLht5ELPkxjg.", "type": "string" } }, "required": [ "event_slug", "ticket_slug" ], "type": "object" }, "name": "tito_get_ticket", "outputSchema": null }, { "description": "List an event's activities — sessions, workshops or dinners beyond the ticket itself — with capacity, allocation_count, sold_out, date/times and attached releases. Tito: GET /:account/:event/activities.", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { "account_slug": { "description": "The account slug (the first part of https://ti.to/<account>/<event>). Optional if TITO_ACCOUNT is set; tito_whoami lists the accounts this token can reach.", "type": "string" }, "event_slug": { "description": "The event slug (the second part of https://ti.to/<account>/<event>), e.g. 2026.", "type": "string" }, "page": { "description": "Page number (page[number]), from 1.", "maximum": 9007199254740991, "minimum": 1, "type": "integer" }, "page_size": { "description": "Results per page (page[size]), 1-1000. Tito's default is 100.", "maximum": 1000, "minimum": 1, "type": "integer" } }, "required": [ "event_slug" ], "type": "object" }, "name": "tito_list_activities", "outputSchema": null }, { "description": "List every attendee's answer to one question, each with its ticket_id and the response text. Tito: GET /:account/:event/questions/:question_slug/answers.", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { "account_slug": { "description": "The account slug (the first part of https://ti.to/<account>/<event>). Optional if TITO_ACCOUNT is set; tito_whoami lists the accounts this token can reach.", "type": "string" }, "event_slug": { "description": "The event slug (the second part of https://ti.to/<account>/<event>), e.g. 2026.", "type": "string" }, "page": { "description": "Page number (page[number]), from 1.", "maximum": 9007199254740991, "minimum": 1, "type": "integer" }, "page_size": { "description": "Results per page (page[size]), 1-1000. Tito's default is 100.", "maximum": 1000, "minimum": 1, "type": "integer" }, "question_slug": { "description": "The question's slug, from tito_list_questions, e.g. dietary.", "type": "string" } }, "required": [ "event_slug", "question_slug" ], "type": "object" }, "name": "tito_list_answers", "outputSchema": null }, { "description": "List an event's check-in lists (the door lists used at the venue) with title, slug, the releases/activities they cover and which attendee fields they show. Tito: GET /:account/:event/checkin_lists.", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { "account_slug": { "description": "The account slug (the first part of https://ti.to/<account>/<event>). Optional if TITO_ACCOUNT is set; tito_whoami lists the accounts this token can reach.", "type": "string" }, "event_slug": { "description": "The event slug (the second part of https://ti.to/<account>/<event>), e.g. 2026.", "type": "string" }, "page": { "description": "Page number (page[number]), from 1.", "maximum": 9007199254740991, "minimum": 1, "type": "integer" }, "page_size": { "description": "Results per page (page[size]), 1-1000. Tito's default is 100.", "maximum": 1000, "minimum": 1, "type": "integer" } }, "required": [ "event_slug" ], "type": "object" }, "name": "tito_list_checkin_lists", "outputSchema": null }, { "description": "List an event's discount codes with code, type (PercentOffDiscountCode / MoneyOffDiscountCode), value, quantity and quantity_used, validity window and attached releases. Tito: GET /:account/:event/discount_codes.", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { "account_slug": { "description": "The account slug (the first part of https://ti.to/<account>/<event>). Optional if TITO_ACCOUNT is set; tito_whoami lists the accounts this token can reach.", "type": "string" }, "event_slug": { "description": "The event slug (the second part of https://ti.to/<account>/<event>), e.g. 2026.", "type": "string" }, "page": { "description": "Page number (page[number]), from 1.", "maximum": 9007199254740991, "minimum": 1, "type": "integer" }, "page_size": { "description": "Results per page (page[size]), 1-1000. Tito's default is 100.", "maximum": 1000, "minimum": 1, "type": "integer" } }, "required": [ "event_slug" ], "type": "object" }, "name": "tito_list_discount_codes", "outputSchema": null }, { "description": "List an account's events: upcoming (default), past or archived. Each has its slug, title, dates, location, currency, live/test_mode flags and public URL. Tito: GET /:account/events, /events/past, /events/archived.", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { "account_slug": { "description": "The account slug (the first part of https://ti.to/<account>/<event>). Optional if TITO_ACCOUNT is set; tito_whoami lists the accounts this token can reach.", "type": "string" }, "page": { "description": "Page number (page[number]), from 1.", "maximum": 9007199254740991, "minimum": 1, "type": "integer" }, "page_size": { "description": "Results per page (page[size]), 1-1000. Tito's default is 100.", "maximum": 1000, "minimum": 1, "type": "integer" }, "scope": { "description": "Which events: upcoming (default), past or archived.", "enum": [ "upcoming", "past", "archived" ], "type": "string" } }, "type": "object" }, "name": "tito_list_events", "outputSchema": null }, { "description": "List the custom questions an event asks attendees (e.g. dietary requirements, t-shirt size) with slug, field_type, required flag and answers_count. Use a question's slug with tito_list_answers. Tito: GET /:account/:event/questions.", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { "account_slug": { "description": "The account slug (the first part of https://ti.to/<account>/<event>). Optional if TITO_ACCOUNT is set; tito_whoami lists the accounts this token can reach.", "type": "string" }, "event_slug": { "description": "The event slug (the second part of https://ti.to/<account>/<event>), e.g. 2026.", "type": "string" }, "page": { "description": "Page number (page[number]), from 1.", "maximum": 9007199254740991, "minimum": 1, "type": "integer" }, "page_size": { "description": "Results per page (page[size]), 1-1000. Tito's default is 100.", "maximum": 1000, "minimum": 1, "type": "integer" } }, "required": [ "event_slug" ], "type": "object" }, "name": "tito_list_questions", "outputSchema": null }, { "description": "List the refunds recorded for an event, each with amount, created_at, whether it was manual, and the registration it belongs to. Read-only: this server never issues refunds. Tito: GET /:account/:event/refunds.", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { "account_slug": { "description": "The account slug (the first part of https://ti.to/<account>/<event>). Optional if TITO_ACCOUNT is set; tito_whoami lists the accounts this token can reach.", "type": "string" }, "event_slug": { "description": "The event slug (the second part of https://ti.to/<account>/<event>), e.g. 2026.", "type": "string" }, "page": { "description": "Page number (page[number]), from 1.", "maximum": 9007199254740991, "minimum": 1, "type": "integer" }, "page_size": { "description": "Results per page (page[size]), 1-1000. Tito's default is 100.", "maximum": 1000, "minimum": 1, "type": "integer" } }, "required": [ "event_slug" ], "type": "object" }, "name": "tito_list_refunds", "outputSchema": null }, { "description": "List an event's registrations — Tito's orders — newest first, with buyer name/email, reference, total, state, paid/refunded flags, discount code and ticket quantities. Filter by free text (email, name, slug, reference, company, discount code), state, and created/updated time. Cancelled ones are excluded unless states includes 'cancelled'. Tito: GET /:account/:event/registrations.", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { "account_slug": { "description": "The account slug (the first part of https://ti.to/<account>/<event>). Optional if TITO_ACCOUNT is set; tito_whoami lists the accounts this token can reach.", "type": "string" }, "created_after": { "description": "Only registrations created after this time (search[created_at][gt]), e.g. 2026-01-01T09:00:00+UTC. Without the +UTC suffix Tito uses the event's own time zone.", "type": "string" }, "created_before": { "description": "Only registrations created before this time (search[created_at][lt]), e.g. 2026-01-01T09:00:00+UTC. Without the +UTC suffix Tito uses the event's own time zone.", "type": "string" }, "direction": { "description": "Sort direction (search[direction]).", "enum": [ "asc", "desc" ], "type": "string" }, "event_slug": { "description": "The event slug (the second part of https://ti.to/<account>/<event>), e.g. 2026.", "type": "string" }, "page": { "description": "Page number (page[number]), from 1.", "maximum": 9007199254740991, "minimum": 1, "type": "integer" }, "page_size": { "description": "Results per page (page[size]), 1-1000. Tito's default is 100.", "maximum": 1000, "minimum": 1, "type": "integer" }, "q": { "description": "Free-text search: email, name, slug, reference, company name or discount code.", "type": "string" }, "sort": { "description": "Sort attribute (search[sort]). Default created_at, newest first.", "enum": [ "name", "created_at", "updated_at", "total", "reference", "payment_provider" ], "type": "string" }, "states": { "description": "Only these states (search[states][]).", "items": { "enum": [ "cancelled", "complete", "confirmed", "incomplete", "paid", "unpaid" ], "type": "string" }, "type": "array" }, "updated_after": { "description": "Only registrations updated after this time (search[updated_at][gt]), e.g. 2026-01-01T09:00:00+UTC. Without the +UTC suffix Tito uses the event's own time zone.", "type": "string" }, "view": { "description": "Response view. Lists default to 'short'; 'extended' includes associated records but can be slow and large.", "enum": [ "short", "extended" ], "type": "string" } }, "required": [ "event_slug" ], "type": "object" }, "name": "tito_list_registrations", "outputSchema": null }, { "description": "List an event's releases — Tito's ticket types — with price, quantity, tickets_count sold, sold_out / off_sale / secret flags, sale window and share_url. Tito: GET /:account/:event/releases.", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { "account_slug": { "description": "The account slug (the first part of https://ti.to/<account>/<event>). Optional if TITO_ACCOUNT is set; tito_whoami lists the accounts this token can reach.", "type": "string" }, "event_slug": { "description": "The event slug (the second part of https://ti.to/<account>/<event>), e.g. 2026.", "type": "string" }, "page": { "description": "Page number (page[number]), from 1.", "maximum": 9007199254740991, "minimum": 1, "type": "integer" }, "page_size": { "description": "Results per page (page[size]), 1-1000. Tito's default is 100.", "maximum": 1000, "minimum": 1, "type": "integer" } }, "required": [ "event_slug" ], "type": "object" }, "name": "tito_list_releases", "outputSchema": null }, { "description": "List an event's tickets — one per attendee — newest first, with name, email, company, reference, release, price paid and state. Filter by free text (name, email, phone, reference, company, tag), state, type, release, activity, and created/updated time. Void tickets are excluded unless states includes 'void'. Tito: GET /:account/:event/tickets.", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { "account_slug": { "description": "The account slug (the first part of https://ti.to/<account>/<event>). Optional if TITO_ACCOUNT is set; tito_whoami lists the accounts this token can reach.", "type": "string" }, "activity_ids": { "description": "Only tickets attached to these activity ids (search[activity_ids][]).", "items": { "maximum": 9007199254740991, "minimum": -9007199254740991, "type": "integer" }, "type": "array" }, "created_after": { "description": "Only tickets created after this time (search[created_at][gt]), e.g. 2026-01-01T09:00:00+UTC. Without the +UTC suffix Tito uses the event's own time zone.", "type": "string" }, "created_before": { "description": "Only tickets created before this time (search[created_at][lt]), e.g. 2026-01-01T09:00:00+UTC. Without the +UTC suffix Tito uses the event's own time zone.", "type": "string" }, "direction": { "description": "Sort direction (search[direction]).", "enum": [ "asc", "desc" ], "type": "string" }, "event_slug": { "description": "The event slug (the second part of https://ti.to/<account>/<event>), e.g. 2026.", "type": "string" }, "page": { "description": "Page number (page[number]), from 1.", "maximum": 9007199254740991, "minimum": 1, "type": "integer" }, "page_size": { "description": "Results per page (page[size]), 1-1000. Tito's default is 100.", "maximum": 1000, "minimum": 1, "type": "integer" }, "q": { "description": "Free-text search: email, name, phone, slug, reference, company or tag.", "type": "string" }, "release_slugs": { "description": "Only tickets of these releases, by release slug (search[release_ids][]).", "items": { "type": "string" }, "type": "array" }, "sort": { "description": "Sort attribute (search[sort]). Default created_at, newest first.", "enum": [ "first_name", "last_name", "created_at", "updated_at", "price", "reference", "number" ], "type": "string" }, "states": { "description": "Only these states (search[states][]). 'archived' also includes tickets of archived releases.", "items": { "enum": [ "complete", "incomplete", "unassigned", "void", "changes_allowed", "changes_locked", "archived" ], "type": "string" }, "type": "array" }, "types": { "description": "manual = added by an organiser, standard = ordered by a customer (search[types][]).", "items": { "enum": [ "manual", "standard" ], "type": "string" }, "type": "array" }, "updated_after": { "description": "Only tickets updated after this time (search[updated_at][gt]), e.g. 2026-01-01T09:00:00+UTC. Without the +UTC suffix Tito uses the event's own time zone.", "type": "string" }, "view": { "description": "Response view. Lists default to 'short'; 'extended' includes associated records but can be slow and large.", "enum": [ "short", "extended" ], "type": "string" } }, "required": [ "event_slug" ], "type": "object" }, "name": "tito_list_tickets", "outputSchema": null }, { "description": "Change an existing discount code — its code, value, quantity, validity window or attached releases. Only the fields you pass are sent. To retire a code without deleting it, set end_at to now. Tito: PATCH /:account/:event/discount_codes/:discount_code_id.", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { "account_slug": { "description": "The account slug (the first part of https://ti.to/<account>/<event>). Optional if TITO_ACCOUNT is set; tito_whoami lists the accounts this token can reach.", "type": "string" }, "code": { "description": "New code text.", "minLength": 1, "type": "string" }, "discount_code_id": { "description": "The discount code's numeric id.", "exclusiveMinimum": 0, "maximum": 9007199254740991, "type": "integer" }, "end_at": { "description": "When the code stops working (ISO 8601 datetime).", "type": "string" }, "event_slug": { "description": "The event slug (the second part of https://ti.to/<account>/<event>), e.g. 2026.", "type": "string" }, "max_quantity_per_release": { "description": "The discount applies to at most this many tickets per release.", "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "min_quantity_per_release": { "description": "The discount applies only if at least this many tickets are selected.", "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "only_show_attached": { "description": "When the code is applied, show only the releases attached to it. Default false.", "type": "boolean" }, "quantity": { "description": "How many tickets can use this code in total.", "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "release_ids": { "description": "Release ids the code applies to (empty = all).", "items": { "maximum": 9007199254740991, "minimum": -9007199254740991, "type": "integer" }, "type": "array" }, "reveal_secret": { "description": "Reveal secret releases when the code is applied. Default false.", "type": "boolean" }, "start_at": { "description": "When the code starts working (ISO 8601 datetime).", "type": "string" }, "type": { "description": "New discount type.", "enum": [ "PercentOffDiscountCode", "MoneyOffDiscountCode" ], "type": "string" }, "value": { "description": "New amount off per ticket as a decimal string, e.g. \"15.0\".", "type": "string" } }, "required": [ "event_slug", "discount_code_id" ], "type": "object" }, "name": "tito_update_discount_code", "outputSchema": null }, { "description": "Correct a ticket's attendee details — name, email, company, phone, tags or metadata. Only the fields you pass are sent, and no email is sent to anyone (unlike a reassignment, which this server does not do). Tito: PATCH /:account/:event/tickets/:ticket_slug.", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { "account_slug": { "description": "The account slug (the first part of https://ti.to/<account>/<event>). Optional if TITO_ACCOUNT is set; tito_whoami lists the accounts this token can reach.", "type": "string" }, "company_name": { "description": "Attendee company.", "type": "string" }, "email": { "description": "Attendee email.", "type": "string" }, "event_slug": { "description": "The event slug (the second part of https://ti.to/<account>/<event>), e.g. 2026.", "type": "string" }, "first_name": { "description": "Attendee first name.", "type": "string" }, "last_name": { "description": "Attendee last name.", "type": "string" }, "metadata": { "additionalProperties": {}, "description": "Arbitrary metadata about the attendee.", "propertyNames": { "type": "string" }, "type": "object" }, "phone_number": { "description": "Attendee phone number.", "type": "string" }, "tags": { "description": "Comma-separated tags (replaces the existing tags).", "type": "string" }, "ticket_slug": { "description": "The ticket's slug, e.g. ti_dhlR2CSzh59ZLht5ELPkxjg.", "type": "string" } }, "required": [ "event_slug", "ticket_slug" ], "type": "object" }, "name": "tito_update_ticket", "outputSchema": null }, { "description": "Confirm the API token works and list the account slugs it can reach, plus its lookup mode (live or test — a token only sees tickets and registrations of its own mode). Call this first to discover account_slug. Tito: GET /hello.", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": {}, "type": "object" }, "name": "tito_whoami", "outputSchema": null } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:07f8a56ae0d0bff502e4a849d3f76461becd050b754c28612becd40bd27f728c | sha256sum