Humanitix API and MCP server Let your AI agent run your Humanitix events.

Refund tickets, issue comps, make discount codes and email buyers in Humanitix. Use it in ChatGPT, Claude or any AI agent over MCP, or in n8n, Make and scripts over REST.

  • Free 7-day trial, no card
  • Unofficial, not affiliated with Humanitix
Humanitix logo Humanitix Cloud Browser

12 tools Read and write

Order to door

What can you automate in Humanitix? Use an AI agent, a workflow or a script.

  • Refund tickets for guests who cannot come

  • Cancel an event and tell buyers first

  • Issue complimentary tickets from a guest list

  • Create discount codes for members

  • Email a reminder before every event

  • Resend lost order confirmations

No refund API

Does Humanitix have an MCP server or an API? An API that reads, no MCP server.

Humanitix has a public API (v1.29.3) that reads events, orders, tickets and tags and can check a ticket in or out, but no MCP server and no endpoint to refund, comp, create a discount code or send an email (checked 31 Oct 2026). Cotlet runs 12 Humanitix tools hosted, over MCP for agents and REST for scripts.

  • The API key comes from account > advanced > public API key. A new key breaks the old one, and the limit is 200 requests a minute.
  • Zapier has 6 Humanitix triggers, from New Order to New Attendee Check-In, and one search, Search Events. It has no action that changes an order.
  • A community MCP server on GitHub wraps the same API with 9 read-only tools.
Humanitix on Zapier, its public API and Cotlet compared
What you need ZapierHumanitix APICotlet
Read events, orders and tickets Search events, new-order triggers Yes Yes
Refund or cancel tickets No No Yes, after your OK
Complimentary tickets No No Yes, after your OK
Discount codes No No Yes, after your OK
Email campaigns to buyers No No Yes, after your OK
Works without writing code Yes No Yes

Checked 31 Oct 2026. Sources: Humanitix Help: Public API documentation · Humanitix Public API: OpenAPI spec · Humanitix on Zapier · Humanitix Help: Zapier

Set up once

How does Cotlet connect to Humanitix? One account, two ways to connect.

  1. 1Sign in to Humanitix

    Use your own account in its Cotlet Cloud Browser.

  2. 2Choose MCP or REST

    Connect your agent or create a Cotlet API key.

  3. 3Run your workflow

    Ask your agent or send an HTTP request.

We never keep your Humanitix password, and no refund, ticket or email goes out until you approve it. Who can see your session

Any MCP client

Connect Humanitix to your agent or workflow

Use MCP with your AI agent, or HTTP requests in n8n, Make, Zapier and scripts. Follow the MCP setup below or jump to the REST guide.

  1. 1

    Enable Humanitix for agents. Open a free Cotlet account, log in to Humanitix in its Cloud Browser and press Enable for agents.

  2. 2

    Add the Cotlet address. Enter https://cotlet.dev/mcp/v1 as a new MCP server or connector in your agent.

  3. 3

    Sign the connection. Chat apps open a Cotlet sign-in page. Code editors, n8n and scripts use an API key from the console.

Humanitix rides on https://cotlet.dev/mcp/v1 together with the other apps on your account. If you switch Humanitix on after connecting, refresh the connector to load the ticket and order tools.

Claude
Settings > Connectors > Add custom connector
URL: https://cotlet.dev/mcp/v1/connect

Claude Code:
claude mcp add --transport http cotlet-humanitix \
  https://cotlet.dev/mcp/v1 \
  --header "Authorization: Bearer $COTLET_API_KEY"
