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

Server definition

Hash
sha256:e04b5eff0cd4bbf5dc935723ed3a37b2e4eb434d95e4221cd39cf317b7ebb663
What it is
What a remote MCP server returned when asked what it offers: 11 tools

The blob, as servednamed by its sha256

{ "instructions": "# Clinic administration with Veterical\n\nThis skill drives the hosted Veterical MCP connector. The user must connect\nVeterical and authorize an account that can access the intended organization.\nIf authorization fails, ask the user to connect or reauthorize; never guess an\nidentifier or retry with a different tenant.\n\n## Hard privacy, financial and clinical boundary\n\nThis connector is administrative-only. It intentionally does not expose:\n\n- animal/patient or owner/client identities, records, contact details or\n record counts;\n- individual appointment records, identifiers, statuses, animal/owner links\n or exact booked times;\n- diagnoses, treatments, procedure names/descriptions, prescriptions,\n vaccinations, reminders, images or notes;\n- provider identifiers, contacts, roles, credentials or organization\n internals;\n- transaction identifiers/dates, animal or owner linkage, line items,\n discounts, payment methods, card/bank information or processor identifiers;\n or\n- tools that create, update, book, message, cancel, charge, refund, transfer or\n delete anything.\n\nNever ask the user to paste excluded personal or clinical data into chat,\ninfer it from aggregate counts, or imply that another tool can approximate a\nmissing capability. The connector does not diagnose, triage, prescribe,\nrecommend treatment, determine urgency or make any medical decision. It cannot\nmove funds.\n\nBookable availability is unassigned clinic capacity inside the clinic's own\nonline-booking window. Numeric catalog data is administrative configuration,\nnot evidence that an animal received or should receive a treatment. Patient\nand appointment numbers in subscription results are plan caps, not record\ncounts.\n\n## Available tools\n\n| Tool | Use it when someone asks… |\n| ----------------------------- | ----------------------------------------------------------------------------- |\n| `list_clinics` | which clinics they manage; also resolves the clinic ID every other tool needs |\n| `get_clinic` | about one clinic's currency, language or timezone |\n| `get_clinic_availability` | when there are free online-booking slots (up to 14 days with openings) |\n| `list_clinic_providers` | which vets, nurses or assistants can be booked (up to 100 display names) |\n| `get_clinic_schedule_summary` | how busy each UTC day is (appointment counts, at most 31 days) |\n| `list_calendar_events` | when the clinic is closed or time is blocked (holidays, vacations, meetings) |\n| `list_procedures` | about the catalog's price range (rows carry no treatment names) |\n| `list_payments` | how much was taken in, by currency and payment status, one page at a time |\n| `list_subscriptions` | which plan the clinic is on and its plan caps |\n| `show_clinic_overview` | for a one-card overview of one clinic |\n\nEvery tool is read-only. There is no operation for animal/owner lookup,\nindividual appointment access, booking, rescheduling, cancellation, messaging,\nclinical-record access, diagnosis, treatment, payment execution or funds\nmovement.\n\n## Identifiers and cursors\n\nNever guess a clinic ID. Start with `list_clinics`, choose the clinic matching\nthe user's request and reuse its returned 24-character lowercase hexadecimal\nID. If several clinics match, ask which one they mean. A cross-organization ID\nfails closed.\n\nTools returning `nextCursor` use opaque cursors. Reuse a cursor only with the\nsame clinic, date range and limit that produced it. Start a new listing when a\nfilter changes. Never inspect, edit or manufacture a cursor.\n\nCounts marked `+` are lower bounds from bounded reads. Do not describe them as\ncomplete totals. Payment groups summarize one bounded page; follow the cursor\nonly if the user needs subsequent pages, and do not combine pages without\nclearly stating what was added.\n\n## Administrative overview workflow\n\nWhen the user wants a broad snapshot:\n\n1. Call `list_clinics`.\n2. Resolve the intended clinic without guessing.\n3. Call `show_clinic_overview` with that clinic ID.\n4. Interpret only safe clinic metadata, aggregate next-seven-day schedule,\n provider/availability counts and numeric catalog previews.\n\nThe card does not identify an appointment, owner, animal, provider record or\nprocedure label. Never infer one.\n\n## Schedule and capacity workflow\n\nFor workload over a period:\n\n1. Resolve the clinic with `list_clinics`.\n2. Call `get_clinic_schedule_summary` with ISO 8601 start/end values. Omit\n both for the default seven-day range. Never request more than 31 days.\n3. Report only the aggregate count and UTC day rows. Counts include canceled\n appointments; say so when describing workload.\n4. Use `get_clinic_availability` separately for open capacity and\n `list_clinic_providers` for display names.\n\nSchedule summaries deliberately omit individual records and times. Do not try\nto reconstruct them by comparing availability, provider or calendar output.\n\n## Calendar and numeric catalog workflow\n\nUse `list_calendar_events` for closures, meetings, courses, days off and other\nnon-appointment blocks. It exposes time, all-day state, scope, effect and type.\nTitles, notes, IDs and staff references are unavailable. Do not infer a reason\nor person from a block.\n\nUse `list_procedures` for numeric price/duration/edit-time configuration at a\nresolved clinic. Names and descriptions are intentionally absent. Never label\na row, map it to an animal, or describe it as a diagnosis, treatment history\nor care recommendation.\n\n## Payment aggregates and entitlements\n\nUse `list_payments` only for operational amount/count totals grouped by\ncurrency and status. State that totals cover the bounded page reported by the\ntool. Never claim access to a transaction, payment method, processor account\nor settlement, and never imply that Claude can authorize, capture, refund or\ntransfer money.\n\nUse `list_subscriptions` for plan status, billing frequency and configuration\ncaps. It contains no billed amount or processor customer/subscription record.\nDo not interpret patient or appointment caps as actual record counts.\n\n## Unsupported requests\n\nFor an animal, owner, individual-appointment or clinical request, state that\nthe public connector cannot access the requested data. For a write request,\nstate that every tool is read-only. For payment execution or processor data,\nstate that only aggregate operational totals are available. For diagnosis,\nurgency, medication or treatment advice, do not invoke Veterical as a clinical\nauthority; follow current host safety guidance and make clear that the\nconnector provides no medical decision.\n\n## Clinic sidebar\n\nUse `open_veterical` when the user asks to open Veterical or browse their clinics. Select an owned clinic for aggregate schedules, booking capacity and numeric catalog prices and durations. The selection supplies clinic context to the assistant. Every view is read-only and excludes animal, owner and clinical records. Counts marked “At least” are lower bounds.\n", "tools": [ { "description": "Use this when someone asks about one vet clinic's basic settings, such as its currency, language or timezone. Returns the clinic's name, currency, default language, timezone and last edit time; an id outside the organization returns not-found. Not for free appointment slots.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "clinicId": { "description": "Clinic id: 24 lowercase hexadecimal characters", "pattern": "^[0-9a-f]{24}$", "type": "string" } }, "required": [ "clinicId" ], "type": "object" }, "name": "get_clinic", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "clinic": { "anyOf": [ { "additionalProperties": false, "properties": { "currency": { "anyOf": [ { "pattern": "^[A-Za-z]{3}$", "type": "string" }, { "type": "null" } ] }, "defaultLocale": { "anyOf": [ { "maxLength": 35, "type": "string" }, { "type": "null" } ] }, "id": { "anyOf": [ { "pattern": "^[0-9a-f]{24}$", "type": "string" }, { "type": "null" } ] }, "lastEditTime": { "anyOf": [ { "maxLength": 32, "type": "string" }, { "type": "null" } ] }, "name": { "maxLength": 200, "type": "string" }, "timezone": { "anyOf": [ { "maxLength": 64, "type": "string" }, { "type": "null" } ] } }, "required": [ "id", "name", "currency", "defaultLocale", "timezone", "lastEditTime" ], "type": "object" }, { "type": "null" } ], "description": "Administrative clinic metadata only; opening hours, staff, animal, owner and appointment data are not included. Null when not found." }, "status": { "enum": [ "found", "not-found" ], "type": "string" } }, "required": [ "status", "clinic" ], "type": "object" } }, { "description": "Use this when someone asks when their vet clinic has free appointment slots or openings. Returns the open online-booking slots per day for one clinic: how many, plus the first start and last end time. Covers the next days that have openings, up to 14 days and 100 slots (no pet, owner or medical data). Not for booking an appointment.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "clinicId": { "description": "Clinic id: 24 lowercase hexadecimal characters", "pattern": "^[0-9a-f]{24}$", "type": "string" } }, "required": [ "clinicId" ], "type": "object" }, "name": "get_clinic_availability", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "days": { "description": "One row per day that has open online-booking slots, in date order. Unassigned capacity only; appointments, animals, owners, staff and clinical data are never included.", "items": { "additionalProperties": false, "properties": { "day": { "anyOf": [ { "pattern": "^\\d{4}-\\d{2}-\\d{2}$", "type": "string" }, { "type": "null" } ] }, "firstStartTime": { "anyOf": [ { "maxLength": 32, "type": "string" }, { "type": "null" } ] }, "lastEndTime": { "anyOf": [ { "maxLength": 32, "type": "string" }, { "type": "null" } ] }, "slotCount": { "maximum": 100, "minimum": 0, "type": "integer" } }, "required": [ "day", "slotCount", "firstStartTime", "lastEndTime" ], "type": "object" }, "maxItems": 14, "type": "array" }, "slotCount": { "maximum": 100, "minimum": 0, "type": "integer" }, "slotCountIsLowerBound": { "description": "True when more open slots exist beyond the 14-day, 100-slot cap", "type": "boolean" }, "status": { "enum": [ "found", "not-found" ], "type": "string" } }, "required": [ "status", "slotCount", "slotCountIsLowerBound", "days" ], "type": "object" } }, { "description": "Use this when someone asks how busy their vet clinic is or how many appointments fall on each day. Returns appointment counts per UTC day for one clinic, canceled ones included, for the next 7 days by default and at most 31 days; counting stops at 100. Not for seeing individual appointments, pets or owners.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "clinicId": { "description": "Clinic id: 24 lowercase hexadecimal characters", "pattern": "^[0-9a-f]{24}$", "type": "string" }, "endTime": { "$ref": "#/properties/startTime", "description": "End of the range as an ISO 8601 date-time, after startTime and at most 31 days later; defaults to 7 days after the start" }, "startTime": { "description": "Start of the range as an ISO 8601 date-time; defaults to now", "maxLength": 64, "type": "string" } }, "required": [ "clinicId" ], "type": "object" }, "name": "get_clinic_schedule_summary", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "appointmentCount": { "maximum": 100, "minimum": 0, "type": "integer" }, "appointmentCountIsLowerBound": { "description": "True when more than 100 appointments fall in the range", "type": "boolean" }, "days": { "description": "One row per UTC day that has appointments, canceled ones included. Aggregate counts only: appointment identifiers and times, animals, owners, diagnoses, treatments, reminders and notes are never returned.", "items": { "additionalProperties": false, "properties": { "appointmentCount": { "maximum": 100, "minimum": 0, "type": "integer" }, "day": { "pattern": "^\\d{4}-\\d{2}-\\d{2}$", "type": "string" } }, "required": [ "day", "appointmentCount" ], "type": "object" }, "maxItems": 100, "type": "array" }, "range": { "additionalProperties": false, "properties": { "endTime": { "maxLength": 32, "type": "string" }, "startTime": { "maxLength": 32, "type": "string" } }, "required": [ "startTime", "endTime" ], "type": "object" } }, "required": [ "range", "appointmentCount", "appointmentCountIsLowerBound", "days" ], "type": "object" } }, { "description": "Use this when someone asks when their vet clinic is closed or has time blocked for holidays, vacations, sick days, meetings or courses. Returns each block or extra opening with start, end, all-day flag, scope (clinic, staff or room) and type, without titles, notes or names. Not for appointments.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "clinicId": { "description": "Only this clinic (24 lowercase hexadecimal characters); every clinic when absent", "pattern": "^[0-9a-f]{24}$", "type": "string" }, "cursor": { "description": "The nextCursor of the previous page with the same filters; absent for the first page", "maxLength": 4096, "type": "string" }, "endTime": { "$ref": "#/properties/startTime", "description": "Only blocks ending before this ISO 8601 date-time" }, "limit": { "description": "Blocks per page, from 1 to 100; defaults to 20", "exclusiveMinimum": 0, "maximum": 100, "type": "integer" }, "startTime": { "description": "Only blocks starting at or after this ISO 8601 date-time", "maxLength": 64, "type": "string" } }, "type": "object" }, "name": "list_calendar_events", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "calendarEvents": { "description": "Non-appointment calendar blocks, earliest first. Event identifiers, clinic or staff references, titles, notes, owner or animal linkage and clinical fields are never returned.", "items": { "additionalProperties": false, "properties": { "allDay": { "type": "boolean" }, "effect": { "anyOf": [ { "enum": [ "BLOCK", "OPEN" ], "type": "string" }, { "type": "null" } ], "description": "BLOCK removes bookable time; OPEN adds hours on a normally closed time" }, "endTime": { "$ref": "#/properties/calendarEvents/items/properties/startTime" }, "scope": { "anyOf": [ { "enum": [ "CLINIC", "PROVIDER", "SEAT" ], "type": "string" }, { "type": "null" } ], "description": "CLINIC: the whole clinic; PROVIDER: one or more staff; SEAT: one room" }, "startTime": { "anyOf": [ { "maxLength": 32, "type": "string" }, { "type": "null" } ] }, "type": { "anyOf": [ { "maxLength": 64, "type": "string" }, { "type": "null" } ], "description": "Label such as COURSE, MEETING, VACATION, SICK, HOLIDAY, MAINTENANCE or OTHER" } }, "required": [ "startTime", "endTime", "allDay", "scope", "effect", "type" ], "type": "object" }, "maxItems": 100, "type": "array" }, "nextCursor": { "anyOf": [ { "maxLength": 4096, "type": "string" }, { "type": "null" } ], "description": "Cursor for the next page; null on the last page" } }, "required": [ "calendarEvents", "nextCursor" ], "type": "object" } }, { "description": "Use this when someone asks which vets, nurses or assistants can be booked at their clinic. Returns up to 100 staff display names for one clinic (no contact details, roles or pet data). Not for staff days off or vacations.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "clinicId": { "description": "Clinic id: 24 lowercase hexadecimal characters", "pattern": "^[0-9a-f]{24}$", "type": "string" } }, "required": [ "clinicId" ], "type": "object" }, "name": "list_clinic_providers", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "providerCount": { "maximum": 100, "minimum": 0, "type": "integer" }, "providerCountIsLowerBound": { "type": "boolean" }, "providers": { "description": "Display names of staff with a doctor, nurse or assistant role. Staff identifiers, contact details, roles, colors, avatars and all animal or clinical data are excluded.", "items": { "additionalProperties": false, "properties": { "displayName": { "maxLength": 200, "type": "string" } }, "required": [ "displayName" ], "type": "object" }, "maxItems": 100, "type": "array" }, "status": { "enum": [ "found", "not-found" ], "type": "string" } }, "required": [ "status", "providerCount", "providerCountIsLowerBound", "providers" ], "type": "object" } }, { "description": "Use this when someone asks which vet clinics they manage in Veterical, or a clinic's id is needed. Returns each clinic's id, name, currency, default language and timezone, 20 per page by default. Not for finding a pet, owner or appointment.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "cursor": { "description": "The nextCursor of the previous page of this listing; absent for the first page", "maxLength": 4096, "type": "string" }, "limit": { "description": "Clinics per page, from 1 to 100; defaults to 20", "exclusiveMinimum": 0, "maximum": 100, "type": "integer" } }, "type": "object" }, "name": "list_clinics", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "clinics": { "description": "Clinics in the signed-in organization, administrative metadata only. Animal, owner, appointment and clinical records are never returned.", "items": { "additionalProperties": false, "properties": { "currency": { "anyOf": [ { "pattern": "^[A-Za-z]{3}$", "type": "string" }, { "type": "null" } ] }, "defaultLocale": { "anyOf": [ { "maxLength": 35, "type": "string" }, { "type": "null" } ] }, "id": { "anyOf": [ { "pattern": "^[0-9a-f]{24}$", "type": "string" }, { "type": "null" } ] }, "lastEditTime": { "anyOf": [ { "maxLength": 32, "type": "string" }, { "type": "null" } ] }, "name": { "maxLength": 200, "type": "string" }, "timezone": { "anyOf": [ { "maxLength": 64, "type": "string" }, { "type": "null" } ] } }, "required": [ "id", "name", "currency", "defaultLocale", "timezone", "lastEditTime" ], "type": "object" }, "maxItems": 100, "type": "array" }, "nextCursor": { "anyOf": [ { "maxLength": 4096, "type": "string" }, { "type": "null" } ], "description": "Cursor for the next page; null on the last page" } }, "required": [ "clinics", "nextCursor" ], "type": "object" } }, { "description": "Use this when someone asks how much their vet clinic has taken in, or how many payments succeeded, failed or were canceled. Returns totals and counts by currency and status for one page of payments, newest first (20 by default), with a cursor for the rest (no client, pet or card data). Not for refunds or charging a client.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "clinicId": { "description": "Only this clinic (24 lowercase hexadecimal characters); every clinic when absent", "pattern": "^[0-9a-f]{24}$", "type": "string" }, "cursor": { "description": "The nextCursor of the previous page with the same filters; absent for the first page", "maxLength": 4096, "type": "string" }, "endTime": { "$ref": "#/properties/startTime", "description": "Only payments dated before this ISO 8601 date-time" }, "limit": { "description": "Payments to summarize in this page, from 1 to 100; defaults to 20", "exclusiveMinimum": 0, "maximum": 100, "type": "integer" }, "startTime": { "description": "Only payments dated at or after this ISO 8601 date-time", "maxLength": 64, "type": "string" } }, "type": "object" }, "name": "list_payments", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "moreRecordsAvailable": { "description": "True when older payments exist beyond this page", "type": "boolean" }, "nextCursor": { "anyOf": [ { "maxLength": 4096, "type": "string" }, { "type": "null" } ], "description": "Cursor for the next page; null on the last page" }, "recordsSummarized": { "description": "How many payment records this page summarized", "maximum": 100, "minimum": 0, "type": "integer" }, "totals": { "description": "One row per currency and status within this page only. Transaction identifiers and dates, animal or owner linkage, line items, discounts, payment methods, card or bank data and processor identifiers are never returned.", "items": { "additionalProperties": false, "properties": { "amountMissingCount": { "minimum": 0, "type": "integer" }, "currency": { "anyOf": [ { "pattern": "^[A-Za-z]{3}$", "type": "string" }, { "type": "null" } ] }, "paymentCount": { "maximum": 100, "minimum": 0, "type": "integer" }, "status": { "anyOf": [ { "enum": [ "CANCELED", "FAILED", "SUCCEEDED" ], "type": "string" }, { "type": "null" } ] }, "totalAmount": { "type": "number" } }, "required": [ "currency", "status", "paymentCount", "totalAmount", "amountMissingCount" ], "type": "object" }, "maxItems": 100, "type": "array" } }, "required": [ "recordsSummarized", "moreRecordsAvailable", "totals", "nextCursor" ], "type": "object" } }, { "description": "Use this when someone asks about the prices set in their vet clinic's treatment and service catalog, such as the lowest, highest or most recently changed price. Returns price, duration where recorded and last edit time per catalog row, without treatment names. Not for the price of a specific named treatment.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "clinicId": { "description": "Clinic id: 24 lowercase hexadecimal characters", "pattern": "^[0-9a-f]{24}$", "type": "string" }, "cursor": { "description": "The nextCursor of the previous page with the same filters; absent for the first page", "maxLength": 4096, "type": "string" }, "limit": { "description": "Catalog rows per page, from 1 to 100; defaults to 50", "exclusiveMinimum": 0, "maximum": 100, "type": "integer" } }, "required": [ "clinicId" ], "type": "object" }, "name": "list_procedures", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "nextCursor": { "anyOf": [ { "maxLength": 4096, "type": "string" }, { "type": "null" } ], "description": "Cursor for the next page; null on the last page" }, "procedures": { "description": "Numeric catalog rows, most recently edited first. Names, descriptions, identifiers, patient-linked treatments, diagnoses, notes, reminders and every other free-text or clinical field are excluded.", "items": { "additionalProperties": false, "properties": { "duration": { "description": "Configured duration, or null when none was recorded", "type": [ "number", "null" ] }, "lastEditTime": { "anyOf": [ { "maxLength": 32, "type": "string" }, { "type": "null" } ] }, "price": { "description": "Price in the clinic's currency", "type": [ "number", "null" ] } }, "required": [ "price", "duration", "lastEditTime" ], "type": "object" }, "maxItems": 100, "type": "array" } }, "required": [ "procedures", "nextCursor" ], "type": "object" } }, { "description": "Use this when someone asks which Veterical plan their clinic is on, whether it is active, or how many users, seats, patients or appointments it allows. Returns plan name, status, billing frequency and plan caps per subscription; caps are limits, not usage. Not for invoices or amounts billed.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "clinicId": { "description": "Only this clinic (24 lowercase hexadecimal characters); every clinic when absent", "pattern": "^[0-9a-f]{24}$", "type": "string" }, "cursor": { "description": "The nextCursor of the previous page with the same filters; absent for the first page", "maxLength": 4096, "type": "string" }, "limit": { "description": "Subscriptions per page, from 1 to 100; defaults to 20", "exclusiveMinimum": 0, "maximum": 100, "type": "integer" } }, "type": "object" }, "name": "list_subscriptions", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "nextCursor": { "anyOf": [ { "maxLength": 4096, "type": "string" }, { "type": "null" } ], "description": "Cursor for the next page; null on the last page" }, "subscriptions": { "description": "Plan entitlements, newest first. Subscription or customer ids, billed amounts, payment methods, invoices and every processor field are excluded.", "items": { "additionalProperties": false, "properties": { "billingFrequency": { "anyOf": [ { "enum": [ "MONTHLY", "ONCE", "YEARLY" ], "type": "string" }, { "type": "null" } ] }, "clinicId": { "anyOf": [ { "pattern": "^[0-9a-f]{24}$", "type": "string" }, { "type": "null" } ] }, "limits": { "additionalProperties": false, "description": "Plan caps, not record counts; null when the subscription carries no cap", "properties": { "appointments": { "type": [ "number", "null" ] }, "patients": { "type": [ "number", "null" ] }, "seats": { "type": [ "number", "null" ] }, "users": { "type": [ "number", "null" ] } }, "required": [ "appointments", "patients", "seats", "users" ], "type": "object" }, "plan": { "anyOf": [ { "maxLength": 200, "type": "string" }, { "type": "null" } ] }, "status": { "anyOf": [ { "enum": [ "ACTIVE", "CANCELED", "INCOMPLETE", "PAST_DUE" ], "type": "string" }, { "type": "null" } ] } }, "required": [ "clinicId", "status", "plan", "billingFrequency", "limits" ], "type": "object" }, "maxItems": 100, "type": "array" } }, "required": [ "subscriptions", "nextCursor" ], "type": "object" } }, { "description": "Open Veterical Vet Clinic to browse owned clinics, aggregate schedule counts, booking availability and numeric catalog prices. Read-only clinic administration. Excludes animal and owner records, individual appointments, contact details, diagnoses and clinical data; cannot book, edit or make medical decisions.", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": {}, "type": "object" }, "name": "open_veterical", "outputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": false, "properties": { "items": { "items": { "additionalProperties": false, "properties": { "defaultLocale": { "anyOf": [ { "maxLength": 32, "type": "string" }, { "type": "null" } ] }, "id": { "anyOf": [ { "maxLength": 200, "type": "string" }, { "type": "null" } ] }, "locales": { "items": { "maxLength": 32, "type": "string" }, "maxItems": 100, "type": "array" }, "logoUrl": { "anyOf": [ { "maxLength": 2048, "type": "string" }, { "type": "null" } ] }, "name": { "maxLength": 200, "type": "string" }, "subtitle": { "maxLength": 300, "type": "string" } }, "required": [ "id", "name", "subtitle", "logoUrl", "defaultLocale", "locales" ], "type": "object" }, "maxItems": 100, "type": "array" }, "truncated": { "type": "boolean" } }, "required": [ "items", "truncated" ], "type": "object" } }, { "description": "Use this when someone wants a quick overview or dashboard of one vet clinic. Returns an overview card with the clinic's details, appointment counts for the next 7 days, how many staff can be booked, open online-booking slots and up to 12 catalog prices (no pet, owner or medical data). Not for a single appointment.", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { "clinicId": { "description": "Clinic id: 24 lowercase hexadecimal characters", "pattern": "^[0-9a-f]{24}$", "type": "string" } }, "required": [ "clinicId" ], "type": "object" }, "name": "show_clinic_overview", "outputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": false, "properties": { "appointmentCount": { "maximum": 100, "minimum": 0, "type": "integer" }, "appointmentCountIsLowerBound": { "type": "boolean" }, "availabilityDays": { "items": { "additionalProperties": false, "properties": { "count": { "maximum": 100, "minimum": 0, "type": "integer" }, "day": { "anyOf": [ { "pattern": "^\\d{4}-\\d{2}-\\d{2}$", "type": "string" }, { "type": "null" } ] } }, "required": [ "day", "count" ], "type": "object" }, "maxItems": 14, "type": "array" }, "availableDayCount": { "maximum": 14, "minimum": 0, "type": "integer" }, "availableSlotCount": { "maximum": 100, "minimum": 0, "type": "integer" }, "availableSlotCountIsLowerBound": { "type": "boolean" }, "clinic": { "anyOf": [ { "additionalProperties": false, "properties": { "currency": { "anyOf": [ { "pattern": "^[A-Za-z]{3}$", "type": "string" }, { "type": "null" } ] }, "defaultLocale": { "anyOf": [ { "maxLength": 35, "type": "string" }, { "type": "null" } ] }, "id": { "anyOf": [ { "pattern": "^[0-9a-f]{24}$", "type": "string" }, { "type": "null" } ] }, "name": { "maxLength": 200, "type": "string" }, "timezone": { "anyOf": [ { "maxLength": 64, "type": "string" }, { "type": "null" } ] } }, "required": [ "id", "name", "currency", "defaultLocale", "timezone" ], "type": "object" }, { "type": "null" } ], "description": "Administrative clinic metadata; null when the clinic was not found. The overview never includes individual appointments, animal or owner records, diagnoses, treatments, reminders, notes, transaction details or other clinical or personal data." }, "procedureCount": { "maximum": 12, "minimum": 0, "type": "integer" }, "procedureCountIsLowerBound": { "type": "boolean" }, "procedures": { "items": { "additionalProperties": false, "properties": { "duration": { "anyOf": [ { "type": "number" }, { "type": "null" } ] }, "price": { "anyOf": [ { "type": "number" }, { "type": "null" } ] } }, "required": [ "price", "duration" ], "type": "object" }, "maxItems": 12, "type": "array" }, "providerCount": { "maximum": 100, "minimum": 0, "type": "integer" }, "providerCountIsLowerBound": { "type": "boolean" }, "scheduleDays": { "items": { "additionalProperties": false, "properties": { "count": { "maximum": 100, "minimum": 0, "type": "integer" }, "day": { "pattern": "^\\d{4}-\\d{2}-\\d{2}$", "type": "string" } }, "required": [ "day", "count" ], "type": "object" }, "maxItems": 100, "type": "array" }, "scheduleRange": { "additionalProperties": false, "properties": { "endTime": { "maxLength": 32, "type": "string" }, "startTime": { "maxLength": 32, "type": "string" } }, "required": [ "startTime", "endTime" ], "type": "object" } }, "required": [ "clinic", "scheduleRange", "appointmentCount", "appointmentCountIsLowerBound", "scheduleDays", "procedureCount", "procedureCountIsLowerBound", "procedures", "providerCount", "providerCountIsLowerBound", "availableDayCount", "availableSlotCount", "availableSlotCountIsLowerBound", "availabilityDays" ], "type": "object" } } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:e04b5eff0cd4bbf5dc935723ed3a37b2e4eb434d95e4221cd39cf317b7ebb663 | sha256sum