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

Server definition

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

The blob, as servednamed by its sha256

{ "instructions": null, "tools": [ { "description": "Activate an automation. New events matching its triggers will start enrolling contacts.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "apiKey": { "description": "Send16 API key (overrides SEND16_API_KEY env var)", "type": "string" }, "automationId": { "description": "Automation ID", "type": "string" } }, "required": [ "automationId" ], "type": "object" }, "name": "activate_automation", "outputSchema": null }, { "description": "Add contacts (by ID) to an audience.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "apiKey": { "description": "Send16 API key (overrides SEND16_API_KEY env var)", "type": "string" }, "audienceId": { "description": "Audience ID", "type": "string" }, "contactIds": { "description": "Contact IDs to add", "items": { "type": "string" }, "maxItems": 1000, "minItems": 1, "type": "array" } }, "required": [ "audienceId", "contactIds" ], "type": "object" }, "name": "add_contacts_to_audience", "outputSchema": null }, { "description": "Add a private internal note on a conversation. Notes are visible only to workspace members.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "apiKey": { "description": "Send16 API key (overrides SEND16_API_KEY env var)", "type": "string" }, "body": { "description": "Note body (markdown supported)", "minLength": 1, "type": "string" }, "convoId": { "description": "Conversation ID", "type": "string" } }, "required": [ "convoId", "body" ], "type": "object" }, "name": "add_convo_note", "outputSchema": null }, { "description": "Register a new sending domain. Returns the DNS records the user must add to their DNS provider, after which they should call check_domain_health to verify.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "apiKey": { "description": "Send16 API key (overrides SEND16_API_KEY env var)", "type": "string" }, "domain": { "description": "FQDN to register (e.g. 'mail.example.com')", "maxLength": 255, "minLength": 3, "type": "string" } }, "required": [ "domain" ], "type": "object" }, "name": "add_domain", "outputSchema": null }, { "description": "Add an email to the suppression list. Future sends to this address will be blocked.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "apiKey": { "description": "Send16 API key (overrides SEND16_API_KEY env var)", "type": "string" }, "email": { "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$", "type": "string" }, "notes": { "type": "string" }, "reason": { "default": "manual", "enum": [ "bounce", "complaint", "unsubscribe", "manual" ], "type": "string" } }, "required": [ "email" ], "type": "object" }, "name": "add_suppression", "outputSchema": null }, { "description": "Check the DNS health of a specific domain, including DKIM, SPF, DMARC, and MX record verification status. Triggers a fresh DNS lookup.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "apiKey": { "description": "Send16 API key (overrides SEND16_API_KEY env var)", "type": "string" }, "domainId": { "description": "Domain ID to check health for", "type": "string" } }, "required": [ "domainId" ], "type": "object" }, "name": "check_domain_health", "outputSchema": null }, { "description": "Create an Action that maps an event name to a transactional template. Each matching event sends one email to the contact.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "apiKey": { "description": "Send16 API key (overrides SEND16_API_KEY env var)", "type": "string" }, "delaySeconds": { "description": "Delay before sending", "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "enabled": { "default": true, "type": "boolean" }, "eventName": { "description": "Event name to match (e.g. 'order.placed')", "maxLength": 100, "minLength": 1, "type": "string" }, "name": { "description": "Display name", "maxLength": 255, "minLength": 1, "type": "string" }, "sendOnce": { "description": "Only send once per contact regardless of how many times the event fires", "type": "boolean" }, "templateSlug": { "description": "Transactional template slug to send", "type": "string" } }, "required": [ "name", "eventName", "templateSlug" ], "type": "object" }, "name": "create_action", "outputSchema": null }, { "description": "Create a new audience.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "apiKey": { "description": "Send16 API key (overrides SEND16_API_KEY env var)", "type": "string" }, "description": { "maxLength": 500, "type": "string" }, "name": { "maxLength": 255, "minLength": 1, "type": "string" } }, "required": [ "name" ], "type": "object" }, "name": "create_audience", "outputSchema": null }, { "description": "Create a new email campaign as a draft: optionally with full HTML content and recipients (exactly ONE of audienceIds / segmentId / contactIds / tagIds / sendToAll) so it's ready to test and send. Nothing is sent until schedule_campaign.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "apiKey": { "description": "Send16 API key (overrides SEND16_API_KEY env var)", "type": "string" }, "audienceIds": { "description": "Target these audience IDs (see list_audiences)", "items": { "type": "string" }, "type": "array" }, "contactIds": { "description": "Target these specific contact IDs", "items": { "type": "string" }, "type": "array" }, "fromEmail": { "description": "Sender email (must be from a verified domain)", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$", "type": "string" }, "fromName": { "description": "Sender display name", "maxLength": 100, "type": "string" }, "html": { "description": "Full HTML body for the email (skip to design later)", "type": "string" }, "name": { "description": "Campaign name (internal label)", "maxLength": 100, "minLength": 1, "type": "string" }, "previewText": { "description": "Preview text shown in inbox alongside subject", "maxLength": 200, "type": "string" }, "replyTo": { "description": "Reply-to email address", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$", "type": "string" }, "segmentId": { "description": "Target this segment (see list_segments)", "type": "string" }, "sendToAll": { "description": "Target all subscribed contacts in the workspace", "type": "boolean" }, "subject": { "description": "Email subject line", "maxLength": 200, "minLength": 1, "type": "string" }, "tagIds": { "description": "Target contacts with these tag IDs", "items": { "type": "string" }, "type": "array" } }, "required": [ "name", "subject", "fromName", "fromEmail" ], "type": "object" }, "name": "create_campaign", "outputSchema": null }, { "description": "Add a single new contact, optionally straight into audiences and/or with tags — e.g. 'add this person from my email into the newsletter list'. Contacts are subscribed by default. For more than a handful of people, use import_contacts instead.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "apiKey": { "description": "Send16 API key (overrides SEND16_API_KEY env var)", "type": "string" }, "audienceIds": { "description": "Add the contact to these audience IDs (see list_audiences)", "items": { "type": "string" }, "type": "array" }, "customFields": { "additionalProperties": { "type": "string" }, "description": "Custom field key-value pairs", "propertyNames": { "type": "string" }, "type": "object" }, "email": { "description": "Contact email address", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$", "type": "string" }, "firstName": { "description": "Contact first name", "maxLength": 255, "type": "string" }, "lastName": { "description": "Contact last name", "maxLength": 255, "type": "string" }, "tags": { "description": "Tag NAMES to assign — matched case-insensitively, created if missing", "items": { "type": "string" }, "type": "array" } }, "required": [ "email" ], "type": "object" }, "name": "create_contact", "outputSchema": null }, { "description": "Create a new subscription topic. Contacts opt into topics individually via the preference center.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "apiKey": { "description": "Send16 API key (overrides SEND16_API_KEY env var)", "type": "string" }, "description": { "description": "Description shown in the preference center", "maxLength": 500, "type": "string" }, "isDefault": { "description": "Auto-subscribe new contacts to this topic", "type": "boolean" }, "name": { "description": "Display name shown to contacts", "maxLength": 100, "minLength": 1, "type": "string" }, "slug": { "description": "URL-safe slug (auto-derived from name if omitted)", "maxLength": 100, "minLength": 1, "pattern": "^[a-z0-9-]+$", "type": "string" } }, "required": [ "name" ], "type": "object" }, "name": "create_topic", "outputSchema": null }, { "description": "Register an outgoing webhook endpoint. Send16 POSTs event JSON to this URL with an HMAC-SHA256 signature. Outgoing webhooks are a plan feature.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "apiKey": { "description": "Send16 API key (overrides SEND16_API_KEY env var)", "type": "string" }, "enabled": { "description": "Whether the endpoint is active (default true)", "type": "boolean" }, "events": { "description": "Event types to subscribe to", "items": { "enum": [ "contact.created", "contact.updated", "contact.deleted", "contact.subscribed", "contact.unsubscribed", "campaign.sent", "campaign.completed", "email.delivered", "email.opened", "email.clicked", "email.bounced", "email.complained", "form.submitted" ], "type": "string" }, "minItems": 1, "type": "array" }, "name": { "description": "A label for this endpoint", "maxLength": 255, "minLength": 1, "type": "string" }, "url": { "description": "HTTPS endpoint to receive events", "format": "uri", "type": "string" } }, "required": [ "name", "url", "events" ], "type": "object" }, "name": "create_webhook", "outputSchema": null }, { "description": "Delete an Action.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "actionId": { "description": "Action ID", "type": "string" }, "apiKey": { "description": "Send16 API key (overrides SEND16_API_KEY env var)", "type": "string" } }, "required": [ "actionId" ], "type": "object" }, "name": "delete_action", "outputSchema": null }, { "description": "Delete an audience (list). Contacts are not deleted — only the list and its memberships are removed.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "apiKey": { "description": "Send16 API key (overrides SEND16_API_KEY env var)", "type": "string" }, "audienceId": { "description": "Audience ID", "type": "string" } }, "required": [ "audienceId" ], "type": "object" }, "name": "delete_audience", "outputSchema": null }, { "description": "Delete a draft campaign. Sent campaigns cannot be deleted (only archived).", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "apiKey": { "description": "Send16 API key (overrides SEND16_API_KEY env var)", "type": "string" }, "campaignId": { "description": "Campaign ID", "type": "string" } }, "required": [ "campaignId" ], "type": "object" }, "name": "delete_campaign", "outputSchema": null }, { "description": "Delete a contact and all associated events. Irreversible.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "apiKey": { "description": "Send16 API key (overrides SEND16_API_KEY env var)", "type": "string" }, "contactId": { "description": "Contact ID", "type": "string" } }, "required": [ "contactId" ], "type": "object" }, "name": "delete_contact", "outputSchema": null }, { "description": "Delete a subscription topic. All subscribers will be detached.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "apiKey": { "description": "Send16 API key (overrides SEND16_API_KEY env var)", "type": "string" }, "topicId": { "description": "Topic ID", "type": "string" } }, "required": [ "topicId" ], "type": "object" }, "name": "delete_topic", "outputSchema": null }, { "description": "Delete an outgoing webhook endpoint.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "apiKey": { "description": "Send16 API key (overrides SEND16_API_KEY env var)", "type": "string" }, "webhookId": { "description": "Webhook ID", "type": "string" } }, "required": [ "webhookId" ], "type": "object" }, "name": "delete_webhook", "outputSchema": null }, { "description": "Use AI to generate a complete email HTML template based on a description. Returns ready-to-use HTML that can be sent or used in campaigns.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "apiKey": { "description": "Send16 API key (overrides SEND16_API_KEY env var)", "type": "string" }, "brandColor": { "description": "Primary brand color as hex code (e.g. \"#4F46E5\")", "type": "string" }, "companyName": { "description": "Company or brand name to include in the template", "type": "string" }, "description": { "description": "Detailed description of the email content and purpose (e.g. 'Welcome email for a SaaS product with feature highlights and CTA to start trial')", "maxLength": 1000, "minLength": 10, "type": "string" }, "style": { "description": "Visual style/aesthetic for the template", "enum": [ "minimal", "modern", "bold", "elegant", "playful", "corporate" ], "type": "string" }, "type": { "description": "Type of email template to generate", "enum": [ "marketing", "transactional", "newsletter", "announcement", "welcome", "promotional" ], "type": "string" } }, "required": [ "type", "style", "description" ], "type": "object" }, "name": "design_email_template", "outputSchema": null }, { "description": "Duplicate a campaign (template, content, and settings) as a new draft — works on sent campaigns too, so this is the way to re-use a past campaign's design. Optionally rename and retarget in the same call (exactly ONE of audienceIds / segmentId / contactIds / tagIds / sendToAll). NOTE: without retargeting, the copy keeps the ORIGINAL campaign's recipients.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "apiKey": { "description": "Send16 API key (overrides SEND16_API_KEY env var)", "type": "string" }, "audienceIds": { "description": "Retarget the new draft to these audience IDs (see list_audiences)", "items": { "type": "string" }, "type": "array" }, "campaignId": { "description": "Campaign ID to duplicate", "type": "string" }, "contactIds": { "description": "Retarget the new draft to these contact IDs", "items": { "type": "string" }, "type": "array" }, "name": { "description": "Name for the new draft (default: original name + ' (Copy)')", "maxLength": 100, "minLength": 1, "type": "string" }, "segmentId": { "description": "Retarget the new draft to this segment", "type": "string" }, "sendToAll": { "description": "Retarget the new draft to all subscribed contacts", "type": "boolean" }, "tagIds": { "description": "Retarget the new draft to contacts with these tag IDs", "items": { "type": "string" }, "type": "array" } }, "required": [ "campaignId" ], "type": "object" }, "name": "duplicate_campaign", "outputSchema": null }, { "description": "Manually enroll a contact in an active automation. The automation must be in 'active' status. Use send_event for event-driven enrollment.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "apiKey": { "description": "Send16 API key (overrides SEND16_API_KEY env var)", "type": "string" }, "automationId": { "description": "Automation ID to enroll into", "type": "string" }, "contactId": { "description": "Contact UUID (use search_contacts to look up by email first)", "type": "string" } }, "required": [ "automationId", "contactId" ], "type": "object" }, "name": "enroll_in_automation", "outputSchema": null }, { "description": "Scrape a URL (e.g. a launch blog post or product page) and generate an email draft from its content. Returns subject, preview text, and HTML body.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "apiKey": { "description": "Send16 API key (overrides SEND16_API_KEY env var)", "type": "string" }, "instructions": { "description": "Additional guidance — e.g. 'announcement style, focus on the new feature'", "type": "string" }, "url": { "description": "Public URL to scrape and turn into an email", "format": "uri", "type": "string" } }, "required": [ "url" ], "type": "object" }, "name": "generate_email_from_url", "outputSchema": null }, { "description": "Get a single Action with its trigger config and template binding.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "actionId": { "description": "Action ID", "type": "string" }, "apiKey": { "description": "Send16 API key (overrides SEND16_API_KEY env var)", "type": "string" } }, "required": [ "actionId" ], "type": "object" }, "name": "get_action", "outputSchema": null }, { "description": "Get a single automation by ID, including its trigger, steps, and current status.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "apiKey": { "description": "Send16 API key (overrides SEND16_API_KEY env var)", "type": "string" }, "automationId": { "description": "Automation ID", "type": "string" } }, "required": [ "automationId" ], "type": "object" }, "name": "get_automation", "outputSchema": null }, { "description": "Get aggregate analytics for an automation: total enrollments, completed, exited, open/click rates per step.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "apiKey": { "description": "Send16 API key (overrides SEND16_API_KEY env var)", "type": "string" }, "automationId": { "description": "Automation ID", "type": "string" } }, "required": [ "automationId" ], "type": "object" }, "name": "get_automation_stats", "outputSchema": null }, { "description": "Get the workspace's brand settings: colors, logo, fonts, and the DESIGN.md spec injected into AI generation prompts.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "apiKey": { "description": "Send16 API key (overrides SEND16_API_KEY env var)", "type": "string" } }, "type": "object" }, "name": "get_brand", "outputSchema": null }, { "description": "Get detailed performance statistics for a specific campaign including open rate, click rate, bounce rate, and delivery metrics.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "apiKey": { "description": "Send16 API key (overrides SEND16_API_KEY env var)", "type": "string" }, "campaignId": { "description": "Campaign ID to get stats for", "type": "string" } }, "required": [ "campaignId" ], "type": "object" }, "name": "get_campaign_stats", "outputSchema": null }, { "description": "Get a contact's 0-100 health score based on recent engagement (opens, clicks, replies).", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "apiKey": { "description": "Send16 API key (overrides SEND16_API_KEY env var)", "type": "string" }, "contactId": { "description": "Contact ID", "type": "string" } }, "required": [ "contactId" ], "type": "object" }, "name": "get_contact_health_score", "outputSchema": null }, { "description": "Get a contact's full activity timeline: emails received, events fired, opens, clicks, automation enrollments, topic changes.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "apiKey": { "description": "Send16 API key (overrides SEND16_API_KEY env var)", "type": "string" }, "contactId": { "description": "Contact ID", "type": "string" }, "cursor": { "description": "Pagination cursor", "type": "string" }, "limit": { "description": "Page size", "maximum": 200, "minimum": 1, "type": "integer" } }, "required": [ "contactId" ], "type": "object" }, "name": "get_contact_timeline", "outputSchema": null }, { "description": "Get a single conversation with its full thread of posts (incoming + outgoing).", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "apiKey": { "description": "Send16 API key (overrides SEND16_API_KEY env var)", "type": "string" }, "id": { "description": "Conversation ID", "type": "string" } }, "required": [ "id" ], "type": "object" }, "name": "get_convo", "outputSchema": null }, { "description": "Get your workspace's deliverability summary — sending reputation, domain authentication status, and recent bounce/complaint health. (Deliverability Hub plan feature.)", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "apiKey": { "description": "Send16 API key (overrides SEND16_API_KEY env var)", "type": "string" } }, "type": "object" }, "name": "get_deliverability_status", "outputSchema": null }, { "description": "Fetch a single message with its full event timeline (created → sent → delivered → opened → clicked → ...).", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "apiKey": { "description": "Send16 API key (overrides SEND16_API_KEY env var)", "type": "string" }, "id": { "description": "Message ID", "type": "string" } }, "required": [ "id" ], "type": "object" }, "name": "get_message", "outputSchema": null }, { "description": "Get just the delivery event timeline for a message — no body or recipient details.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "apiKey": { "description": "Send16 API key (overrides SEND16_API_KEY env var)", "type": "string" }, "id": { "description": "Message ID", "type": "string" } }, "required": [ "id" ], "type": "object" }, "name": "get_message_events", "outputSchema": null }, { "description": "Get a single starter template by ID, including its EmailContent JSON.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "apiKey": { "description": "Send16 API key (overrides SEND16_API_KEY env var)", "type": "string" }, "templateId": { "description": "Template ID (slug)", "type": "string" } }, "required": [ "templateId" ], "type": "object" }, "name": "get_template", "outputSchema": null }, { "description": "Get the current workspace (the one the API key belongs to).", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "apiKey": { "description": "Send16 API key (overrides SEND16_API_KEY env var)", "type": "string" } }, "type": "object" }, "name": "get_workspace", "outputSchema": null }, { "description": "Get the current month's send count, contact count, and plan limits.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "apiKey": { "description": "Send16 API key (overrides SEND16_API_KEY env var)", "type": "string" } }, "type": "object" }, "name": "get_workspace_usage", "outputSchema": null }, { "description": "Bulk import contacts from CSV data (min column: email), optionally straight into audiences and/or with tags. This is the tool for cross-app flows — e.g. pulling people out of Gmail, a CRM, or a spreadsheet and landing them in a Send16 audience in one call. Set updateExisting for upsert semantics (safe to re-run).", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "apiKey": { "description": "Send16 API key (overrides SEND16_API_KEY env var)", "type": "string" }, "audienceIds": { "description": "Add all imported contacts to these audience IDs (see list_audiences / create_audience)", "items": { "type": "string" }, "type": "array" }, "csvData": { "description": "CSV string with headers. Required column: \"email\". Optional: \"firstName\", \"lastName\"", "type": "string" }, "tags": { "description": "Tag NAMES to apply to all imported contacts — matched case-insensitively, created if missing", "items": { "type": "string" }, "type": "array" }, "updateExisting": { "default": false, "description": "Whether to update contacts that already exist", "type": "boolean" } }, "required": [ "csvData" ], "type": "object" }, "name": "import_contacts", "outputSchema": null }, { "description": "List Actions. Actions fire a transactional template when a custom event arrives — Plunk-style 'event_name → template' pairings, simpler than full automations.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "apiKey": { "description": "Send16 API key (overrides SEND16_API_KEY env var)", "type": "string" } }, "type": "object" }, "name": "list_actions", "outputSchema": null }, { "description": "List audiences (lists). An audience is a static, manually-managed group of contacts.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "apiKey": { "description": "Send16 API key (overrides SEND16_API_KEY env var)", "type": "string" } }, "type": "object" }, "name": "list_audiences", "outputSchema": null }, { "description": "List active and historical enrollments for an automation.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "apiKey": { "description": "Send16 API key (overrides SEND16_API_KEY env var)", "type": "string" }, "automationId": { "description": "Automation ID", "type": "string" }, "page": { "description": "Page number", "maximum": 9007199254740991, "minimum": 1, "type": "integer" }, "pageSize": { "description": "Results per page (max 100)", "maximum": 100, "minimum": 1, "type": "integer" }, "state": { "enum": [ "active", "completed", "exited", "paused" ], "type": "string" } }, "required": [ "automationId" ], "type": "object" }, "name": "list_automation_enrollments", "outputSchema": null }, { "description": "List all automations in the workspace, including draft/active/paused status and trigger types.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "apiKey": { "description": "Send16 API key (overrides SEND16_API_KEY env var)", "type": "string" } }, "type": "object" }, "name": "list_automations", "outputSchema": null }, { "description": "List email campaigns, newest first. Use `search` to find a past campaign the user describes vaguely ('the invite one', 'that July newsletter') — it matches name and subject case-insensitively; try distinctive words from their description and broaden if no hits.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "apiKey": { "description": "Send16 API key (overrides SEND16_API_KEY env var)", "type": "string" }, "page": { "default": 1, "description": "Page number", "maximum": 9007199254740991, "minimum": 1, "type": "integer" }, "pageSize": { "default": 20, "description": "Results per page (max 100)", "maximum": 100, "minimum": 1, "type": "integer" }, "search": { "description": "Case-insensitive substring match on campaign name or subject", "maxLength": 200, "type": "string" }, "status": { "description": "Filter campaigns by status", "enum": [ "draft", "scheduled", "sending", "sent", "paused" ], "type": "string" } }, "type": "object" }, "name": "list_campaigns", "outputSchema": null }, { "description": "List all contacts with optional filtering by subscription status and tag. Supports pagination.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "apiKey": { "description": "Send16 API key (overrides SEND16_API_KEY env var)", "type": "string" }, "page": { "default": 1, "description": "Page number", "maximum": 9007199254740991, "minimum": 1, "type": "integer" }, "pageSize": { "default": 20, "description": "Results per page (max 100)", "maximum": 100, "minimum": 1, "type": "integer" }, "subscribed": { "description": "Filter by subscription status", "enum": [ "true", "false" ], "type": "string" }, "tagId": { "description": "Filter by tag ID", "type": "string" } }, "type": "object" }, "name": "list_contacts", "outputSchema": null }, { "description": "List inbox conversations. Filter by state, mailbox, label, screener status, or full-text search. Send16's unified inbox combines transactional reply threading with team-managed shared inboxes.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "apiKey": { "description": "Send16 API key (overrides SEND16_API_KEY env var)", "type": "string" }, "label": { "description": "Filter by label slug (comma-separate for multiple)", "type": "string" }, "limit": { "description": "Page size (default 50)", "maximum": 200, "minimum": 1, "type": "integer" }, "mailboxId": { "description": "Filter to one mailbox", "type": "string" }, "search": { "description": "Full-text search across subject + body", "type": "string" }, "state": { "description": "Conversation status", "enum": [ "open", "closed", "archived", "snoozed" ], "type": "string" } }, "type": "object" }, "name": "list_convos", "outputSchema": null }, { "description": "List all sending domains configured in your Send16 workspace, including their verification status and DNS records.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "apiKey": { "description": "Send16 API key (overrides SEND16_API_KEY env var)", "type": "string" } }, "type": "object" }, "name": "list_domains", "outputSchema": null }, { "description": "Get unread/total counts per category and label for the inbox sidebar (newsletter, transactional, marketing, calendar, social, cold).", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "apiKey": { "description": "Send16 API key (overrides SEND16_API_KEY env var)", "type": "string" } }, "type": "object" }, "name": "list_inbox_counts", "outputSchema": null }, { "description": "List messages from the unified send log (transactional + campaign). Filter by recipient, sender, status, date range, or source.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "apiKey": { "description": "Send16 API key (overrides SEND16_API_KEY env var)", "type": "string" }, "created_after": { "description": "ISO-8601 timestamp lower bound", "type": "string" }, "created_before": { "description": "ISO-8601 timestamp upper bound", "type": "string" }, "from_email": { "description": "Sender email filter", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$", "type": "string" }, "limit": { "description": "Page size (default 50)", "maximum": 100, "minimum": 1, "type": "integer" }, "offset": { "description": "Page offset", "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "source": { "description": "Restrict to one message source", "enum": [ "transactional", "campaign" ], "type": "string" }, "status": { "description": "Delivery status filter", "enum": [ "queued", "sent", "delivered", "opened", "clicked", "bounced", "failed" ], "type": "string" }, "to_email": { "description": "Recipient email filter", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$", "type": "string" } }, "type": "object" }, "name": "list_messages", "outputSchema": null }, { "description": "List dynamic segments. Segments compute their members from a filter expression at send time.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "apiKey": { "description": "Send16 API key (overrides SEND16_API_KEY env var)", "type": "string" } }, "type": "object" }, "name": "list_segments", "outputSchema": null }, { "description": "List suppressed email addresses (bounces, complaints, unsubscribes, manual).", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "apiKey": { "description": "Send16 API key (overrides SEND16_API_KEY env var)", "type": "string" }, "limit": { "maximum": 200, "minimum": 1, "type": "integer" }, "offset": { "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "reason": { "enum": [ "bounce", "complaint", "unsubscribe", "manual" ], "type": "string" } }, "type": "object" }, "name": "list_suppressions", "outputSchema": null }, { "description": "List starter-gallery email templates available to every workspace.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "apiKey": { "description": "Send16 API key (overrides SEND16_API_KEY env var)", "type": "string" } }, "type": "object" }, "name": "list_templates", "outputSchema": null }, { "description": "List subscription topics. Topics are granular categories contacts can subscribe to (e.g. 'product-updates', 'weekly-digest'). Campaigns and automations can be gated to subscribers of a specific topic.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "apiKey": { "description": "Send16 API key (overrides SEND16_API_KEY env var)", "type": "string" } }, "type": "object" }, "name": "list_topics", "outputSchema": null }, { "description": "List configured outgoing webhooks (your endpoints that Send16 POSTs delivery events to). Outgoing webhooks are a plan feature.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "apiKey": { "description": "Send16 API key (overrides SEND16_API_KEY env var)", "type": "string" } }, "type": "object" }, "name": "list_webhooks", "outputSchema": null }, { "description": "List workspaces the authenticated user has access to (owner or member).", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "apiKey": { "description": "Send16 API key (overrides SEND16_API_KEY env var)", "type": "string" } }, "type": "object" }, "name": "list_workspaces", "outputSchema": null }, { "description": "Mark a conversation as read for the current viewer.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "apiKey": { "description": "Send16 API key (overrides SEND16_API_KEY env var)", "type": "string" }, "convoId": { "description": "Conversation ID", "type": "string" } }, "required": [ "convoId" ], "type": "object" }, "name": "mark_convo_read", "outputSchema": null }, { "description": "Pause an automation. Existing enrollments freeze in place; no new contacts enroll.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "apiKey": { "description": "Send16 API key (overrides SEND16_API_KEY env var)", "type": "string" }, "automationId": { "description": "Automation ID", "type": "string" } }, "required": [ "automationId" ], "type": "object" }, "name": "pause_automation", "outputSchema": null }, { "description": "Pause a sending campaign. Already-sent messages are unaffected; remaining sends halt.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "apiKey": { "description": "Send16 API key (overrides SEND16_API_KEY env var)", "type": "string" }, "campaignId": { "description": "Campaign ID", "type": "string" } }, "required": [ "campaignId" ], "type": "object" }, "name": "pause_campaign", "outputSchema": null }, { "description": "Run an AI pre-send review on an email's HTML before sending. Surfaces tone issues, broken links, missing alt text, spam triggers, and accessibility problems.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "apiKey": { "description": "Send16 API key (overrides SEND16_API_KEY env var)", "type": "string" }, "audience": { "description": "Short description of the audience (helps tone analysis)", "type": "string" }, "html": { "description": "Full HTML body to review", "type": "string" }, "subject": { "description": "Email subject line", "type": "string" } }, "required": [ "subject", "html" ], "type": "object" }, "name": "pre_send_review", "outputSchema": null }, { "description": "Preview the recipient set for a campaign before sending. Returns count + sample list.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "apiKey": { "description": "Send16 API key (overrides SEND16_API_KEY env var)", "type": "string" }, "campaignId": { "description": "Campaign ID", "type": "string" } }, "required": [ "campaignId" ], "type": "object" }, "name": "preview_campaign_recipients", "outputSchema": null }, { "description": "Preview the contacts that match a segment without sending.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "apiKey": { "description": "Send16 API key (overrides SEND16_API_KEY env var)", "type": "string" }, "segmentId": { "description": "Segment ID", "type": "string" } }, "required": [ "segmentId" ], "type": "object" }, "name": "preview_segment", "outputSchema": null }, { "description": "Rotate the HMAC signing secret for an outgoing webhook endpoint. Returns the new secret once.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "apiKey": { "description": "Send16 API key (overrides SEND16_API_KEY env var)", "type": "string" }, "webhookId": { "description": "Webhook ID", "type": "string" } }, "required": [ "webhookId" ], "type": "object" }, "name": "regenerate_webhook_secret", "outputSchema": null }, { "description": "Remove a contact from an audience.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "apiKey": { "description": "Send16 API key (overrides SEND16_API_KEY env var)", "type": "string" }, "audienceId": { "description": "Audience ID", "type": "string" }, "contactId": { "description": "Contact ID", "type": "string" } }, "required": [ "audienceId", "contactId" ], "type": "object" }, "name": "remove_contact_from_audience", "outputSchema": null }, { "description": "Remove an email from the suppression list. Use only when you've confirmed the recipient wants to receive mail again.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "apiKey": { "description": "Send16 API key (overrides SEND16_API_KEY env var)", "type": "string" }, "email": { "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$", "type": "string" } }, "required": [ "email" ], "type": "object" }, "name": "remove_suppression", "outputSchema": null }, { "description": "Compile an EmailContent JSON object (the shape used by the Send16 builder + templates) into HTML using the platform's authoritative renderer. Returns the exact HTML the API would send. Useful for previews and post-processing.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "apiKey": { "description": "Send16 API key (overrides SEND16_API_KEY env var)", "type": "string" }, "content": { "additionalProperties": {}, "description": "EmailContent JSON (from get_template or the builder)", "propertyNames": { "type": "string" }, "type": "object" }, "variables": { "additionalProperties": { "type": "string" }, "description": "Variable replacements (e.g. {firstName:'Alice'})", "propertyNames": { "type": "string" }, "type": "object" } }, "required": [ "content" ], "type": "object" }, "name": "render_email_content", "outputSchema": null }, { "description": "Resume a paused campaign.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "apiKey": { "description": "Send16 API key (overrides SEND16_API_KEY env var)", "type": "string" }, "campaignId": { "description": "Campaign ID", "type": "string" } }, "required": [ "campaignId" ], "type": "object" }, "name": "resume_campaign", "outputSchema": null }, { "description": "Schedule (or send immediately) an existing draft campaign to an audience/segment/topic.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "apiKey": { "description": "Send16 API key (overrides SEND16_API_KEY env var)", "type": "string" }, "audienceId": { "type": "string" }, "campaignId": { "description": "Campaign ID", "type": "string" }, "scheduleAt": { "description": "ISO-8601 future datetime; omit to send immediately", "type": "string" }, "segmentId": { "type": "string" }, "topicId": { "type": "string" } }, "required": [ "campaignId" ], "type": "object" }, "name": "schedule_campaign", "outputSchema": null }, { "description": "Decide a pending screener conversation (first-time sender). 'allow' lets future emails through, 'reject' blocks, 'cold' marks as cold outreach.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "apiKey": { "description": "Send16 API key (overrides SEND16_API_KEY env var)", "type": "string" }, "convoId": { "description": "Conversation ID", "type": "string" }, "decision": { "description": "Screener decision", "enum": [ "allow", "reject", "cold" ], "type": "string" } }, "required": [ "convoId", "decision" ], "type": "object" }, "name": "screener_decide", "outputSchema": null }, { "description": "Search contacts by email address or name. Returns matching contacts with their tags and subscription status.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "apiKey": { "description": "Send16 API key (overrides SEND16_API_KEY env var)", "type": "string" }, "page": { "default": 1, "description": "Page number", "maximum": 9007199254740991, "minimum": 1, "type": "integer" }, "pageSize": { "default": 20, "description": "Results per page (max 100)", "maximum": 100, "minimum": 1, "type": "integer" }, "query": { "description": "Search query (matches against email, first name, last name)", "minLength": 1, "type": "string" } }, "required": [ "query" ], "type": "object" }, "name": "search_contacts", "outputSchema": null }, { "description": "One-shot broadcast: create a campaign and immediately schedule it to send, in a single call. Pass either an audienceId, segmentId, topicId, or fully-qualified filter. Provide html OR templateSlug.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "apiKey": { "description": "Send16 API key (overrides SEND16_API_KEY env var)", "type": "string" }, "audienceId": { "description": "Send to all contacts in this audience", "type": "string" }, "fromEmail": { "description": "Must be a verified domain", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$", "type": "string" }, "fromName": { "maxLength": 255, "type": "string" }, "html": { "description": "Full HTML body (one of html/templateSlug required)", "type": "string" }, "name": { "description": "Internal campaign name", "maxLength": 255, "minLength": 1, "type": "string" }, "previewText": { "maxLength": 255, "type": "string" }, "replyTo": { "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$", "type": "string" }, "scheduleAt": { "description": "ISO-8601 future datetime; omit to send immediately", "type": "string" }, "segmentId": { "description": "Send to all contacts matching this segment", "type": "string" }, "subject": { "maxLength": 255, "minLength": 1, "type": "string" }, "templateSlug": { "description": "Workspace template slug to use", "type": "string" }, "topicId": { "description": "Send to all subscribers of this topic", "type": "string" } }, "required": [ "name", "subject", "fromName", "fromEmail" ], "type": "object" }, "name": "send_broadcast", "outputSchema": null }, { "description": "Send a test email for an existing campaign to preview how it will look in recipients' inboxes.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "apiKey": { "description": "Send16 API key (overrides SEND16_API_KEY env var)", "type": "string" }, "campaignId": { "description": "Campaign ID to send test for", "type": "string" }, "testEmail": { "description": "Email address to send the test to", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$", "type": "string" } }, "required": [ "campaignId", "testEmail" ], "type": "object" }, "name": "send_campaign_test", "outputSchema": null }, { "description": "Send a transactional email through Send16. Provide `html`, `text`, or both (text-only is fine for OTPs/receipts/alerts). `from_email` must belong to a domain that is verified in the workspace — call `whoami` for the account and `list_domains` to see which senders are allowed; a send from an unverified domain returns a clear error, not a silent failure. For a zero-setup first send, use from_email `[email protected]` — the sandbox sender delivers with no DNS, but only to your own account email.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "apiKey": { "description": "Send16 API key (overrides SEND16_API_KEY env var)", "type": "string" }, "from_email": { "description": "Sender email address (must be from a verified domain)", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$", "type": "string" }, "from_name": { "description": "Sender display name (e.g. \"Acme Co\")", "maxLength": 255, "type": "string" }, "html": { "description": "HTML body content", "type": "string" }, "reply_to": { "description": "Reply-to email address", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$", "type": "string" }, "subject": { "description": "Email subject line", "maxLength": 255, "type": "string" }, "template": { "description": "Transactional template slug to use instead of inline content", "type": "string" }, "text": { "description": "Plain text body content", "type": "string" }, "to": { "anyOf": [ { "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$", "type": "string" }, { "items": { "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$", "type": "string" }, "maxItems": 50, "minItems": 1, "type": "array" } ], "description": "Recipient email address or array of addresses (max 50)" }, "variables": { "additionalProperties": {}, "description": "Template variables for merge tags", "propertyNames": { "type": "string" }, "type": "object" } }, "required": [ "to", "subject" ], "type": "object" }, "name": "send_email", "outputSchema": null }, { "description": "Fire a custom event for a contact. Automations whose trigger is `{type:'custom_event', eventName:'<name>'}` will enroll the contact and start running. Payload is exposed to condition steps as `event.<key>`.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "apiKey": { "description": "Send16 API key (overrides SEND16_API_KEY env var)", "type": "string" }, "contactEmail": { "description": "Contact email (provide either this or contactId)", "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$", "type": "string" }, "contactId": { "description": "Contact UUID (provide either this or contactEmail)", "type": "string" }, "name": { "description": "Event name (e.g. 'trial_started', 'order.placed')", "maxLength": 100, "minLength": 1, "pattern": "^[a-z0-9_.-]+$", "type": "string" }, "occurredAt": { "description": "ISO-8601 timestamp; defaults to now", "type": "string" }, "payload": { "additionalProperties": {}, "description": "Arbitrary JSON metadata available to automation conditions", "propertyNames": { "type": "string" }, "type": "object" } }, "required": [ "name" ], "type": "object" }, "name": "send_event", "outputSchema": null }, { "description": "Reply to an inbox conversation. The reply is sent from the original recipient address (the alias the convo arrived on) and threaded back to the contact.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "apiKey": { "description": "Send16 API key (overrides SEND16_API_KEY env var)", "type": "string" }, "convoId": { "description": "Conversation ID", "type": "string" }, "html": { "description": "HTML body of the reply", "type": "string" }, "text": { "description": "Plain text body of the reply", "type": "string" } }, "required": [ "convoId" ], "type": "object" }, "name": "send_reply", "outputSchema": null }, { "description": "Update an Action (toggle enabled, change template, change event name).", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "actionId": { "description": "Action ID", "type": "string" }, "apiKey": { "description": "Send16 API key (overrides SEND16_API_KEY env var)", "type": "string" }, "delaySeconds": { "maximum": 9007199254740991, "minimum": 0, "type": "integer" }, "enabled": { "type": "boolean" }, "eventName": { "type": "string" }, "name": { "type": "string" }, "sendOnce": { "type": "boolean" }, "templateSlug": { "type": "string" } }, "required": [ "actionId" ], "type": "object" }, "name": "update_action", "outputSchema": null }, { "description": "Update workspace brand settings. The designSpec field is a Markdown DESIGN.md document fed into AI generation system prompts — use it to encode voice, do/don't lists, and visual rules.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "apiKey": { "description": "Send16 API key (overrides SEND16_API_KEY env var)", "type": "string" }, "designSpec": { "description": "Markdown DESIGN.md spec for AI generation", "type": "string" }, "fontFamily": { "description": "Body font family", "type": "string" }, "logoUrl": { "format": "uri", "type": "string" }, "primaryColor": { "description": "Hex color (e.g. '#4F46E5')", "type": "string" }, "secondaryColor": { "description": "Hex color", "type": "string" } }, "type": "object" }, "name": "update_brand", "outputSchema": null }, { "description": "Update a draft campaign: name, subject, preview text, sender info, HTML content, and/or recipients. Retarget with exactly ONE of audienceIds / segmentId / contactIds / tagIds / sendToAll, then verify with preview_campaign_recipients before sending. Only drafts can be edited.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "apiKey": { "description": "Send16 API key (overrides SEND16_API_KEY env var)", "type": "string" }, "audienceIds": { "description": "Retarget to these audience IDs (see list_audiences). Sets recipient type 'lists'.", "items": { "type": "string" }, "type": "array" }, "campaignId": { "description": "Campaign ID", "type": "string" }, "contactIds": { "description": "Retarget to these specific contact IDs", "items": { "type": "string" }, "type": "array" }, "fromEmail": { "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$", "type": "string" }, "fromName": { "type": "string" }, "html": { "type": "string" }, "name": { "description": "Campaign name (internal label)", "maxLength": 100, "minLength": 1, "type": "string" }, "previewText": { "type": "string" }, "replyTo": { "format": "email", "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$", "type": "string" }, "segmentId": { "description": "Retarget to this segment (see list_segments)", "type": "string" }, "sendToAll": { "description": "Retarget to all subscribed contacts in the workspace", "type": "boolean" }, "subject": { "type": "string" }, "tagIds": { "description": "Retarget to contacts with these tag IDs", "items": { "type": "string" }, "type": "array" } }, "required": [ "campaignId" ], "type": "object" }, "name": "update_campaign", "outputSchema": null }, { "description": "Update a contact's profile fields, custom fields, or subscription state.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "apiKey": { "description": "Send16 API key (overrides SEND16_API_KEY env var)", "type": "string" }, "contactId": { "description": "Contact ID", "type": "string" }, "customFields": { "additionalProperties": {}, "propertyNames": { "type": "string" }, "type": "object" }, "firstName": { "type": "string" }, "lastName": { "type": "string" }, "subscribed": { "type": "boolean" } }, "required": [ "contactId" ], "type": "object" }, "name": "update_contact", "outputSchema": null }, { "description": "Update conversation status (open/closed/archived/snoozed) or assignee.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "apiKey": { "description": "Send16 API key (overrides SEND16_API_KEY env var)", "type": "string" }, "assigneeId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Workspace member user ID, or null to unassign" }, "convoId": { "description": "Conversation ID", "type": "string" }, "state": { "description": "New status", "enum": [ "open", "closed", "archived", "snoozed" ], "type": "string" } }, "required": [ "convoId" ], "type": "object" }, "name": "update_convo", "outputSchema": null }, { "description": "Update a subscription topic (name, description, default).", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "apiKey": { "description": "Send16 API key (overrides SEND16_API_KEY env var)", "type": "string" }, "description": { "type": "string" }, "isDefault": { "type": "boolean" }, "name": { "type": "string" }, "topicId": { "description": "Topic ID", "type": "string" } }, "required": [ "topicId" ], "type": "object" }, "name": "update_topic", "outputSchema": null }, { "description": "Verify the API key and return the authenticated workspace: name, plan, email quota (used/limit), and owner. Call this first to confirm the key works before sending. Pair with list_domains to see which `from` addresses are allowed.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "apiKey": { "description": "Send16 API key (overrides SEND16_API_KEY env var)", "type": "string" } }, "type": "object" }, "name": "whoami", "outputSchema": null } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:a8fa83fe52e744ec2e01d0e922a4e74e62da2109c8422d4f4edd6d1cf18362e9 | sha256sum