ChatGPT
Settings > Apps & Connectors > Create
MCP server URL: https://cotlet.dev/mcp/v1/connect
Authentication: OAuth
Cursor
// ~/.cursor/mcp.json
{
  "mcpServers": {
    "cotlet-humanitix": {
      "url": "https://cotlet.dev/mcp/v1",
      "headers": { "Authorization": "Bearer ${env:COTLET_API_KEY}" }
    }
  }
}
Codex
# ~/.codex/config.toml
[mcp_servers.cotlet-humanitix]
url = "https://cotlet.dev/mcp/v1"
bearer_token_env_var = "COTLET_API_KEY"
n8n
MCP Client Tool (inside an AI Agent)
Transport: HTTP Streamable
URL: https://cotlet.dev/mcp/v1
Auth: Bearer, <your key>
Tool: humanitix_read
Make, Zapier
Make: MCP Client > Call a tool
Zapier: MCP Client by Zapier > Run Tool
Server URL: https://cotlet.dev/mcp/v1
Token: <your key>
Tool: humanitix_write
Scripts and HTTP

How to use the Humanitix REST API

Create your Cotlet API key

Create a Cotlet API key with access to Humanitix and its read operations. Store it as COTLET_API_KEY in your environment or automation platform's credential store.

Connect Humanitix in Cotlet and enable it for agents. Account access: Your own Humanitix host account (it must open the events, orders and email campaigns your agent works on).

Make your first Humanitix API request

REST
curl https://cotlet.dev/api/v1/humanitix/events \
  -H "Authorization: Bearer $COTLET_API_KEY"

Read events and apply the operation limits

A successful REST call puts the tool output in result. This illustrative response excerpt omits call IDs, messages and credit details.

Illustrative response excerpt
{
  "status": "success",
  "app": "humanitix",
  "tool": "list_events",
  "result": {
    "events": [
      {
        "event_id": "6531a0c4e2b7d4001f3c91a2",
        "name": "Harbour Quiz Night",
        "starts_at": "2026-11-14T19:00:00+11:00",
        "status": "published",
        "tickets_sold": 132
      },
      {
        "event_id": "6531a1d8e2b7d4001f3c91b7",
        "name": "Kids Craft Morning",
        "starts_at": "2026-11-21T10:00:00+11:00",
        "status": "published",
        "tickets_sold": 57
      }
    ],
    "next_cursor": null
  }
}

Lists the events on the events tab. Each row carries the event_id the other tools take, the start date, whether the event is published and the tickets sold.

Use get_event for ticket types and settings.

cursor: Next page cursor from the previous call.

Keep the same selection when continuing a list. Compare changed record values as well as identifiers when refreshing your destination.

Humanitix workflows for agents and automations

Humanitix workflows you configure
ToolConnect throughExample workflow
n8nHTTP RequestSchedule a reminder email to the buyers of each event this week. Use send_email_campaign; each call waits for your approval by default.
MakeHTTP > Make a requestCreate a discount code for each member on a sheet. Use create_discount_code; each call waits for your approval by default.
Python or Node.jsREST APISearch the orders of an event by email, name or order ID. Use list_orders with the event_id from this list.

Send Authorization: Bearer <your Cotlet API key> in request headers. You configure the schedule, destination and record comparisons.

Cotlet reads Humanitix; your workflow steps write to your chosen destination. These HTTP workflows do not require a native Cotlet connector or a prebuilt template.

Python and Node.js can use the same HTTP requests without an AI agent. Keep access keys in credentials, outside shared workflow exports.

The API and MCP reference lists operations and inputs. The REST API guide explains authentication, errors and approvals.

5 read, 7 write

Humanitix API endpoints and MCP tools

Events, orders and attendees5

