Skip to main content
Glama

Create a discount code

tito_create_discount_code
Destructive

Create a discount code for an event. type is PercentOffDiscountCode (value = percent) or MoneyOffDiscountCode (value = flat amount off per ticket, in the event currency). Undo by editing it (e.g. quantity or end_at) with tito_update_discount_code. Tito: POST /:account/:event/discount_codes.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
codeYesThe code attendees enter, e.g. SAVE10.
typeYesPercentOffDiscountCode = percentage off; MoneyOffDiscountCode = flat amount off per ticket.
valueYesThe amount off per ticket as a decimal string, e.g. "10.0".
end_atNoWhen the code stops working (ISO 8601 datetime).
quantityNoHow many tickets can use this code in total.
start_atNoWhen the code starts working (ISO 8601 datetime).
event_slugYesThe event slug (the second part of https://ti.to/<account>/<event>), e.g. 2026.
release_idsNoRelease ids the code applies to (empty = all).
account_slugNoThe account slug (the first part of https://ti.to/<account>/<event>). Optional if TITO_ACCOUNT is set; tito_whoami lists the accounts this token can reach.
reveal_secretNoReveal secret releases when the code is applied. Default false.
only_show_attachedNoWhen the code is applied, show only the releases attached to it. Default false.
max_quantity_per_releaseNoThe discount applies to at most this many tickets per release.
min_quantity_per_releaseNoThe discount applies only if at least this many tickets are selected.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
  2. First observed

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With only destructiveHint=true in annotations, the description adds genuinely useful behavior: there is no delete path (undo is done by editing quantity or end_at), plus the underlying endpoint POST /:account/:event/discount_codes. It does not explain what object is returned or what happens on duplicate codes, so it stays short of a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, front-loaded with the action and the semantic distinction that matters (percent vs flat), then the edit-to-undo note. No filler and nothing buried.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 13-parameter creation tool with no output schema and only a destructiveHint annotation, the description covers the essential calling semantics and the reversal path. It omits what the call returns and any note on error/duplicate handling, but that is a minor gap given full schema coverage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all 13 parameters, including the type enum and value format. The description restates the type/value semantics and adds only the 'in the event currency' detail, which is a marginal gain over the schema baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a concrete verb and resource ('Create a discount code') and scopes it ('for an event'), so an agent can tell it apart from tito_list_discount_codes, tito_get_discount_code, and tito_update_discount_code without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It points to tito_update_discount_code as the undo path, which usefully frames the create/edit lifecycle, but there is no explicit when-to-use or when-not-to-use guidance and no statement of prerequisites (e.g. account slug resolution, permissions).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.