Orders are found by order ID, name or email, the three keys Humanitix searches by. Answers to per-ticket checkout questions sit with the attendees.

  • list_events Your events with date, status and tickets sold. read

    Lists the events on the events tab. Each row carries the event_id the other tools take, the start date, whether the event is published and the tickets sold. Use get_event for ticket types and settings.

    MCP callhumanitix_read → list_events

    REST endpointGET https://cotlet.dev/api/v1/humanitix/events

    Parameters

    Parameters: list_events
    NameTypeDescription
    cursor string string Next page cursor from the previous call.

    Example response

    {
      "events": [
        {
          "event_id": "6531a0c4e2b7d4001f3c91a2",
          "name": "Harbour Quiz Night",
          "starts_at": "2026-11-14T19:00:00+11:00",
          "status": "published",
          "tickets_sold": 132
        },
        {
          "event_id": "6531a1d8e2b7d4001f3c91b7",
          "name": "Kids Craft Morning",
          "starts_at": "2026-11-21T10:00:00+11:00",
          "status": "published",
          "tickets_sold": 57
        }
      ],
      "next_cursor": null
    }
  • get_event One event with its dates, ticket types and sales. read

    Returns the event page settings you see under Manage: dates, location, ticket types with price and capacity, and whether sales are stopped. Ticket type IDs from here feed create_manual_order and create_discount_code.

    MCP callhumanitix_read → get_event

    REST endpointGET https://cotlet.dev/api/v1/humanitix/events/{event_id}

    Parameters

    Parameters: get_event
    NameTypeDescription
    event_id string required string Event ID from list_events.

    Example input

    {
      "event_id": "event_8c41d2"
    }

    Example response

    {
      "event_id": "6531a0c4e2b7d4001f3c91a2",
      "name": "Harbour Quiz Night",
      "status": "published",
      "sales_stopped": false,
      "starts_at": "2026-11-14T19:00:00+11:00",
      "ticket_types": [
        {
          "ticket_type_id": "tt_general",
          "name": "General admission",
          "price": 25,
          "capacity": 120,
          "sold": 98
        },
        {
          "ticket_type_id": "tt_concession",
          "name": "Concession",
          "price": 15,
          "capacity": 40,
          "sold": 34
        }
      ]
    }
  • list_orders Orders of an event, searchable by order ID, name or email. read

    Does what the orders report does: Humanitix searches orders by Order ID, name or email address. Each row has the order status, the total and the number of tickets. Use get_order for the tickets inside an order.

    MCP callhumanitix_read → list_orders

    REST endpointGET https://cotlet.dev/api/v1/humanitix/events/{event_id}/orders

    Parameters

    Parameters: list_orders
    NameTypeDescription
    event_id string required string Event ID from list_events.
    query string string Order ID, buyer name or email address.
    cursor string string Next page cursor from the previous call.

    Example input

    {
      "event_id": "event_8c41d2"
    }

    Example response

    {
      "orders": [
        {
          "order_id": "K4TR9WNB",
          "buyer": "Maria Jensen",
          "email": "maria.jensen@example.com",
          "status": "complete",
          "total": 65,
          "currency": "AUD",
          "tickets": 2
        },
        {
          "order_id": "Q8LM2XZD",
          "buyer": "Tom Berg",
          "email": "tom.berg@example.com",
          "status": "complete",
          "total": 25,
          "currency": "AUD",
          "tickets": 1
        }
      ],
      "next_cursor": null
    }
  • get_order One order with its tickets and payment details. read

    Returns the buyer, the tickets of the order with ticket type, price and status, and the payment total. Cancelled tickets stay on the order, because Humanitix never deletes an order; they drop out of the attendees report only.

    MCP callhumanitix_read → get_order

    REST endpointGET https://cotlet.dev/api/v1/humanitix/events/{event_id}/orders/{order_id}

    Parameters

    Parameters: get_order
    NameTypeDescription
    event_id string required string Event ID from list_events.
    order_id string required string Order ID from list_orders, the short code buyers see, for example K4TR9WNB.

    Example input

    {
      "event_id": "event_8c41d2",
      "order_id": "order_8c41d2"
    }

    Example response

    {
      "order_id": "K4TR9WNB",
      "buyer": "Maria Jensen",
      "email": "maria.jensen@example.com",
      "status": "complete",
      "currency": "AUD",
      "tickets": [
        {
          "ticket_id": "tk_70211",
          "ticket_type": "General admission",
          "price": 25,
          "status": "valid"
        },
        {
          "ticket_id": "tk_70212",
          "ticket_type": "General admission",
          "price": 25,
          "status": "valid"
        },
        {
          "ticket_id": "tk_70213",
          "ticket_type": "Concession",
          "price": 15,
          "status": "valid"
        }
      ],
      "total": 65
    }
  • list_attendees Ticket holders of an event, filtered by ticket type or cancelled tickets. read

    Does what manage attendees > attendees does: one row per ticket holder with ticket type and check-in state. The filters match the ones in the app: ticket type, event date and cancelled tickets. Answers to per-ticket checkout questions appear here, not in the orders report.

    MCP callhumanitix_read → list_attendees

    REST endpointGET https://cotlet.dev/api/v1/humanitix/events/{event_id}/attendees

    Parameters

    Parameters: list_attendees
    NameTypeDescription
    event_id string required string Event ID from list_events.
    ticket_type string string Only tickets of this ticket type name.
    cancelled boolean boolean Only cancelled tickets when true. Default false.
    cursor string string Next page cursor from the previous call.

    Example input

    {
      "event_id": "event_8c41d2"
    }

    Example response

    {
      "attendees": [
        {
          "ticket_id": "tk_70211",
          "name": "Maria Jensen",
          "ticket_type": "General admission",
          "checked_in": false
        },
        {
          "ticket_id": "tk_70213",
          "name": "Lena Koch",
          "ticket_type": "Concession",
          "checked_in": false
        }
      ],
      "next_cursor": null
    }

Refunds, resends and stopping sales3

Refunds go back to the card used and take 2 to 5 business days. A cancelled ticket is restocked. A resend goes to the address on the order.

  • refund_tickets Cancel tickets of an order, refund them, or both. writeasks first

    Does what actions > cancel/refund does on an order. By default it cancels the chosen tickets (all if ticket_ids is empty) and refunds their net ticket sale to the card used, which takes 2 to 5 business days. amount overrides the refund: 0 cancels without refunding, a smaller figure is a partial refund. cancel false refunds without cancelling. Cancelled tickets are restocked. Humanitix refunds only if funds are available and never to another card. A swapped ticket cannot be refunded; refund the original order. By default you confirm each call; you can switch that off for this tool.

    MCP callhumanitix_write → refund_tickets

    REST endpointPOST https://cotlet.dev/api/v1/humanitix/events/{event_id}/tickets/refund

    Parameters

    Parameters: refund_tickets
    NameTypeDescription
    event_id string required string Event ID from list_events.
    order_id string required string Order ID from list_orders, the short code buyers see, for example K4TR9WNB.
    ticket_ids array array Ticket IDs from get_order. Omit to cancel every ticket of the order.
    amount number number Refund amount in the order currency. Default is the net ticket sale of the chosen tickets; 0 cancels without a refund.
    cancel boolean boolean Cancel the tickets as well. Default true; false refunds only.

    Example input

    {
      "event_id": "6531a0c4e2b7d4001f3c91a2",
      "order_id": "K4TR9WNB",
      "ticket_ids": [
        "tk_70211",
        "tk_70212"
      ]
    }

    Example response

    {
      "order_id": "K4TR9WNB",
      "cancelled_tickets": [
        "tk_70211",
        "tk_70212"
      ],
      "refunded": 50,
      "currency": "AUD",
      "status": "refund_requested"
    }
  • resend_order Email the order confirmation and digital tickets to the buyer again. writeasks first

    Does what actions > resend order does: Humanitix emails the confirmation with the view tickets button to the address on the order. For a mistyped address the order must be corrected first; this tool does not edit the address. Humanitix keeps no log of when an order was resent. By default you confirm each call; you can switch that off for this tool.

    MCP callhumanitix_write → resend_order

    REST endpointPOST https://cotlet.dev/api/v1/humanitix/events/{event_id}/orders/{order_id}/resend

    Parameters

    Parameters: resend_order
    NameTypeDescription
    event_id string required string Event ID from list_events.
    order_id string required string Order ID from list_orders, the short code buyers see, for example K4TR9WNB.

    Example input

    {
      "event_id": "event_8c41d2",
      "order_id": "order_8c41d2"
    }

    Example response

    {
      "order_id": "K4TR9WNB",
      "sent_to": "maria.jensen@example.com",
      "status": "sent"
    }
  • stop_sales Stop all ticket sales of an event. writeasks first

    Does what "..." > stop sales does. Use it first when an event cannot go ahead, then email buyers, then refund. It stops new orders only; existing tickets stay valid until you cancel them. By default you confirm each call; you can switch that off for this tool.

    MCP callhumanitix_write → stop_sales

    REST endpointPOST https://cotlet.dev/api/v1/humanitix/events/{event_id}/sales/stop

    Parameters

    Parameters: stop_sales
    NameTypeDescription
    event_id string required string Event ID from list_events.

    Example input

    {
      "event_id": "event_8c41d2"
    }

    Example response

    {
      "event_id": "6531a0c4e2b7d4001f3c91a2",
      "sales_stopped": true
    }

Complimentary tickets and codes2

Comps count toward capacity and can exceed it. A discount code applies per ticket, not to a packaged ticket.

  • create_manual_order Issue complimentary tickets to a guest through a manual order. writeasks first

    Does what + new manual order with the complimentary payment type does: tickets worth 0 for VIPs, sponsors and guest lists. They count toward capacity and can push sales above it, so check availability with get_event first. skip_emails stops the confirmation email; otherwise the guest gets their digital ticket at once. By default you confirm each call; you can switch that off for this tool.

    MCP callhumanitix_write → create_manual_order

    REST endpointPOST https://cotlet.dev/api/v1/humanitix/events/{event_id}/manual-orders

    Parameters

    Parameters: create_manual_order
    NameTypeDescription
    event_id string required string Event ID from list_events.
    ticket_type string required string Ticket type name from get_event.
    quantity integer required integer Number of tickets.
    first_name string required string Buyer first name.
    last_name string required string Buyer last name.
    email string required string Buyer email address.
    skip_emails boolean boolean Do not send the order confirmation. Default false.
    note string string Internal note on the order.

    Example input

    {
      "event_id": "event_8c41d2",
      "ticket_type": "ticket type",
      "quantity": 1,
      "first_name": "first name",
      "last_name": "last name",
      "email": "jane@example.com"
    }

    Example response

    {
      "order_id": "W3HD7PCA",
      "payment_type": "complimentary",
      "tickets": 2,
      "total": 0,
      "confirmation_sent": true
    }
  • create_discount_code Create a percentage or fixed-amount discount code for an event. writeasks first

    Does what promote > discounts > create discount code does. The name is the code buyers type at checkout. The discount applies per ticket, not to a packaged ticket. quantity caps uses across all orders and max_per_order caps discounted tickets in one order. valid_from and valid_to set the timeframe. A code gives buyers a lower price, so each call needs your OK by default; delete or edit it in the app to undo. By default you confirm each call; you can switch that off for this tool.

    MCP callhumanitix_write → create_discount_code

    REST endpointPOST https://cotlet.dev/api/v1/humanitix/events/{event_id}/discount-codes

    Parameters

    Parameters: create_discount_code
    NameTypeDescription
    event_id string required string Event ID from list_events.
    code string required string The code buyers enter.
    type string required string percentage or fixed_amount.
    value number required number Percent off, or amount off in the event currency.
    ticket_types array array Ticket type names. Omit for all ticket types.
    quantity integer integer How many times the code can be used in total.
    max_per_order integer integer Most tickets one order can discount.
    valid_from datetime datetime Start of the timeframe.
    valid_to datetime datetime End of the timeframe.

    Example input

    {
      "event_id": "event_8c41d2",
      "code": "code",
      "type": "type",
      "value": 1
    }

    Example response

    {
      "event_id": "6531a0c4e2b7d4001f3c91a2",
      "code": "CHOIR20",
      "type": "percentage",
      "value": 20,
      "ticket_types": [
        "General admission"
      ],
      "quantity": 30,
      "status": "active"
    }

Emails and copies2

A campaign reaches buyers, or attendees if you collected an email per ticket. A duplicated event is a draft that nobody sees.

  • send_email_campaign Email the buyers or attendees of an event now or on a schedule. writeasks first

    Does what email campaigns > new campaign does. recipients is buyers or all (buyers and attendees); attendees only get it if you collected an email per ticket. send_at is now, a date and time, or a number of hours before or after the event; before-event sends repeat for each date of a recurring event. Shortcuts such as @FirstName and @EventName fill in per buyer. Send it before you refund a cancelled event: once tickets are refunded, campaigns can no longer reach those ticket holders. By default you confirm each call; you can switch that off for this tool.

    MCP callhumanitix_write → send_email_campaign

    REST endpointPOST https://cotlet.dev/api/v1/humanitix/email-campaigns

    Parameters

    Parameters: send_email_campaign
    NameTypeDescription
    event_ids array required array Event IDs from list_events.
    name string required string Internal campaign name.
    subject string required string Subject line.
    message string required string Message body. Supports @FirstName, @EventName, @EventShortDate, @EventLocation.
    recipients string string buyers or all. Default buyers.
    send_at string string now, an ISO date and time, or "2 days before" / "1 day after" the event. Default now.

    Example input

    {
      "event_ids": "event ids",
      "name": "Jane Doe",
      "subject": "subject",
      "message": "message"
    }

    Example response

    {
      "campaign": "Quiz night reminder",
      "events": [
        "6531a0c4e2b7d4001f3c91a2"
      ],
      "recipients": "buyers",
      "scheduled_for": "2 days before the event",
      "status": "scheduled"
    }
  • duplicate_event Copy an event into a new draft. write

    Does what the "..." menu > duplicate event does. It creates a draft with the event information, dates, ticket types, checkout questions, styling and settings; sales, attendees, access codes, discount codes, sales start and end dates and past dates of a recurring event are not copied. The draft reaches no one and nothing is published, so it needs no approval. Delete the draft in Humanitix to undo it.

    MCP callhumanitix_write → duplicate_event

    REST endpointPOST https://cotlet.dev/api/v1/humanitix/events/{event_id}/duplicate

    Parameters

    Parameters: duplicate_event
    NameTypeDescription
    event_id string required string Event ID from list_events.
    name string required string Name of the new draft; make it unique, for example "Harbour Quiz Night 2027".

    Example input

    {
      "event_id": "event_8c41d2",
      "name": "Jane Doe"
    }

    Example response

    {
      "source_event_id": "6531a0c4e2b7d4001f3c91a2",
      "event_id": "6531b7f2e2b7d4001f3c9244",
      "name": "Harbour Quiz Night 2027",
      "status": "draft"
    }
Encrypted, revocable

Who can see my Humanitix session, and how do I revoke it?

  • What we store

    Your logged-in Humanitix profile, AES-256-GCM encrypted, in Finland. No password.

  • What your agent gets

    The 12 Humanitix tools. Never the cookie or your payout details.

  • What the session sees

    What your login opens: events, buyers, emails, answers to checkout questions.

  • What no tool touches

    Payouts, bank details, team members, publishing and deleting events.

  • Use a narrower login if you like

    Humanitix lists team permissions on every plan. Use a login that opens only the events the agent works on.

  • How to cut access

    Disable for agents, reset the browser or delete the API key.

Qualys SSL Labs, securityheaders.com and Mozilla Observatory grade our site A+ (live results). A SOC 2 report or third-party pentest does not exist yet.

Account risk

Is it against Humanitix's terms? Account safety A ban on automated access without permission.

"You will not: ... Access, monitor, extract, or copy any Site Content or information of the Websites using any robot, spider, scraper, or other automated means or any manual process for any purpose without Humanitix's express written permission."
Humanitix Event Host Terms of Use, last updated 11 Sep 2026, read 31 Oct 2026

The terms never mention AI agents. The clause is aimed at scraping, yet "other automated means" can be read to cover an agent that works in your own console. The terms also say that if you share login details, Humanitix "will consider their activities to have been authorised by you". We found no public case of a host suspended for automation (checked 31 Oct 2026). Humanitix can suspend an account under its terms, so decide with that risk in view.

How we keep your account looking like you

  • Your own host login, typed in by you
  • One Cloud Browser with its own IP and cookies
  • Refunds, comps, codes and emails wait for your OK
  • No tool publishes, deletes or pays out
  • If Humanitix objects, we pause the Humanitix tools for everyone within 24 h

Humanitix's API allows 200 requests a minute. The agent works at the speed of a person in the console, so spread a long refund list over an hour, not a few seconds.

Tested every 12 h

What happens when Humanitix changes? We repair the tool; your prompts stay the same.

between tests of the Humanitix order and event reads
12 h
between tests of refunds and emails buyers would get
24 h
for a call to a Humanitix tool paused for repair
$0

When Humanitix reworks the orders report or the refund screen, the fix lands on our side. status.cotlet.dev checks the site, console and API every 3 minutes.

6 tools ask first

Approvals, undo and mistakes No money or email moves until you say so.

  1. 01 Finds the right order Buyer email plus event, so a second event of the same buyer stays untouched.
  2. 02 Reads the tickets Cancelled tickets and swapped tickets are reported, not refunded twice.
  3. 03 Waits for your OK Order, tickets and amount show up in your Cotlet console.
  4. 04 Reports the money Amount per order, skipped orders and buyers not found.
Which Humanitix actions can be undone
ActionUndo
Refund ticketsNo, the money goes back to the buyer's card
Cancel ticketsNo, they are restocked for the next buyer
Resend an order confirmationNo, but a second copy harms nothing
Create complimentary ticketsCancel them with a refund of 0
Create a discount codeChange it by hand under promote > discounts
Send an email campaignNo, once it is sent
Duplicate an eventDelete the draft by hand in Humanitix
Stop ticket salesNot by a tool

6 of the 7 writes ask first: refund_tickets, resend_order, create_manual_order, create_discount_code, send_email_campaign, stop_sales. They move money, email buyers or change the price. duplicate_event makes an unpublished draft, so it runs at once. The 5 reads run at once. Turn the wait off per tool once a nightly run has earned your trust.

Humanitix refunds only if funds are available, and only to the card used. For a cancelled event, send the email campaign first: after refunds the campaign tool no longer reaches those ticket holders.

MCP call
{
  "name": "refund_tickets",
  "arguments": {
    "event_id": "6531a0c4e2b7d4001f3c91a2",
    "order_id": "K4TR9WNB",
    "ticket_ids": [
      "tk_70211",
      "tk_70212"
    ]
  }
}
REST
curl -X POST https://cotlet.dev/api/v1/humanitix/events/6531a0c4e2b7d4001f3c91a2/tickets/refund \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"order_id":"K4TR9WNB","ticket_ids":["tk_70211","tk_70212"]}'
Response
{
  "order_id": "K4TR9WNB",
  "cancelled_tickets": [
    "tk_70211",
    "tk_70212"
  ],
  "refunded": 50,
  "currency": "AUD",
  "status": "refund_requested"
}

A cron job or script reaches the same tools over REST at /api/v1/humanitix, with the same key and price. A Zapier trigger such as New Order can start that script. The tools table lists the REST path of each tool.

Pay per call

How much does the Humanitix MCP server cost?

About $13 a monthfor a host with 3 events a month, 2,220 credits. Humanitix keeps charging its ticket fee as before.

A month of Humanitix jobs for one small host, in credits
JobCallsCredits
Refund a guest who cannot come3 × 6180
Resend a confirmation that never arrived2 × 8160
Complimentary ticket for a guest2 × 10200
Member discount code2 × 5100
Reminder email, weekly2 × 480
Cloud Browser, 30 days1,500
Total2,220
  • Free 7-day trial, no card
  • 10 credits per successful call, MCP or REST
  • 50 credits a day for the Cloud Browser
  • Same price on every plan

The month is our example: 3 events, 6 refunds, 8 resends, 10 comps, 5 discount codes and 4 reminders. Humanitix has no subscription; the Standard fee on its Australian page is 4% + $0.99 per paid ticket, excluding GST (31 Oct 2026). Dollars at the $29 pack rate.

Cotlet credit packs: price, credits and calls at 10 credits each
Credits Price, one time Calls at 10 credits Per 1,000 credits
5,000 $29 500 $5.80
15,000 $79 1,500 $5.27
32,000 $149 3,200 $4.66
60,000 $249 6,000 $4.15

Only successful calls use credits; failed calls and timeouts cost nothing. At a balance of 0 calls pause, never a surprise charge. Authenticate with the Authorization: Bearer header.

Other options

Humanitix MCP server on GitHub, Zapier or hosted: which to use The others read; none refunds.

Other Humanitix tools on GitHub and elsewhere, checked 31 Oct 2026
OptionWhat it doesWhere it stops
kevinnz/humanitix-mcpPython MCP server over the Humanitix API, MIT, 9 tools: events, event dates, orders, tickets, check-in count, sales summary.Read-only, one maintainer, 0 stars, last push 28 Sep 2026. You install it and keep an API key in a local file.
ZapierTriggers for new orders, attendees, check-ins and events; Search Events.No action that refunds, issues or emails.
RakazoAn AI agent that fetches paginated events and tags.Built on the same API, so reads only.
Your own script on the Public APIAll reads, check-in and check-out.Needs a developer, and no refund, comp, code or email endpoint exists.

Pick Zapier to push new orders into a sheet or CRM. Pick the API if you have a developer and need reads at volume. Pick Cotlet when the agent should answer the guest emails: refund, comp, code and remind.

EU company, since 2019

Who runs Cotlet A company you can look up.

Take Group sp. z o.o. builds and runs Cotlet. The company is registered in Poland, EU (VAT PL6342984273), has worked since 2019 and was founded by Bart Krawczyk (Co-founder, CTO) and Jake Slugocki (Co-founder, SEO, sales and marketing). Send questions about the Humanitix tools to contact@cotlet.dev.

Humanitix API and MCP: questions

How do I get access?

Create a free account at https://cotlet.dev, pick Humanitix under Integrations in the console and log in to Humanitix in its Cloud Browser. Your trial starts at once and asks for no card.

How do I connect Humanitix to ChatGPT or Claude?

Sign up at cotlet.dev, log in to Humanitix once in its Cloud Browser and add Cotlet to ChatGPT or Claude, following the steps in your console. No API key is needed. ChatGPT and Claude then work in your Humanitix account through Cotlet, in their phone apps too.

What can ChatGPT do in Humanitix?

With Cotlet, ChatGPT, Claude and other AI agents handle jobs like these in Humanitix: refund tickets for guests who cannot come; cancel an event and tell buyers first; issue complimentary tickets from a guest list. You ask in plain words, and anything that reaches other people waits for your OK first.

Which Humanitix account does my agent need?

Your own host login. Refunds, manual orders, discount codes and email campaigns are host screens, so the account must open them for the event. Cotlet does not use the Humanitix API, which needs an API key from account > advanced and returns data only (checked 31 Oct 2026).

Can my agent refund after the event?

Yes, if funds are available. Humanitix says hosts can process refunds and cancellations anytime and are not bound by the event refund policy. Refunds go only to the card used and take 2 to 5 business days. An order is never deleted.

Does it work in every country?

Humanitix runs country sites for Australia, New Zealand, the US, Canada, the UK and Fiji. You log in with the host account you already use, and the tools follow the screens it shows.

Can the agent publish or delete an event?

No. duplicate_event makes an unpublished draft, and you publish it yourself in Humanitix. No tool deletes an event, an order or a guest.

Is the MCP server different from the REST API?

Only the entrance differs. Both carry the same 12 tools, inputs and answers, one API key and one price. Agents use MCP; scripts and HTTP steps use REST.

Is Cotlet affiliated with Humanitix?

No. Cotlet is independent and not affiliated with Humanitix Limited.

Can I use the Humanitix API without an AI agent?

Yes. Call Cotlet's REST API from a script or an HTTP step in n8n, Make or Zapier with your Cotlet key. MCP is the alternative for AI agents; you do not need to connect an agent to use REST.

Give your agent access to Humanitix.

Free 7-day trial with 2,000 credits, no card needed.