---
canonical_url: "https://docs.composio.dev/toolkits/ticket_tailor_mcp"
markdown_url: "https://docs.composio.dev/toolkits/ticket_tailor_mcp.md"
product: "platform"
version: null
last_updated: null
---

# Ticket Tailor MCP

Ticket Tailor MCP lets agents manage events, ticket types, orders, discounts, products, check-ins, memberships, and reporting for an authorized box office.

- **Category:** model context protocol
- **Auth:** DCR_OAUTH
- **Composio-managed OAuth available?** No
- **Tools:** 77
- **Triggers:** 0
- **Slug:** `TICKET_TAILOR_MCP`
- **Version:** 20260910_00

## Tools

### Bundle create

**Slug:** `TICKET_TAILOR_MCP_BUNDLE_CREATE`

Creates a new bundle in event series. 
Notes for LLMs:
- The MCP tool inputSchema defines the parameters you should provide when calling the tool (e.g., event_series_id, bundle_id, name, price, etc.).
- The API response structure is completely different from the inputSchema - it returns the actual resource data (e.g., id, name, description, created_at, etc.) as defined by the Ticket Tailor API.
- Do not expect the response fields to match the input parameter names. The response will contain the full resource object(s) as returned by the Ticket Tailor API.


#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Name of the bundle |
| `price` | integer | Yes | Price of the bundle in cents |
| `status` | string ("ADMIN_ONLY" | "HIDDEN" | "LOCKED" | "SOLD_OUT" | "ON_SALE" | "UNAVAILABLE") | No | Bundle status |
| `access_code` | string | No | Code to access a protected bundle |
| `booking_fee` | integer | No | Booking fee which is charged per bundle to the customer and the funds are paid to you. We would recommend charging no more than 10% of the bundle price. |
| `description` | string | Yes | Description of the bundle |
| `product_ids` | array | No | List of product IDs included in the bundle. Product id must have the prefix 'pr_' |
| `ticket_types` | array | Yes | List of ticket type IDs included in the bundle. Ticket type id must have the prefix 'tt_' |
| `event_series_id` | string | Yes | The unique identifier for the event series. Must have the prefix 'es_' |

### Bundle delete

**Slug:** `TICKET_TAILOR_MCP_BUNDLE_DELETE`

Delete a bundle. This action is irreversible. The bundle will be permanently removed. 
Notes for LLMs:
- The MCP tool inputSchema defines the parameters you should provide when calling the tool (e.g., event_series_id, bundle_id, name, price, etc.).
- The API response structure is completely different from the inputSchema - it returns the actual resource data (e.g., id, name, description, created_at, etc.) as defined by the Ticket Tailor API.
- Do not expect the response fields to match the input parameter names. The response will contain the full resource object(s) as returned by the Ticket Tailor API.


#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `bundle_id` | string | Yes | The unique identifier for the bundle to delete. Must have the prefix 'bu_' |
| `event_series_id` | string | Yes | The unique identifier for the event series. Must have the prefix 'es_' |

### Bundle update

**Slug:** `TICKET_TAILOR_MCP_BUNDLE_UPDATE`

Updates an existing bundle in event series. 
Notes for LLMs:
- The MCP tool inputSchema defines the parameters you should provide when calling the tool (e.g., event_series_id, bundle_id, name, price, etc.).
- The API response structure is completely different from the inputSchema - it returns the actual resource data (e.g., id, name, description, created_at, etc.) as defined by the Ticket Tailor API.
- Do not expect the response fields to match the input parameter names. The response will contain the full resource object(s) as returned by the Ticket Tailor API.


#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | Name of the bundle |
| `price` | integer | No | Price of the bundle in cents |
| `status` | string ("ADMIN_ONLY" | "HIDDEN" | "LOCKED" | "SOLD_OUT" | "ON_SALE" | "UNAVAILABLE") | No | Bundle status |
| `bundle_id` | string | Yes | The unique identifier for the bundle to update. Must have the prefix 'bu_' |
| `access_code` | string | No | Code to access a protected bundle |
| `booking_fee` | integer | No | Booking fee which is charged per bundle to the customer and the funds are paid to you. We would recommend charging no more than 10% of the bundle price. |
| `description` | string | No | Description of the bundle |
| `product_ids` | array | No | List of product IDs included in the bundle. Product id must have the prefix 'pr_' |
| `ticket_types` | array | No | List of ticket type IDs included in the bundle. Ticket type id must have the prefix 'tt_' |
| `event_series_id` | string | Yes | The unique identifier for the event series. Must have the prefix 'es_' |

### Check in create

**Slug:** `TICKET_TAILOR_MCP_CHECK_IN_CREATE`

Creates a check-in or check-out record for an issued ticket. Check-ins track when attendees arrive at or leave an event. This is essential for event management, attendance tracking, and security. You can check in attendees at the door, track early departures, or manage re-entry. The system prevents duplicate check-ins unless explicitly allowed. These records stack up, so the current check-in state of an issued ticket is the sum of its corresponding records. 
Notes for LLMs:
- The MCP tool inputSchema defines the parameters you should provide when calling the tool (e.g., event_series_id, bundle_id, name, price, etc.).
- The API response structure is completely different from the inputSchema - it returns the actual resource data (e.g., id, name, description, created_at, etc.) as defined by the Ticket Tailor API.
- Do not expect the response fields to match the input parameter names. The response will contain the full resource object(s) as returned by the Ticket Tailor API.


#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `quantity` | number | Yes | The check-in action: 1 for check-in (attendee arriving), -1 for check-out (attendee leaving). Use 1 to mark attendance, -1 to record early departure or re-entry |
| `check_in_at` | integer | No | Unix timestamp (in seconds) when the check-in occurred. If not provided, the current time will be used. Useful for backdating check-ins or bulk imports |
| `local_unique_id` | string | No | A unique identifier to prevent duplicate check-ins when retrying failed operations. If not provided, Ticket Tailor will generate one automatically. Essential for reliable check-in systems |
| `issued_ticket_id` | string | Yes | The unique identifier of the issued ticket to check in or check out. This is the ticket that will be marked as attended or left. Must have the prefix 'it_' |

### Check ins get

**Slug:** `TICKET_TAILOR_MCP_CHECK_INS_GET`

Returns a list of check-ins. 
Notes for LLMs:
- The MCP tool inputSchema defines the parameters you should provide when calling the tool (e.g., event_series_id, bundle_id, name, price, etc.).
- The API response structure is completely different from the inputSchema - it returns the actual resource data (e.g., id, name, description, created_at, etc.) as defined by the Ticket Tailor API.
- Do not expect the response fields to match the input parameter names. The response will contain the full resource object(s) as returned by the Ticket Tailor API.


#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | number | No | The maximum number of items to return. |
| `event_id` | string | No | The event ID of the check-in. Must have the prefix 'ev_' |
| `created_at` | number | No | Unix timestamp for created at date |
| `checked_in_at` | number | No | Unix timestamp that returns items with matched check_in_at value. |
| `created_at_gt` | number | No | Unix timestamp for created at date greater than |
| `created_at_lt` | number | No | Unix timestamp for created at date less than |
| `ending_before` | string | No | The ID of the first item in the next page. |
| `created_at_gte` | number | No | Unix timestamp for created at date greater than or equal to |
| `created_at_lte` | number | No | Unix timestamp for created at date less than or equal to |
| `starting_after` | string | No | The ID of the last item in the previous page.  Notes for LLMs: - Cursor-based (e.g. "or_1234") pagination via the "starting_after" and "ending_before" parameters. - Both parameters take an existing value and return objects oldest to newest (lowest id to highest id). - If both parameters are provided, only "ending_before" is used. - "ending_before" (optional) - Returns objects listed before the named object. - "starting_after" (optional) - Returns objects listed after the named object - "ending_before" and "starting_after" must have prefixes. - "limit" (optional) - Limits the number of results per-page. Maximum: 100 - Example: to get the most recent (latest, newest) records, use "ending_before" parameter with a very large value (e.g. 2147483647) and then reverse the order of the results.  |
| `event_series_id` | string | No | The event series ID of the check-in. Must have the prefix 'es_' |
| `checked_in_at_gt` | number | No | Unix timestamp that returns items with check_in_at greater than the value. |
| `checked_in_at_lt` | number | No | Unix timestamp that returns items with check_in_at less than the value. |
| `issued_ticket_id` | string | No | The issued ticket ID of the check-in. Must have the prefix 'it_' |
| `checked_in_at_gte` | number | No | Unix timestamp that returns items with check_in_at greater than or equal to the value. |
| `checked_in_at_lte` | number | No | Unix timestamp that returns items with check_in_at less than or equal to the value. |

### Checkout form element by id get

**Slug:** `TICKET_TAILOR_MCP_CHECKOUT_FORM_ELEMENT_BY_ID_GET`

Returns a checkout form element by its unique identifier. 
Notes for LLMs:
- The MCP tool inputSchema defines the parameters you should provide when calling the tool (e.g., event_series_id, bundle_id, name, price, etc.).
- The API response structure is completely different from the inputSchema - it returns the actual resource data (e.g., id, name, description, created_at, etc.) as defined by the Ticket Tailor API.
- Do not expect the response fields to match the input parameter names. The response will contain the full resource object(s) as returned by the Ticket Tailor API.


#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `checkout_form_id` | string | Yes | The unique identifier for the checkout form. Must have the prefix 'cf_' |
| `checkout_form_element_id` | string | Yes | The unique identifier for the checkout form element. Must have the prefix 'cfe_' |

### Checkout form elements get

**Slug:** `TICKET_TAILOR_MCP_CHECKOUT_FORM_ELEMENTS_GET`

Returns a list of checkout form elements. 
Notes for LLMs:
- The MCP tool inputSchema defines the parameters you should provide when calling the tool (e.g., event_series_id, bundle_id, name, price, etc.).
- The API response structure is completely different from the inputSchema - it returns the actual resource data (e.g., id, name, description, created_at, etc.) as defined by the Ticket Tailor API.
- Do not expect the response fields to match the input parameter names. The response will contain the full resource object(s) as returned by the Ticket Tailor API.


#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | number | No | The maximum number of items to return. |
| `ending_before` | string | No | The ID of the first item in the next page. |
| `starting_after` | string | No | The ID of the last item in the previous page.  Notes for LLMs: - Cursor-based (e.g. "or_1234") pagination via the "starting_after" and "ending_before" parameters. - Both parameters take an existing value and return objects oldest to newest (lowest id to highest id). - If both parameters are provided, only "ending_before" is used. - "ending_before" (optional) - Returns objects listed before the named object. - "starting_after" (optional) - Returns objects listed after the named object - "ending_before" and "starting_after" must have prefixes. - "limit" (optional) - Limits the number of results per-page. Maximum: 100 - Example: to get the most recent (latest, newest) records, use "ending_before" parameter with a very large value (e.g. 2147483647) and then reverse the order of the results.  |
| `checkout_form_id` | string | Yes | The unique identifier for the checkout form. Must have the prefix 'cf_' |

### Checkout form element update

**Slug:** `TICKET_TAILOR_MCP_CHECKOUT_FORM_ELEMENT_UPDATE`

Updates an existing checkout form element. 
Notes for LLMs:
- The MCP tool inputSchema defines the parameters you should provide when calling the tool (e.g., event_series_id, bundle_id, name, price, etc.).
- The API response structure is completely different from the inputSchema - it returns the actual resource data (e.g., id, name, description, created_at, etc.) as defined by the Ticket Tailor API.
- Do not expect the response fields to match the input parameter names. The response will contain the full resource object(s) as returned by the Ticket Tailor API.


#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `type` | string ("multiCheckbox" | "radio" | "select") | No | The type of the checkout form element |
| `options` | array | No | The list of answers for the checkout form element |
| `question` | string | No | The question for the checkout form element |
| `required` | boolean | No | Whether the checkout form element is required to answer |
| `per_ticket` | boolean | No | Whether the checkout form element is asked globally or per ticket |
| `checkout_form_id` | string | Yes | The unique identifier for the checkout form. Must have the prefix 'cf_' |
| `checkout_form_element_id` | string | Yes | The unique identifier for the checkout form element. Must have the prefix 'cfe_' |

### Checkout forms get

**Slug:** `TICKET_TAILOR_MCP_CHECKOUT_FORMS_GET`

Returns a list of checkout forms. 
Notes for LLMs:
- The MCP tool inputSchema defines the parameters you should provide when calling the tool (e.g., event_series_id, bundle_id, name, price, etc.).
- The API response structure is completely different from the inputSchema - it returns the actual resource data (e.g., id, name, description, created_at, etc.) as defined by the Ticket Tailor API.
- Do not expect the response fields to match the input parameter names. The response will contain the full resource object(s) as returned by the Ticket Tailor API.


#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | number | No | The maximum number of items to return. |
| `ending_before` | string | No | The ID of the first item in the next page. |
| `starting_after` | string | No | The ID of the last item in the previous page.  Notes for LLMs: - Cursor-based (e.g. "or_1234") pagination via the "starting_after" and "ending_before" parameters. - Both parameters take an existing value and return objects oldest to newest (lowest id to highest id). - If both parameters are provided, only "ending_before" is used. - "ending_before" (optional) - Returns objects listed before the named object. - "starting_after" (optional) - Returns objects listed after the named object - "ending_before" and "starting_after" must have prefixes. - "limit" (optional) - Limits the number of results per-page. Maximum: 100 - Example: to get the most recent (latest, newest) records, use "ending_before" parameter with a very large value (e.g. 2147483647) and then reverse the order of the results.  |

### Discount by id get

**Slug:** `TICKET_TAILOR_MCP_DISCOUNT_BY_ID_GET`

Returns a discount by its unique identifier. 
Notes for LLMs:
- The MCP tool inputSchema defines the parameters you should provide when calling the tool (e.g., event_series_id, bundle_id, name, price, etc.).
- The API response structure is completely different from the inputSchema - it returns the actual resource data (e.g., id, name, description, created_at, etc.) as defined by the Ticket Tailor API.
- Do not expect the response fields to match the input parameter names. The response will contain the full resource object(s) as returned by the Ticket Tailor API.


#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `discount_id` | string | Yes | The unique identifier for the discount. Must have the prefix 'di_' |

### Discount create

**Slug:** `TICKET_TAILOR_MCP_DISCOUNT_CREATE`

Creates a discount code that customers can use during checkout to receive reduced pricing. Discount codes are powerful marketing tools that can increase sales, reward loyal customers, or fill seats. You can create percentage-based or fixed-amount discounts, set usage limits, and restrict them to specific ticket types or products. The discount code will be immediately available for customers to use. 
Notes for LLMs:
- The MCP tool inputSchema defines the parameters you should provide when calling the tool (e.g., event_series_id, bundle_id, name, price, etc.).
- The API response structure is completely different from the inputSchema - it returns the actual resource data (e.g., id, name, description, created_at, etc.) as defined by the Ticket Tailor API.
- Do not expect the response fields to match the input parameter names. The response will contain the full resource object(s) as returned by the Ticket Tailor API.


#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `code` | string | Yes | The actual discount code that customers will enter at checkout (e.g., 'EARLYBIRD', 'STUDENT20', 'HOLIDAY50'). Should be memorable and easy to type and preferably unique |
| `name` | string | Yes | A descriptive name for the discount code (e.g., 'Early Bird Discount', 'Student Discount', 'Holiday Special'). This is for internal reference and appears in your admin dashboard |
| `type` | string ("fixed_amount" | "percentage") | Yes | The type of discount: 'fixed_amount' reduces the item price by a specific amount, 'percentage' reduces the price by a percentage of the original cost |
| `price` | integer | No | For fixed_amount discounts, the amount to subtract from the item price in cents (e.g., 1000 = $10.00 off). Required when type is 'fixed_amount' |
| `expires` | integer | No | Unix timestamp (in seconds) when the discount code expires. After this date, the code will no longer be valid. Leave empty for no expiration |
| `products` | array | No | Array of product IDs where this discount can be applied. If empty, the discount applies to all products. Product id must have the prefix 'pr_' |
| `booking_fee` | integer | No | Fixed amount to reduce the booking fee by, in cents (e.g., 500 = $5.00 off booking fee). Can be used with either discount type |
| `max_tickets` | integer | No | Maximum number of tickets in a single order that can use this discount code. Prevents abuse of bulk discounts |
| `min_tickets` | integer | No | Minimum number of tickets that must be purchased in a single order to use this discount code. Useful for encouraging larger purchases |
| `ticket_types` | array | No | Array of ticket type IDs where this discount can be applied. If empty, the discount applies to all ticket types. Ticket type id must have the prefix 'tt_' |
| `price_percent` | integer | No | For percentage discounts, the percentage to reduce the item price by (e.g., 20 = 20% off). Required when type is 'percentage' |
| `max_redemptions` | integer | No | Maximum number of times this discount code can be used across all customers. Once reached, the code becomes invalid. Leave empty for unlimited usage |
| `booking_fee_percent` | integer | No | Percentage to reduce the booking fee by (e.g., 50 = 50% off booking fee). Can be used with either discount type |

### Discount delete

**Slug:** `TICKET_TAILOR_MCP_DISCOUNT_DELETE`

Delete a discount. This action is irreversible. The discount will be permanently removed. 
Notes for LLMs:
- The MCP tool inputSchema defines the parameters you should provide when calling the tool (e.g., event_series_id, bundle_id, name, price, etc.).
- The API response structure is completely different from the inputSchema - it returns the actual resource data (e.g., id, name, description, created_at, etc.) as defined by the Ticket Tailor API.
- Do not expect the response fields to match the input parameter names. The response will contain the full resource object(s) as returned by the Ticket Tailor API.


#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `discount_id` | string | Yes | The unique identifier for the existing discount to delete. Must have the prefix 'di_' |

### Discounts get

**Slug:** `TICKET_TAILOR_MCP_DISCOUNTS_GET`

Returns a list of discounts. 
Notes for LLMs:
- The MCP tool inputSchema defines the parameters you should provide when calling the tool (e.g., event_series_id, bundle_id, name, price, etc.).
- The API response structure is completely different from the inputSchema - it returns the actual resource data (e.g., id, name, description, created_at, etc.) as defined by the Ticket Tailor API.
- Do not expect the response fields to match the input parameter names. The response will contain the full resource object(s) as returned by the Ticket Tailor API.


#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `code` | string | No | The code of the discount |
| `limit` | number | No | The maximum number of items to return. |
| `ending_before` | string | No | The ID of the first item in the next page. |
| `starting_after` | string | No | The ID of the last item in the previous page.  Notes for LLMs: - Cursor-based (e.g. "or_1234") pagination via the "starting_after" and "ending_before" parameters. - Both parameters take an existing value and return objects oldest to newest (lowest id to highest id). - If both parameters are provided, only "ending_before" is used. - "ending_before" (optional) - Returns objects listed before the named object. - "starting_after" (optional) - Returns objects listed after the named object - "ending_before" and "starting_after" must have prefixes. - "limit" (optional) - Limits the number of results per-page. Maximum: 100 - Example: to get the most recent (latest, newest) records, use "ending_before" parameter with a very large value (e.g. 2147483647) and then reverse the order of the results.  |

### Discount update

**Slug:** `TICKET_TAILOR_MCP_DISCOUNT_UPDATE`

Updates an existing discount. 
Notes for LLMs:
- The MCP tool inputSchema defines the parameters you should provide when calling the tool (e.g., event_series_id, bundle_id, name, price, etc.).
- The API response structure is completely different from the inputSchema - it returns the actual resource data (e.g., id, name, description, created_at, etc.) as defined by the Ticket Tailor API.
- Do not expect the response fields to match the input parameter names. The response will contain the full resource object(s) as returned by the Ticket Tailor API.


#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `code` | string | No | Discount code |
| `name` | string | No | A descriptive name given to the discount |
| `type` | string ("fixed_amount" | "percentage") | No | Type of discount. Either a fixed amount or a percentage |
| `price` | integer | No | Price in cents |
| `expires` | integer | No | Discount code's expiry date as Unix timestamp |
| `products` | array | No | An array of associated products with association values ('1' = add, '0' = remove, '' = do nothing) |
| `booking_fee` | integer | No | Booking fee amount in cents |
| `discount_id` | string | Yes | The unique identifier for the existing discount. Must have the prefix 'di_' |
| `ticket_types` | array | No | An array of associated ticket types with association values ('1' = add, '0' = remove, '' = do nothing) |
| `price_percent` | integer | No | Percent of the price |
| `max_redemptions` | integer | No | The maximum number of times this discount can be used |
| `booking_fee_percent` | integer | No | Percent of the booking fee |

### Event by id get

**Slug:** `TICKET_TAILOR_MCP_EVENT_BY_ID_GET`

Returns an event by its unique identifier. 
Notes for LLMs:
- The MCP tool inputSchema defines the parameters you should provide when calling the tool (e.g., event_series_id, bundle_id, name, price, etc.).
- The API response structure is completely different from the inputSchema - it returns the actual resource data (e.g., id, name, description, created_at, etc.) as defined by the Ticket Tailor API.
- Do not expect the response fields to match the input parameter names. The response will contain the full resource object(s) as returned by the Ticket Tailor API.


#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `event_id` | string | Yes | The unique identifier for the event. Must have the prefix 'ev_' |

### Event management

**Slug:** `TICKET_TAILOR_MCP_EVENT_MANAGEMENT`


                <usecases>
                    Create multiple events with single tool call.
                    Create one or more event series.
                    Create one or more event occurrences for one or more new event series.
                    Create one or more event occurrences for one or more existing event series.
                    Create one or more ticket types for one or more new event series.
                    Create one or more ticket types for one or more existing event series.
                    Create one or more ticket groups for one or more new event series.
                    Create one or more ticket groups for one or more existing event series.
                </usecases>
                <instructions>
                    Pass event series related data in eventSeries array to create event series.
                    Pass event occurrences related data in eventOccurrences array to create event occurrences.
                    Pass ticket types related data in ticketTypes array to create ticket types.
                    Pass ticket groups related data in ticketGroups array to create ticket groups.
                    When creating multiple event series with multiple event occurrences and/or multiple ticket types and or multiple ticket groups, use a placeholder for event_series_id in eventOccurrences and ticketTypes and ticketGroups arrays. Placeholder must have a structure of es_placeholder1, es_placeholder2, etc. where the number is the index of the previously created event series.
                    When creating ticket groups and referencing a ticket type that is to be created in the same call, use a placeholder for ticket_type_ids in ticketGroups array. Placeholder must have a structure of tt_placeholder1, tt_placeholder2, etc. where the number is the index of the previously created ticket type.
                    When creating event occurrences or ticket types or ticket groups for an existing event series, use the id of the event series in the event_series_id field.
                    Try to find existing event series first before creating a new one (by name or venue), unless user is explicitly asking to create a new event series.
                    Do not use this tool to update or delete event series, event occurrences or ticket types or ticket groups. Use separate tools for that.
                </instructions>
                <validations>
                    Event occurrence end datetime must be after start datetime.
                    Ticket group can not contain bundle_ids when ticket group has max_quantity, max_per_order or min_per_order populated.
                </validations>
                
Notes for LLMs:
- The MCP tool inputSchema defines the parameters you should provide when calling the tool (e.g., event_series_id, bundle_id, name, price, etc.).
- The API response structure is completely different from the inputSchema - it returns the actual resource data (e.g., id, name, description, created_at, etc.) as defined by the Ticket Tailor API.
- Do not expect the response fields to match the input parameter names. The response will contain the full resource object(s) as returned by the Ticket Tailor API.

            

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `eventSeries` | array | Yes |  |
| `ticketTypes` | array | Yes |  |
| `ticketGroups` | array | Yes |  |
| `eventOccurrences` | array | Yes |  |

### Event occurrence by id get

**Slug:** `TICKET_TAILOR_MCP_EVENT_OCCURRENCE_BY_ID_GET`

Returns an event occurrence by its unique identifier. 
Notes for LLMs:
- The MCP tool inputSchema defines the parameters you should provide when calling the tool (e.g., event_series_id, bundle_id, name, price, etc.).
- The API response structure is completely different from the inputSchema - it returns the actual resource data (e.g., id, name, description, created_at, etc.) as defined by the Ticket Tailor API.
- Do not expect the response fields to match the input parameter names. The response will contain the full resource object(s) as returned by the Ticket Tailor API.


#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `event_series_id` | string | Yes | The unique identifier for the event series. Must have the prefix 'es_' |
| `event_occurrence_id` | string | Yes | The unique identifier for the event occurrence. Must have the prefix 'ev_' |

### Event occurrence delete

**Slug:** `TICKET_TAILOR_MCP_EVENT_OCCURRENCE_DELETE`

Delete event occurrence, only if there are no associated orders. Otherwise, set it as hidden. This action is irreversible. The event occurrence will be permanently removed. 
Notes for LLMs:
- The MCP tool inputSchema defines the parameters you should provide when calling the tool (e.g., event_series_id, bundle_id, name, price, etc.).
- The API response structure is completely different from the inputSchema - it returns the actual resource data (e.g., id, name, description, created_at, etc.) as defined by the Ticket Tailor API.
- Do not expect the response fields to match the input parameter names. The response will contain the full resource object(s) as returned by the Ticket Tailor API.


#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `event_series_id` | string | Yes | The unique identifier for the existing event series. Must have the prefix 'es_' |
| `event_occurrence_id` | string | Yes | The unique identifier for the existing event occurrence to delete. Must have the prefix 'ev_' |

### Event occurrences get

**Slug:** `TICKET_TAILOR_MCP_EVENT_OCCURRENCES_GET`

Returns a list of event occurrences. 
Notes for LLMs:
- The MCP tool inputSchema defines the parameters you should provide when calling the tool (e.g., event_series_id, bundle_id, name, price, etc.).
- The API response structure is completely different from the inputSchema - it returns the actual resource data (e.g., id, name, description, created_at, etc.) as defined by the Ticket Tailor API.
- Do not expect the response fields to match the input parameter names. The response will contain the full resource object(s) as returned by the Ticket Tailor API.


#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | number | No | The maximum number of items to return. |
| `end_at` | number | No | Unix timestamp for end at date |
| `start_at` | number | No | Unix timestamp for start at date |
| `end_at_gt` | number | No | Unix timestamp for end at date greater than |
| `end_at_lt` | number | No | Unix timestamp for end at date less than |
| `end_at_gte` | number | No | Unix timestamp for end at date greater than or equal to |
| `end_at_lte` | number | No | Unix timestamp for end at date less than or equal to |
| `override_id` | string | No | The unique identifier for the override. Must have the prefix 'ov_' |
| `start_at_gt` | number | No | Unix timestamp for start at date greater than |
| `start_at_lt` | number | No | Unix timestamp for start at date less than |
| `start_at_gte` | number | No | Unix timestamp for start at date greater than or equal to |
| `start_at_lte` | number | No | Unix timestamp for start at date less than or equal to |
| `ending_before` | string | No | The ID of the first item in the next page. |
| `starting_after` | string | No | The ID of the last item in the previous page.  Notes for LLMs: - Cursor-based (e.g. "or_1234") pagination via the "starting_after" and "ending_before" parameters. - Both parameters take an existing value and return objects oldest to newest (lowest id to highest id). - If both parameters are provided, only "ending_before" is used. - "ending_before" (optional) - Returns objects listed before the named object. - "starting_after" (optional) - Returns objects listed after the named object - "ending_before" and "starting_after" must have prefixes. - "limit" (optional) - Limits the number of results per-page. Maximum: 100 - Example: to get the most recent (latest, newest) records, use "ending_before" parameter with a very large value (e.g. 2147483647) and then reverse the order of the results.  |
| `event_series_id` | string | Yes | The unique identifier for the event series. Must have the prefix 'es_' |

### Event occurrence update

**Slug:** `TICKET_TAILOR_MCP_EVENT_OCCURRENCE_UPDATE`

Updates an existing event occurrence. 
Notes for LLMs:
- The MCP tool inputSchema defines the parameters you should provide when calling the tool (e.g., event_series_id, bundle_id, name, price, etc.).
- The API response structure is completely different from the inputSchema - it returns the actual resource data (e.g., id, name, description, created_at, etc.) as defined by the Ticket Tailor API.
- Do not expect the response fields to match the input parameter names. The response will contain the full resource object(s) as returned by the Ticket Tailor API.


#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `hidden` | boolean | No | True, if the event is set to hidden. False otherwise |
| `end_date` | string | No | Event end date in the YYYY-MM-dd format |
| `end_time` | string | No | Event end time in the HH:ii:ss format |
| `start_date` | string | No | Event start date in the YYYY-MM-dd format |
| `start_time` | string | No | Event start time in the HH:ii:ss format |
| `online_link` | string | No | URL of the online event |
| `override_id` | string | No | The ID of the override that needs to be applied against the event occurrence. Must have the prefix 'ov_' |
| `unavailable` | boolean | No | True, if the event is set to unavailable. False otherwise |
| `event_series_id` | string | Yes | The unique identifier for the existing event series. Must have the prefix 'es_' |
| `unavailable_status` | string | No | Optional custom status message when the event is set to unavailable |
| `event_occurrence_id` | string | Yes | The unique identifier for the existing event occurrence. Must have the prefix 'ev_' |

### Event series by id get

**Slug:** `TICKET_TAILOR_MCP_EVENT_SERIES_BY_ID_GET`

Returns an event series by its unique identifier. 
Notes for LLMs:
- The MCP tool inputSchema defines the parameters you should provide when calling the tool (e.g., event_series_id, bundle_id, name, price, etc.).
- The API response structure is completely different from the inputSchema - it returns the actual resource data (e.g., id, name, description, created_at, etc.) as defined by the Ticket Tailor API.
- Do not expect the response fields to match the input parameter names. The response will contain the full resource object(s) as returned by the Ticket Tailor API.


#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `event_series_id` | string | Yes | The unique identifier for the event series. Must have the prefix 'es_' |

### Event series delete

**Slug:** `TICKET_TAILOR_MCP_EVENT_SERIES_DELETE`

Delete an event series and its associated events. This action is irreversible. The event series and its events will be permanently removed. 
Notes for LLMs:
- The MCP tool inputSchema defines the parameters you should provide when calling the tool (e.g., event_series_id, bundle_id, name, price, etc.).
- The API response structure is completely different from the inputSchema - it returns the actual resource data (e.g., id, name, description, created_at, etc.) as defined by the Ticket Tailor API.
- Do not expect the response fields to match the input parameter names. The response will contain the full resource object(s) as returned by the Ticket Tailor API.


#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `event_series_id` | string | Yes | The unique identifier for the event series to delete. Must have the prefix 'es_' |

### Event series get

**Slug:** `TICKET_TAILOR_MCP_EVENT_SERIES_GET`

Retrieves a paginated list of event series from your Ticket Tailor account. Event series are collections of related events (like a recurring concert series or festival). Use this to browse, search, and filter your event series by status, name, venue, or creation date. This is a read-only operation that returns metadata about your event series without modifying any data. 
Notes for LLMs:
- The MCP tool inputSchema defines the parameters you should provide when calling the tool (e.g., event_series_id, bundle_id, name, price, etc.).
- The API response structure is completely different from the inputSchema - it returns the actual resource data (e.g., id, name, description, created_at, etc.) as defined by the Ticket Tailor API.
- Do not expect the response fields to match the input parameter names. The response will contain the full resource object(s) as returned by the Ticket Tailor API.


#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | Search for event series by name. Performs a partial text match on the series name |
| `limit` | number | No | The maximum number of items to return. |
| `venue` | string | No | Filter event series by venue name. Performs a partial text match on the venue field |
| `status` | string ("draft" | "published" | "sales_closed") | No | Filter event series by their publication status. 'draft' shows unpublished series, 'published' shows live series accepting orders, 'sales_closed' shows series that are no longer selling tickets |
| `created_at` | number | No | Unix timestamp for created at date |
| `created_at_gt` | number | No | Unix timestamp for created at date greater than |
| `created_at_lt` | number | No | Unix timestamp for created at date less than |
| `ending_before` | string | No | The ID of the first item in the next page. |
| `created_at_gte` | number | No | Unix timestamp for created at date greater than or equal to |
| `created_at_lte` | number | No | Unix timestamp for created at date less than or equal to |
| `starting_after` | string | No | The ID of the last item in the previous page.  Notes for LLMs: - Cursor-based (e.g. "or_1234") pagination via the "starting_after" and "ending_before" parameters. - Both parameters take an existing value and return objects oldest to newest (lowest id to highest id). - If both parameters are provided, only "ending_before" is used. - "ending_before" (optional) - Returns objects listed before the named object. - "starting_after" (optional) - Returns objects listed after the named object - "ending_before" and "starting_after" must have prefixes. - "limit" (optional) - Limits the number of results per-page. Maximum: 100 - Example: to get the most recent (latest, newest) records, use "ending_before" parameter with a very large value (e.g. 2147483647) and then reverse the order of the results.  |

### Event series status change

**Slug:** `TICKET_TAILOR_MCP_EVENT_SERIES_STATUS_CHANGE`

Changes the status of an event series (publish, draft, or close sales). 
Notes for LLMs:
- The MCP tool inputSchema defines the parameters you should provide when calling the tool (e.g., event_series_id, bundle_id, name, price, etc.).
- The API response structure is completely different from the inputSchema - it returns the actual resource data (e.g., id, name, description, created_at, etc.) as defined by the Ticket Tailor API.
- Do not expect the response fields to match the input parameter names. The response will contain the full resource object(s) as returned by the Ticket Tailor API.


#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `status` | string ("DRAFT" | "PUBLISHED" | "CLOSE_SALES") | Yes | New event series status - DRAFT: unpublished, PUBLISHED: live and available, CLOSE_SALES: published but sales closed |
| `event_series_id` | string | Yes | The unique identifier for the event series. Must have the prefix 'es_' |

### Event series update

**Slug:** `TICKET_TAILOR_MCP_EVENT_SERIES_UPDATE`

Updates an existing event series. 
Notes for LLMs:
- The MCP tool inputSchema defines the parameters you should provide when calling the tool (e.g., event_series_id, bundle_id, name, price, etc.).
- The API response structure is completely different from the inputSchema - it returns the actual resource data (e.g., id, name, description, created_at, etc.) as defined by the Ticket Tailor API.
- Do not expect the response fields to match the input parameter names. The response will contain the full resource object(s) as returned by the Ticket Tailor API.


#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | Name of the event series |
| `venue` | string | No | Name of the venue |
| `country` | string | No | Country of the venue in ISO 3166 format |
| `currency` | string ("gbp" | "usd" | "eur" | "sgd" | "aud" | "brl" | "cad" | "czk" | "dkk" | "hkd" | "huf" | "ils" | "jpy" | "myr" | "mxn" | "nok" | "nzd" | "php" | "pln" | "rub" | "sek" | "chf" | "twd" | "thb" | "try") | No | Information about the currency the event series is configured to use |
| `access_code` | string | No | Code to access a protected event series |
| `description` | string | No | Description of the event series |
| `postal_code` | string | No | Postal code of the venue |
| `voucher_ids` | array | No | An array of associated voucher ids with association values ('1' = add, '0' = remove, '' = do nothing) |
| `call_to_action` | string | No | Call to action text used on the event series page |
| `event_series_id` | string | Yes | The unique identifier for the event series. Must have the prefix 'es_' |
| `online_platform` | string | No | Specify the name of the online platform used when the event is held online-only. This enables each event occurrence to include a link to the online event. |
| `waitlist_active` | string ("true" | "no_tickets_available" | "false") | No | Indicates whether waitlist is enabled for the event series |
| `tickets_available_at` | integer | No | Timestamp in UTC in seconds when tickets become available for purchase |
| `tickets_unavailable_at` | integer | No | Timestamp in UTC in seconds when tickets become unavailable for purchase |
| `waitlist_call_to_action` | string | No | The text displayed on event action buttons and as a title above the waitlist format |
| `waitlist_event_page_text` | string | No | Description above ticket waitlist form |
| `tickets_available_at_message` | string | No | Message to show when tickets are not yet available to purchase. {countdown} is replaced with time remaining until tickets become available |
| `waitlist_confirmation_message` | string | No | Text shown to the user after they have signed up to the waitlist |
| `tickets_unavailable_at_message` | string | No | Message to show when tickets are unavailable to purchase |
| `max_tickets_sold_per_occurrence` | integer | No | Maximum quantity of tickets that can be sold across all ticket types |

### Events get

**Slug:** `TICKET_TAILOR_MCP_EVENTS_GET`

Retrieves a paginated list of individual event occurrences from your Ticket Tailor account. Events are specific instances within an event series (typically either for time slot admission; or else individual instances of multi-day events like 'Saturday' or 'Sunday' festival tickets, or 'Workshop Session A'). Use this to browse, search, and filter your events by status, name, venue, or date range. This is a read-only operation that returns metadata about your events without modifying any data. 
Notes for LLMs:
- The MCP tool inputSchema defines the parameters you should provide when calling the tool (e.g., event_series_id, bundle_id, name, price, etc.).
- The API response structure is completely different from the inputSchema - it returns the actual resource data (e.g., id, name, description, created_at, etc.) as defined by the Ticket Tailor API.
- Do not expect the response fields to match the input parameter names. The response will contain the full resource object(s) as returned by the Ticket Tailor API.


#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | Search for events by name. Performs a partial text match on the event name |
| `limit` | number | No | The maximum number of items to return. |
| `venue` | string | No | Filter events by venue name. Performs a partial text match on the venue field |
| `end_at` | number | No | Unix timestamp for end at date |
| `status` | string ("draft" | "published" | "sales_closed") | No | Filter events by their publication status. 'draft' shows unpublished events, 'published' shows live events accepting orders, 'sales_closed' shows events that are no longer selling tickets |
| `start_at` | number | No | Unix timestamp for start at date |
| `end_at_gt` | number | No | Unix timestamp for end at date greater than |
| `end_at_lt` | number | No | Unix timestamp for end at date less than |
| `end_at_gte` | number | No | Unix timestamp for end at date greater than or equal to |
| `end_at_lte` | number | No | Unix timestamp for end at date less than or equal to |
| `start_at_gt` | number | No | Unix timestamp for start at date greater than |
| `start_at_lt` | number | No | Unix timestamp for start at date less than |
| `start_at_gte` | number | No | Unix timestamp for start at date greater than or equal to |
| `start_at_lte` | number | No | Unix timestamp for start at date less than or equal to |
| `ending_before` | string | No | The ID of the first item in the next page. |
| `starting_after` | string | No | The ID of the last item in the previous page.  Notes for LLMs: - Cursor-based (e.g. "or_1234") pagination via the "starting_after" and "ending_before" parameters. - Both parameters take an existing value and return objects oldest to newest (lowest id to highest id). - If both parameters are provided, only "ending_before" is used. - "ending_before" (optional) - Returns objects listed before the named object. - "starting_after" (optional) - Returns objects listed after the named object - "ending_before" and "starting_after" must have prefixes. - "limit" (optional) - Limits the number of results per-page. Maximum: 100 - Example: to get the most recent (latest, newest) records, use "ending_before" parameter with a very large value (e.g. 2147483647) and then reverse the order of the results.  |

### Hold by id get

**Slug:** `TICKET_TAILOR_MCP_HOLD_BY_ID_GET`

Returns a hold by its unique identifier. 
Notes for LLMs:
- The MCP tool inputSchema defines the parameters you should provide when calling the tool (e.g., event_series_id, bundle_id, name, price, etc.).
- The API response structure is completely different from the inputSchema - it returns the actual resource data (e.g., id, name, description, created_at, etc.) as defined by the Ticket Tailor API.
- Do not expect the response fields to match the input parameter names. The response will contain the full resource object(s) as returned by the Ticket Tailor API.


#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `hold_id` | string | Yes | The unique identifier for the hold. Must have the prefix 'ho_' |

### Hold create

**Slug:** `TICKET_TAILOR_MCP_HOLD_CREATE`

Creates a new hold. 
Notes for LLMs:
- The MCP tool inputSchema defines the parameters you should provide when calling the tool (e.g., event_series_id, bundle_id, name, price, etc.).
- The API response structure is completely different from the inputSchema - it returns the actual resource data (e.g., id, name, description, created_at, etc.) as defined by the Ticket Tailor API.
- Do not expect the response fields to match the input parameter names. The response will contain the full resource object(s) as returned by the Ticket Tailor API.


#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `note` | string | Yes | A string that gives more information about the created hold |
| `event_id` | string | Yes | The ID of the associated event for which to create the hold. Must have the prefix 'ev_' |
| `ticket_type_id` | array | Yes | List of ticket types and their quantities |

### Hold delete

**Slug:** `TICKET_TAILOR_MCP_HOLD_DELETE`

Delete a hold. This action is irreversible. The hold will be permanently removed. 
Notes for LLMs:
- The MCP tool inputSchema defines the parameters you should provide when calling the tool (e.g., event_series_id, bundle_id, name, price, etc.).
- The API response structure is completely different from the inputSchema - it returns the actual resource data (e.g., id, name, description, created_at, etc.) as defined by the Ticket Tailor API.
- Do not expect the response fields to match the input parameter names. The response will contain the full resource object(s) as returned by the Ticket Tailor API.


#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `hold_id` | string | Yes | The unique identifier for the hold to delete. Must have the prefix 'ho_' |

### Holds get

**Slug:** `TICKET_TAILOR_MCP_HOLDS_GET`

Returns a list of holds. 
Notes for LLMs:
- The MCP tool inputSchema defines the parameters you should provide when calling the tool (e.g., event_series_id, bundle_id, name, price, etc.).
- The API response structure is completely different from the inputSchema - it returns the actual resource data (e.g., id, name, description, created_at, etc.) as defined by the Ticket Tailor API.
- Do not expect the response fields to match the input parameter names. The response will contain the full resource object(s) as returned by the Ticket Tailor API.


#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | number | No | The maximum number of items to return. |
| `event_id` | string | No | The unique identifier for the event. Must have the prefix 'ev_' |
| `created_at` | number | No | Unix timestamp for created at date |
| `updated_at` | number | No | Unix timestamp for updated at date |
| `created_at_gt` | number | No | Unix timestamp for created at date greater than |
| `created_at_lt` | number | No | Unix timestamp for created at date less than |
| `ending_before` | string | No | The ID of the first item in the next page. |
| `updated_at_gt` | number | No | Unix timestamp for updated at date greater than |
| `updated_at_lt` | number | No | Unix timestamp for updated at date less than |
| `created_at_gte` | number | No | Unix timestamp for created at date greater than or equal to |
| `created_at_lte` | number | No | Unix timestamp for created at date less than or equal to |
| `starting_after` | string | No | The ID of the last item in the previous page.  Notes for LLMs: - Cursor-based (e.g. "or_1234") pagination via the "starting_after" and "ending_before" parameters. - Both parameters take an existing value and return objects oldest to newest (lowest id to highest id). - If both parameters are provided, only "ending_before" is used. - "ending_before" (optional) - Returns objects listed before the named object. - "starting_after" (optional) - Returns objects listed after the named object - "ending_before" and "starting_after" must have prefixes. - "limit" (optional) - Limits the number of results per-page. Maximum: 100 - Example: to get the most recent (latest, newest) records, use "ending_before" parameter with a very large value (e.g. 2147483647) and then reverse the order of the results.  |
| `updated_at_gte` | number | No | Unix timestamp for updated at date greater than or equal to |
| `updated_at_lte` | number | No | Unix timestamp for updated at date less than or equal to |

### Hold update

**Slug:** `TICKET_TAILOR_MCP_HOLD_UPDATE`

Updates an existing hold. 
Notes for LLMs:
- The MCP tool inputSchema defines the parameters you should provide when calling the tool (e.g., event_series_id, bundle_id, name, price, etc.).
- The API response structure is completely different from the inputSchema - it returns the actual resource data (e.g., id, name, description, created_at, etc.) as defined by the Ticket Tailor API.
- Do not expect the response fields to match the input parameter names. The response will contain the full resource object(s) as returned by the Ticket Tailor API.


#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `note` | string | No | A string that gives more information about the created hold |
| `hold_id` | string | Yes | The unique identifier for the hold. Must have the prefix 'ho_' |
| `ticket_type_id` | array | No | An array of associated ticket type IDs with association values (0 = remove, any other integer = keep or add) |

### Issued membership by id get

**Slug:** `TICKET_TAILOR_MCP_ISSUED_MEMBERSHIP_BY_ID_GET`

Returns an issued membership by its unique identifier. 
Notes for LLMs:
- The MCP tool inputSchema defines the parameters you should provide when calling the tool (e.g., event_series_id, bundle_id, name, price, etc.).
- The API response structure is completely different from the inputSchema - it returns the actual resource data (e.g., id, name, description, created_at, etc.) as defined by the Ticket Tailor API.
- Do not expect the response fields to match the input parameter names. The response will contain the full resource object(s) as returned by the Ticket Tailor API.


#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `issued_membership_id` | string | Yes | The unique identifier for the issued membership. Must have the prefix 'im_' |

### Issued membership create

**Slug:** `TICKET_TAILOR_MCP_ISSUED_MEMBERSHIP_CREATE`

Creates a new issued membership for a membership type. An issued membership represents an actual membership given to a person. 
Notes for LLMs:
- The MCP tool inputSchema defines the parameters you should provide when calling the tool (e.g., event_series_id, bundle_id, name, price, etc.).
- The API response structure is completely different from the inputSchema - it returns the actual resource data (e.g., id, name, description, created_at, etc.) as defined by the Ticket Tailor API.
- Do not expect the response fields to match the input parameter names. The response will contain the full resource object(s) as returned by the Ticket Tailor API.


#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `email` | string | Yes | Email address of the member |
| `last_name` | string | Yes | Last name of the member |
| `first_name` | string | Yes | First name of the member |
| `valid_to_date` | integer | No | Unix timestamp (UTC) for when the membership expires. Required if valid_to_type is 'fixed'. When not provided, the membership type's default is used |
| `valid_to_type` | string ("fixed" | "relative") | No | Type of valid to date. 'fixed' uses valid_to_date, 'relative' uses valid_to_interval_days from issue date. When not provided, the membership type's default is used |
| `max_redemptions` | string | No | Maximum number of times the issued membership can be redeemed. If not provided, the membership type's default is used. Provide empty string to set unlimited redemptions |
| `valid_from_date` | integer | No | Unix timestamp (UTC) for when the issued membership becomes valid. Required if valid_from_type is 'fixed'. When not provided, the membership type's default is used |
| `valid_from_type` | string ("fixed" | "relative") | No | Type of valid from date. 'fixed' uses valid_from_date, 'relative' uses the date of issue. When not provided, the membership type's default is used |
| `membership_type_id` | string | Yes | The ID of the membership type. Must have the prefix 'mt_' |
| `valid_to_interval_days` | integer | No | Number of days the membership is valid for from the issue date. Used when valid_to_type is 'relative'. Must be between 1 and 365. When not provided, the membership type's default is used |

### Issued membership redemption create

**Slug:** `TICKET_TAILOR_MCP_ISSUED_MEMBERSHIP_REDEMPTION_CREATE`

Creates a redemption for an issued membership at a specific event. This records that the issued membership was used for entry to the event. 
Notes for LLMs:
- The MCP tool inputSchema defines the parameters you should provide when calling the tool (e.g., event_series_id, bundle_id, name, price, etc.).
- The API response structure is completely different from the inputSchema - it returns the actual resource data (e.g., id, name, description, created_at, etc.) as defined by the Ticket Tailor API.
- Do not expect the response fields to match the input parameter names. The response will contain the full resource object(s) as returned by the Ticket Tailor API.


#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `code` | string | Yes | The issued membership code to redeem (e.g., 'MMABC123') |
| `event_id` | string | Yes | The unique identifier for the event. Must have the prefix 'ev_' |

### Issued memberships get

**Slug:** `TICKET_TAILOR_MCP_ISSUED_MEMBERSHIPS_GET`

Returns a paginated list of issued memberships. 
Notes for LLMs:
- The MCP tool inputSchema defines the parameters you should provide when calling the tool (e.g., event_series_id, bundle_id, name, price, etc.).
- The API response structure is completely different from the inputSchema - it returns the actual resource data (e.g., id, name, description, created_at, etc.) as defined by the Ticket Tailor API.
- Do not expect the response fields to match the input parameter names. The response will contain the full resource object(s) as returned by the Ticket Tailor API.


#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `email` | string | No | Filter by email (contains) |
| `limit` | number | No | The maximum number of items to return. |
| `order` | string ("asc" | "desc") | No | Sort direction when order_by is specified. Defaults to 'asc' |
| `search` | string | No | Search by first name, last name or email (contains) |
| `order_by` | string ("first_name" | "last_name") | No | Order results by member's first_name or last_name |
| `last_name` | string | No | Filter by last name (contains) |
| `created_at` | number | No | Unix timestamp for created at date |
| `first_name` | string | No | Filter by first name (contains) |
| `updated_at` | number | No | Unix timestamp for updated at date |
| `created_at_gt` | number | No | Unix timestamp for created at date greater than |
| `created_at_lt` | number | No | Unix timestamp for created at date less than |
| `ending_before` | string | No | The ID of the first item in the next page. |
| `updated_at_gt` | number | No | Unix timestamp for updated at date greater than |
| `updated_at_lt` | number | No | Unix timestamp for updated at date less than |
| `created_at_gte` | number | No | Unix timestamp for created at date greater than or equal to |
| `created_at_lte` | number | No | Unix timestamp for created at date less than or equal to |
| `starting_after` | string | No | The ID of the last item in the previous page.  Notes for LLMs: - Cursor-based (e.g. "or_1234") pagination via the "starting_after" and "ending_before" parameters. - Both parameters take an existing value and return objects oldest to newest (lowest id to highest id). - If both parameters are provided, only "ending_before" is used. - "ending_before" (optional) - Returns objects listed before the named object. - "starting_after" (optional) - Returns objects listed after the named object - "ending_before" and "starting_after" must have prefixes. - "limit" (optional) - Limits the number of results per-page. Maximum: 100 - Example: to get the most recent (latest, newest) records, use "ending_before" parameter with a very large value (e.g. 2147483647) and then reverse the order of the results.  |
| `updated_at_gte` | number | No | Unix timestamp for updated at date greater than or equal to |
| `updated_at_lte` | number | No | Unix timestamp for updated at date less than or equal to |
| `memberships_status` | string ("valid" | "invalid" | "both") | No | Filter by membership validity status. 'valid' returns only currently valid memberships, 'invalid' returns expired or voided memberships, 'both' returns all. Defaults to 'valid' |
| `issued_membership_code` | string | No | Filter by exact membership code |

### Issued membership update

**Slug:** `TICKET_TAILOR_MCP_ISSUED_MEMBERSHIP_UPDATE`

Updates an existing issued membership. Only fixed date types are allowed when updating. 
Notes for LLMs:
- The MCP tool inputSchema defines the parameters you should provide when calling the tool (e.g., event_series_id, bundle_id, name, price, etc.).
- The API response structure is completely different from the inputSchema - it returns the actual resource data (e.g., id, name, description, created_at, etc.) as defined by the Ticket Tailor API.
- Do not expect the response fields to match the input parameter names. The response will contain the full resource object(s) as returned by the Ticket Tailor API.


#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `email` | string | No | Email address of the member |
| `last_name` | string | No | Last name of the member |
| `first_name` | string | No | First name of the member |
| `valid_to_date` | integer | No | Unix timestamp (UTC) for when the issued membership expires |
| `max_redemptions` | string | No | Maximum number of times the issued membership can be redeemed. Provide empty string to set unlimited redemptions |
| `valid_from_date` | integer | No | Unix timestamp (UTC) for when the issued membership becomes valid |
| `issued_membership_id` | string | Yes | The unique identifier for the issued membership. Must have the prefix 'im_' |

### Issued membership void

**Slug:** `TICKET_TAILOR_MCP_ISSUED_MEMBERSHIP_VOID`

Voids an existing issued membership. A voided membership cannot be used for redemptions. This action is irreversible. 
Notes for LLMs:
- The MCP tool inputSchema defines the parameters you should provide when calling the tool (e.g., event_series_id, bundle_id, name, price, etc.).
- The API response structure is completely different from the inputSchema - it returns the actual resource data (e.g., id, name, description, created_at, etc.) as defined by the Ticket Tailor API.
- Do not expect the response fields to match the input parameter names. The response will contain the full resource object(s) as returned by the Ticket Tailor API.


#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `issued_membership_id` | string | Yes | The unique identifier for the issued membership to void. Must have the prefix 'im_' |

### Issued ticket by id get

**Slug:** `TICKET_TAILOR_MCP_ISSUED_TICKET_BY_ID_GET`

Returns an issued ticket by its unique identifier. 
Notes for LLMs:
- The MCP tool inputSchema defines the parameters you should provide when calling the tool (e.g., event_series_id, bundle_id, name, price, etc.).
- The API response structure is completely different from the inputSchema - it returns the actual resource data (e.g., id, name, description, created_at, etc.) as defined by the Ticket Tailor API.
- Do not expect the response fields to match the input parameter names. The response will contain the full resource object(s) as returned by the Ticket Tailor API.


#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `issued_ticket_id` | string | Yes | The unique identifier for the issued ticket. Must have the prefix 'it_' |

### Issued ticket create

**Slug:** `TICKET_TAILOR_MCP_ISSUED_TICKET_CREATE`

Creates a new issued ticket for an event occurrence from available inventory. Issued tickets represent actual tickets that have been allocated to a specific person and can be used for entry. This tool can create tickets from either existing ticket type inventory or from a hold (reserved tickets). The created ticket will be immediately available for check-in and will be included in ticket counts. Ticket Tailor fees apply to issued tickets created via the Ticket Tailor API, irrespective of whether those tickets are free or paid-for. 
Notes for LLMs:
- The MCP tool inputSchema defines the parameters you should provide when calling the tool (e.g., event_series_id, bundle_id, name, price, etc.).
- The API response structure is completely different from the inputSchema - it returns the actual resource data (e.g., id, name, description, created_at, etc.) as defined by the Ticket Tailor API.
- Do not expect the response fields to match the input parameter names. The response will contain the full resource object(s) as returned by the Ticket Tailor API.


#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `email` | string | No | The email address of the ticket holder. If provided and send_email is true, Ticket Tailor will attempt to automatically send the ticket and event information to this email. The following conditions must be met for the email to be dispatched: (1) a valid email must be provided in the request payload; (2) the box office must be configured to use separate event confirmation emails and order confirmation emails; (3) the event series to which the event belongs must be approved by Ticket Tailor staff. |
| `barcode` | string | No | A custom barcode for the ticket. If not provided, Ticket Tailor will generate a unique barcode automatically. Useful for integrating with external systems. This barcode is rendered as a QR code and 1D barcode on the ticket. |
| `hold_id` | string | No | The unique identifier of a hold (reserved tickets). Required when creating tickets from a hold. The ticket will be created from the reserved inventory in this hold. Hold id must have the prefix 'ho_' |
| `event_id` | string | No | The unique identifier of the specific event occurrence. Required when creating tickets from ticket type inventory. Use this to specify which event the ticket is for. Must have the prefix 'ev_' |
| `full_name` | string | Yes | The full name of the person who will attend the event. This name appears on the ticket and is used for check-in verification. Should match the attendee's identification |
| `reference` | string | No | An external reference number or identifier for this ticket. Useful for linking tickets to orders in external systems or for internal tracking purposes |
| `send_email` | boolean | No | When set to true, Ticket Tailor will attempt to automatically send an email to the attendee containing their ticket and event details. The following conditions must be met for the email to be dispatched: (1) a valid email must be provided in the request payload; (2) the box office must be configured to use separate event confirmation emails and order confirmation emails; (3) the event series to which the event belongs must be approved by Ticket Tailor staff. |
| `ticket_type_id` | string | No | The unique identifier of the ticket type to create the ticket from. Required when creating from ticket type inventory. Determines the ticket category and pricing. Ticket type id must have the prefix 'tt_' |

### Issued tickets get

**Slug:** `TICKET_TAILOR_MCP_ISSUED_TICKETS_GET`

Returns a list of issued tickets. 
Notes for LLMs:
- The MCP tool inputSchema defines the parameters you should provide when calling the tool (e.g., event_series_id, bundle_id, name, price, etc.).
- The API response structure is completely different from the inputSchema - it returns the actual resource data (e.g., id, name, description, created_at, etc.) as defined by the Ticket Tailor API.
- Do not expect the response fields to match the input parameter names. The response will contain the full resource object(s) as returned by the Ticket Tailor API.


#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | The name of the person attending an event |
| `email` | string | No | The email of the person attending an event |
| `limit` | number | No | The maximum number of items to return. |
| `status` | string ("valid" | "voided") | No | The status of the issued ticket |
| `barcode` | string | No | The barcode of the issued ticket |
| `event_id` | string | No | The unique identifier for the event. Must have the prefix 'ev_' |
| `order_id` | string | No | The unique identifier for the order. Must have the prefix 'or_' |
| `created_at` | number | No | Unix timestamp for created at date |
| `reference_id` | string | No | The imported reference of the ticket |
| `created_at_gt` | number | No | Unix timestamp for created at date greater than |
| `created_at_lt` | number | No | Unix timestamp for created at date less than |
| `ending_before` | string | No | The ID of the first item in the next page. |
| `created_at_gte` | number | No | Unix timestamp for created at date greater than or equal to |
| `created_at_lte` | number | No | Unix timestamp for created at date less than or equal to |
| `starting_after` | string | No | The ID of the last item in the previous page.  Notes for LLMs: - Cursor-based (e.g. "or_1234") pagination via the "starting_after" and "ending_before" parameters. - Both parameters take an existing value and return objects oldest to newest (lowest id to highest id). - If both parameters are provided, only "ending_before" is used. - "ending_before" (optional) - Returns objects listed before the named object. - "starting_after" (optional) - Returns objects listed after the named object - "ending_before" and "starting_after" must have prefixes. - "limit" (optional) - Limits the number of results per-page. Maximum: 100 - Example: to get the most recent (latest, newest) records, use "ending_before" parameter with a very large value (e.g. 2147483647) and then reverse the order of the results.  |
| `event_series_id` | string | No | The unique identifier for the event series. Must have the prefix 'es_' |

### Issued ticket void

**Slug:** `TICKET_TAILOR_MCP_ISSUED_TICKET_VOID`

Voids an issued ticket. This action is irreversible. This will only mark the ticket as voided (no longer valid) and will not cancel an entire order or issue a refund. You can also void an issued ticket to a hold, which will create a hold from the issued ticket and not put the allocation back on sale. 
Notes for LLMs:
- The MCP tool inputSchema defines the parameters you should provide when calling the tool (e.g., event_series_id, bundle_id, name, price, etc.).
- The API response structure is completely different from the inputSchema - it returns the actual resource data (e.g., id, name, description, created_at, etc.) as defined by the Ticket Tailor API.
- Do not expect the response fields to match the input parameter names. The response will contain the full resource object(s) as returned by the Ticket Tailor API.


#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `void_to_hold` | boolean | No | Indicate whether to turn the existing issued ticket into a hold |
| `issued_ticket_id` | string | Yes | The unique identifier for the issued ticket. Must have the prefix 'it_' |

### Membership photo share get

**Slug:** `TICKET_TAILOR_MCP_MEMBERSHIP_PHOTO_SHARE_GET`

Returns a temporary signed URL for the issued membership photo. The URL has an expiry time after which it will no longer be accessible. 
Notes for LLMs:
- The MCP tool inputSchema defines the parameters you should provide when calling the tool (e.g., event_series_id, bundle_id, name, price, etc.).
- The API response structure is completely different from the inputSchema - it returns the actual resource data (e.g., id, name, description, created_at, etc.) as defined by the Ticket Tailor API.
- Do not expect the response fields to match the input parameter names. The response will contain the full resource object(s) as returned by the Ticket Tailor API.


#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `issued_membership_code` | string | Yes | The unique code of the issued membership |

### Membership type by id get

**Slug:** `TICKET_TAILOR_MCP_MEMBERSHIP_TYPE_BY_ID_GET`

Returns a membership type by its unique identifier. 
Notes for LLMs:
- The MCP tool inputSchema defines the parameters you should provide when calling the tool (e.g., event_series_id, bundle_id, name, price, etc.).
- The API response structure is completely different from the inputSchema - it returns the actual resource data (e.g., id, name, description, created_at, etc.) as defined by the Ticket Tailor API.
- Do not expect the response fields to match the input parameter names. The response will contain the full resource object(s) as returned by the Ticket Tailor API.


#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `membership_type_id` | string | Yes | The unique identifier for the membership type. Must have the prefix 'mt_' |

### Membership type create

**Slug:** `TICKET_TAILOR_MCP_MEMBERSHIP_TYPE_CREATE`

Creates a new membership type. Membership types define the configuration for issued memberships including validity periods, redemption limits, and whether photos are required. 
Notes for LLMs:
- The MCP tool inputSchema defines the parameters you should provide when calling the tool (e.g., event_series_id, bundle_id, name, price, etc.).
- The API response structure is completely different from the inputSchema - it returns the actual resource data (e.g., id, name, description, created_at, etc.) as defined by the Ticket Tailor API.
- Do not expect the response fields to match the input parameter names. The response will contain the full resource object(s) as returned by the Ticket Tailor API.


#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Name of the membership type (e.g., 'Annual Pass', 'Monthly Subscription') |
| `valid_to_date` | integer | No | Unix timestamp (UTC) for when memberships of this type expire. Required if valid_to_type is 'fixed' |
| `valid_to_type` | string ("fixed" | "relative") | Yes | Type of valid to date. 'fixed' uses valid_to_date, 'relative' uses valid_to_interval_days from issue date |
| `photo_required` | string ("true" | "false") | No | Whether a photo is required when issuing memberships of this type |
| `max_redemptions` | string | No | Maximum number of times memberships of this type can be redeemed. If not provided, redemptions are unlimited |
| `valid_from_date` | integer | No | Unix timestamp (UTC) for when memberships of this type become valid. Required if valid_from_type is 'fixed' |
| `valid_from_type` | string ("fixed" | "relative") | Yes | Type of valid from date. 'fixed' uses valid_from_date for all issued memberships, 'relative' uses the date of issue |
| `valid_to_interval_days` | integer | No | Number of days the membership is valid for from the issue date. Required if valid_to_type is 'relative'. Must be between 1 and 365 |
| `conditions_and_benefits` | array | No | Array of conditions and benefits for this membership type (e.g., ['Free entry to all events', '10% discount on merchandise']) |

### Membership type delete

**Slug:** `TICKET_TAILOR_MCP_MEMBERSHIP_TYPE_DELETE`

Deletes a membership type. A membership type can only be deleted if it has no issued memberships and no linked products. This action is irreversible. 
Notes for LLMs:
- The MCP tool inputSchema defines the parameters you should provide when calling the tool (e.g., event_series_id, bundle_id, name, price, etc.).
- The API response structure is completely different from the inputSchema - it returns the actual resource data (e.g., id, name, description, created_at, etc.) as defined by the Ticket Tailor API.
- Do not expect the response fields to match the input parameter names. The response will contain the full resource object(s) as returned by the Ticket Tailor API.


#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `membership_type_id` | string | Yes | The unique identifier for the membership type to delete. Must have the prefix 'mt_' |

### Membership types get

**Slug:** `TICKET_TAILOR_MCP_MEMBERSHIP_TYPES_GET`

Returns a paginated list of membership types. 
Notes for LLMs:
- The MCP tool inputSchema defines the parameters you should provide when calling the tool (e.g., event_series_id, bundle_id, name, price, etc.).
- The API response structure is completely different from the inputSchema - it returns the actual resource data (e.g., id, name, description, created_at, etc.) as defined by the Ticket Tailor API.
- Do not expect the response fields to match the input parameter names. The response will contain the full resource object(s) as returned by the Ticket Tailor API.


#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | number | No | The maximum number of items to return. |
| `ending_before` | string | No | The ID of the first item in the next page. |
| `starting_after` | string | No | The ID of the last item in the previous page.  Notes for LLMs: - Cursor-based (e.g. "or_1234") pagination via the "starting_after" and "ending_before" parameters. - Both parameters take an existing value and return objects oldest to newest (lowest id to highest id). - If both parameters are provided, only "ending_before" is used. - "ending_before" (optional) - Returns objects listed before the named object. - "starting_after" (optional) - Returns objects listed after the named object - "ending_before" and "starting_after" must have prefixes. - "limit" (optional) - Limits the number of results per-page. Maximum: 100 - Example: to get the most recent (latest, newest) records, use "ending_before" parameter with a very large value (e.g. 2147483647) and then reverse the order of the results.  |

### Membership type update

**Slug:** `TICKET_TAILOR_MCP_MEMBERSHIP_TYPE_UPDATE`

Updates an existing membership type. 
Notes for LLMs:
- The MCP tool inputSchema defines the parameters you should provide when calling the tool (e.g., event_series_id, bundle_id, name, price, etc.).
- The API response structure is completely different from the inputSchema - it returns the actual resource data (e.g., id, name, description, created_at, etc.) as defined by the Ticket Tailor API.
- Do not expect the response fields to match the input parameter names. The response will contain the full resource object(s) as returned by the Ticket Tailor API.


#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | Name of the membership type |
| `valid_to_date` | integer | No | Unix timestamp (UTC) for when memberships of this type expire. Required if valid_to_type is 'fixed' |
| `valid_to_type` | string ("fixed" | "relative") | No | Type of valid to date. 'fixed' uses valid_to_date, 'relative' uses valid_to_interval_days from issue date |
| `photo_required` | string ("true" | "false") | No | Whether a photo is required when issuing memberships of this type |
| `max_redemptions` | string | No | Maximum number of times memberships of this type can be redeemed. Provide empty string to set unlimited redemptions |
| `valid_from_date` | integer | No | Unix timestamp (UTC) for when memberships of this type become valid. Required if valid_from_type is 'fixed' |
| `valid_from_type` | string ("fixed" | "relative") | No | Type of valid from date. 'fixed' uses valid_from_date for all issued memberships, 'relative' uses the date of issue |
| `membership_type_id` | string | Yes | The unique identifier for the membership type. Must have the prefix 'mt_' |
| `valid_to_interval_days` | integer | No | Number of days the membership is valid for from the issue date. Required if valid_to_type is 'relative'. Must be between 1 and 365 |
| `conditions_and_benefits` | array | No | Array of conditions and benefits for this membership type |

### Order by id get

**Slug:** `TICKET_TAILOR_MCP_ORDER_BY_ID_GET`

Returns an order by its unique identifier. 
Notes for LLMs:
- The MCP tool inputSchema defines the parameters you should provide when calling the tool (e.g., event_series_id, bundle_id, name, price, etc.).
- The API response structure is completely different from the inputSchema - it returns the actual resource data (e.g., id, name, description, created_at, etc.) as defined by the Ticket Tailor API.
- Do not expect the response fields to match the input parameter names. The response will contain the full resource object(s) as returned by the Ticket Tailor API.


#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `order_id` | string | Yes | The unique identifier for the order. Must have the prefix 'or_' |

### Order confirm payment

**Slug:** `TICKET_TAILOR_MCP_ORDER_CONFIRM_PAYMENT`

Confirm an offline payment has been paid for an order. 
Notes for LLMs:
- The MCP tool inputSchema defines the parameters you should provide when calling the tool (e.g., event_series_id, bundle_id, name, price, etc.).
- The API response structure is completely different from the inputSchema - it returns the actual resource data (e.g., id, name, description, created_at, etc.) as defined by the Ticket Tailor API.
- Do not expect the response fields to match the input parameter names. The response will contain the full resource object(s) as returned by the Ticket Tailor API.


#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `order_id` | string | Yes | The unique identifier for the order. Must have the prefix 'or_' |
| `transaction_id` | string | No | The transaction ID of the payment |

### Orders get

**Slug:** `TICKET_TAILOR_MCP_ORDERS_GET`

Retrieves a paginated list of customer orders from your Ticket Tailor account. Orders represent completed ticket (and/or product) purchases and contain information about the buyer, items purchased, payment status, and order details. Use this to track sales, analyze customer data, and manage order fulfillment. This is a read-only operation that returns order information without modifying any data. 
Notes for LLMs:
- The MCP tool inputSchema defines the parameters you should provide when calling the tool (e.g., event_series_id, bundle_id, name, price, etc.).
- The API response structure is completely different from the inputSchema - it returns the actual resource data (e.g., id, name, description, created_at, etc.) as defined by the Ticket Tailor API.
- Do not expect the response fields to match the input parameter names. The response will contain the full resource object(s) as returned by the Ticket Tailor API.


#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | Search for orders by the buyer's full name. Performs a partial text match on the customer name field |
| `email` | string | No | Search for orders by the buyer's email address. Useful for finding all orders from a specific customer, or identifying repeat purchasers. |
| `limit` | number | No | The maximum number of items to return. |
| `status` | string | No | Filter orders by their current status (e.g., 'paid', 'pending' if the order is complete but payment has not been received, 'cancelled', 'refunded'). |
| `txn_id` | string | No | Search for a specific order by its transaction ID. Transaction IDs are unique identifiers for payment processing. These are added automatically to associate the respective transaction if made through Stripe, PayPal, or Square; otherwise they are entered manually. |
| `barcode` | string | No | Search for orders containing a specific ticket barcode. Useful for finding orders associated with a particular ticket |
| `event_id` | string | No | Filter orders by a specific event occurrence. Returns only orders for tickets to this particular event. Must have the prefix 'ev_' |
| `store_id` | string | No | Filter orders by a specific store. Must have the prefix 'st_' |
| `created_at` | number | No | Unix timestamp for created at date |
| `created_at_gt` | number | No | Unix timestamp for created at date greater than |
| `created_at_lt` | number | No | Unix timestamp for created at date less than |
| `ending_before` | string | No | The ID of the first item in the next page. |
| `created_at_gte` | number | No | Unix timestamp for created at date greater than or equal to |
| `created_at_lte` | number | No | Unix timestamp for created at date less than or equal to |
| `starting_after` | string | No | The ID of the last item in the previous page.  Notes for LLMs: - Cursor-based (e.g. "or_1234") pagination via the "starting_after" and "ending_before" parameters. - Both parameters take an existing value and return objects oldest to newest (lowest id to highest id). - If both parameters are provided, only "ending_before" is used. - "ending_before" (optional) - Returns objects listed before the named object. - "starting_after" (optional) - Returns objects listed after the named object - "ending_before" and "starting_after" must have prefixes. - "limit" (optional) - Limits the number of results per-page. Maximum: 100 - Example: to get the most recent (latest, newest) records, use "ending_before" parameter with a very large value (e.g. 2147483647) and then reverse the order of the results.  |
| `event_series_id` | string | No | Filter orders by a specific event series. Returns all orders for tickets to any event within this series. Must have the prefix 'es_' |

### Order update

**Slug:** `TICKET_TAILOR_MCP_ORDER_UPDATE`

Updates an existing order. 
Notes for LLMs:
- The MCP tool inputSchema defines the parameters you should provide when calling the tool (e.g., event_series_id, bundle_id, name, price, etc.).
- The API response structure is completely different from the inputSchema - it returns the actual resource data (e.g., id, name, description, created_at, etc.) as defined by the Ticket Tailor API.
- Do not expect the response fields to match the input parameter names. The response will contain the full resource object(s) as returned by the Ticket Tailor API.


#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `email` | string | No | Buyer email address |
| `phone` | string | No | Buyer phone number |
| `order_id` | string | Yes | The unique identifier for the order. Must have the prefix 'or_' |
| `address_1` | string | No | The first line of the address |
| `address_2` | string | No | The second line of the address |
| `address_3` | string | No | The third line of the address |
| `last_name` | string | No | Buyer last name |
| `first_name` | string | No | Buyer first name |
| `postal_code` | string | No | Postal code, zip code or postcode |

### Override create

**Slug:** `TICKET_TAILOR_MCP_OVERRIDE_CREATE`

Creates a new override for event series. 
Notes for LLMs:
- The MCP tool inputSchema defines the parameters you should provide when calling the tool (e.g., event_series_id, bundle_id, name, price, etc.).
- The API response structure is completely different from the inputSchema - it returns the actual resource data (e.g., id, name, description, created_at, etc.) as defined by the Ticket Tailor API.
- Do not expect the response fields to match the input parameter names. The response will contain the full resource object(s) as returned by the Ticket Tailor API.


#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Name of the override |
| `override_lines` | array | Yes | An array of associated ticket types (prefix id with 'tt_'), ticket groups (prefix id with 'tg_') or bundles (prefix id with 'bu_'). |
| `event_series_id` | string | Yes | The unique identifier for the event series. Must have the prefix 'es_' |
| `max_sellable_tickets` | integer | No | Maximum number of sellable tickets |

### Overrides get

**Slug:** `TICKET_TAILOR_MCP_OVERRIDES_GET`

Returns a list of overrides. 
Notes for LLMs:
- The MCP tool inputSchema defines the parameters you should provide when calling the tool (e.g., event_series_id, bundle_id, name, price, etc.).
- The API response structure is completely different from the inputSchema - it returns the actual resource data (e.g., id, name, description, created_at, etc.) as defined by the Ticket Tailor API.
- Do not expect the response fields to match the input parameter names. The response will contain the full resource object(s) as returned by the Ticket Tailor API.


#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | number | No | The maximum number of items to return. |
| `status` | string ("on_sale" | "sold_out" | "unavailable" | "hidden" | "admin_only" | "locked") | No | A string representing override status |
| `created_at` | number | No | Unix timestamp for created at date |
| `reference_id` | string | No | A string representing the referenced ticket typ or ticket group |
| `created_at_gt` | number | No | Unix timestamp for created at date greater than |
| `created_at_lt` | number | No | Unix timestamp for created at date less than |
| `ending_before` | string | No | The ID of the first item in the next page. |
| `created_at_gte` | number | No | Unix timestamp for created at date greater than or equal to |
| `created_at_lte` | number | No | Unix timestamp for created at date less than or equal to |
| `reference_type` | string ("ticket_type" | "ticket_group" | "bundle") | No | A string representing the reference type, either ticket or ticket_group or bundle |
| `starting_after` | string | No | The ID of the last item in the previous page.  Notes for LLMs: - Cursor-based (e.g. "or_1234") pagination via the "starting_after" and "ending_before" parameters. - Both parameters take an existing value and return objects oldest to newest (lowest id to highest id). - If both parameters are provided, only "ending_before" is used. - "ending_before" (optional) - Returns objects listed before the named object. - "starting_after" (optional) - Returns objects listed after the named object - "ending_before" and "starting_after" must have prefixes. - "limit" (optional) - Limits the number of results per-page. Maximum: 100 - Example: to get the most recent (latest, newest) records, use "ending_before" parameter with a very large value (e.g. 2147483647) and then reverse the order of the results.  |
| `event_series_id` | string | Yes | The unique identifier for the event series. Must have the prefix 'es_' |

### Override update

**Slug:** `TICKET_TAILOR_MCP_OVERRIDE_UPDATE`

Update existing override. 
Notes for LLMs:
- The MCP tool inputSchema defines the parameters you should provide when calling the tool (e.g., event_series_id, bundle_id, name, price, etc.).
- The API response structure is completely different from the inputSchema - it returns the actual resource data (e.g., id, name, description, created_at, etc.) as defined by the Ticket Tailor API.
- Do not expect the response fields to match the input parameter names. The response will contain the full resource object(s) as returned by the Ticket Tailor API.


#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | Override name |
| `override_id` | string | Yes | The unique identifier for the override. Must have the prefix 'ov_' |
| `override_lines` | array | Yes | An array of associated ticket types (prefix id with 'tt_'), ticket groups (prefix id with 'tg_') or bundles (prefix id with 'bu_'). |
| `event_series_id` | string | Yes | The unique identifier for the event series. Must have the prefix 'es_' |
| `max_sellable_tickets` | number | No | Maximum number of sellable tickets |

### Overview get

**Slug:** `TICKET_TAILOR_MCP_OVERVIEW_GET`

Retrieve a comprehensive overview of your Ticket Tailor box office account, including key metrics, account information, and summary statistics. This provides a high-level dashboard view with data about your events, sales, and account status. Useful for getting a quick snapshot of your business performance and account health. This is a read-only operation that returns account summary information without modifying any data. 
Notes for LLMs:
- The MCP tool inputSchema defines the parameters you should provide when calling the tool (e.g., event_series_id, bundle_id, name, price, etc.).
- The API response structure is completely different from the inputSchema - it returns the actual resource data (e.g., id, name, description, created_at, etc.) as defined by the Ticket Tailor API.
- Do not expect the response fields to match the input parameter names. The response will contain the full resource object(s) as returned by the Ticket Tailor API.


### Ping get

**Slug:** `TICKET_TAILOR_MCP_PING_GET`

Tests connectivity to the Ticket Tailor API server and retrieves version information. This is a lightweight health check that verifies your API credentials are valid and the service is responding. Useful for troubleshooting connection issues, validating API access, or checking service status. Returns server version details and confirms your authentication is working properly. 
Notes for LLMs:
- The MCP tool inputSchema defines the parameters you should provide when calling the tool (e.g., event_series_id, bundle_id, name, price, etc.).
- The API response structure is completely different from the inputSchema - it returns the actual resource data (e.g., id, name, description, created_at, etc.) as defined by the Ticket Tailor API.
- Do not expect the response fields to match the input parameter names. The response will contain the full resource object(s) as returned by the Ticket Tailor API.


### Product by id get

**Slug:** `TICKET_TAILOR_MCP_PRODUCT_BY_ID_GET`

Returns a product by its unique identifier. 
Notes for LLMs:
- The MCP tool inputSchema defines the parameters you should provide when calling the tool (e.g., event_series_id, bundle_id, name, price, etc.).
- The API response structure is completely different from the inputSchema - it returns the actual resource data (e.g., id, name, description, created_at, etc.) as defined by the Ticket Tailor API.
- Do not expect the response fields to match the input parameter names. The response will contain the full resource object(s) as returned by the Ticket Tailor API.


#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `product_id` | string | Yes | The unique identifier for the product. Must have the prefix 'pr_' |

### Product create

**Slug:** `TICKET_TAILOR_MCP_PRODUCT_CREATE`

Creates a new product that can be sold alongside tickets. Products are additional items like merchandise, parking passes, meal vouchers, or special add-ons that customers can purchase during the ticket buying process. Products can be linked to specific event series or made available across all events, or sold via a standalone store (not yet available through the API). They can have their own pricing, inventory limits, and delivery instructions. 
Notes for LLMs:
- The MCP tool inputSchema defines the parameters you should provide when calling the tool (e.g., event_series_id, bundle_id, name, price, etc.).
- The API response structure is completely different from the inputSchema - it returns the actual resource data (e.g., id, name, description, created_at, etc.) as defined by the Ticket Tailor API.
- Do not expect the response fields to match the input parameter names. The response will contain the full resource object(s) as returned by the Ticket Tailor API.


#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | The name of the product that customers will see (e.g., 'Event T-Shirt', 'Parking Pass', 'VIP Dinner Package', 'Program Book'). Should be clear and descriptive |
| `price` | integer | Yes | The price of the product in cents (e.g., 1500 = $15.00). This is the base price before any booking fees are applied |
| `status` | string ("ON_SALE" | "SOLD_OUT" | "HIDDEN") | No | Current status of the product. 'ON_SALE' = available for purchase, 'SOLD_OUT' = no inventory, 'HIDDEN' = not visible to customers |
| `currency` | string | No | The currency for this product's pricing. If not specified, defaults to your box office currency. Useful for international events with multiple currencies |
| `quantity` | integer | No | Total quantity of this product available for sale across all events. Once sold out, no more can be purchased. Leave empty for unlimited inventory |
| `voucher_id` | string | No | The ID of a voucher of type gift card to associate with the product. Must start with 'vo_' prefix. Mutually exclusive with issue_ticket_voucher and membership_type_id. |
| `booking_fee` | integer | No | Additional fee charged per product, in cents (e.g., 200 = $2.00). This fee is paid to you and helps cover processing costs. Recommended to keep under 10% of product price |
| `description` | string | No | Detailed description of the product including features, specifications, or what's included. Helps customers understand what they're purchasing |
| `instructions` | string | No | Instructions for customers on how to collect or use the product (e.g., 'Collect at venue entrance', 'Email will be sent with download link', 'Present voucher at restaurant') |
| `event_series_ids` | array | No | Array of event series IDs where this product will be available for purchase. If empty and linked_to_all_event_series is false, product won't be available anywhere unless you have set the product to be sold via a standalone store (not yet available through the API). Event series id must have the prefix 'es_' |
| `membership_type_id` | string | No | The ID of a membership type to associate with the product. Must start with 'mt_' prefix. Mutually exclusive with issue_ticket_voucher and voucher_id. |
| `quantity_per_event` | integer | No | Maximum quantity of this product that can be purchased per individual event. Useful for limiting per-event availability |
| `issue_ticket_voucher` | boolean | No | When true, a QR code voucher will be generated for this product that customers can present for redemption. Useful for digital products or items requiring verification. Mutually exclusive with voucher_id and membership_type_id. |
| `linked_to_all_event_series` | boolean | No | When true, this product will be available for purchase at all event series. Overrides event_series_ids restrictions |

### Product delete

**Slug:** `TICKET_TAILOR_MCP_PRODUCT_DELETE`

Delete a product. This action is irreversible. The product will be permanently removed. 
Notes for LLMs:
- The MCP tool inputSchema defines the parameters you should provide when calling the tool (e.g., event_series_id, bundle_id, name, price, etc.).
- The API response structure is completely different from the inputSchema - it returns the actual resource data (e.g., id, name, description, created_at, etc.) as defined by the Ticket Tailor API.
- Do not expect the response fields to match the input parameter names. The response will contain the full resource object(s) as returned by the Ticket Tailor API.


#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `product_id` | string | Yes | The unique identifier for the product to delete. Must have the prefix 'pr_' |

### Products get

**Slug:** `TICKET_TAILOR_MCP_PRODUCTS_GET`

Returns a list of products. 
Notes for LLMs:
- The MCP tool inputSchema defines the parameters you should provide when calling the tool (e.g., event_series_id, bundle_id, name, price, etc.).
- The API response structure is completely different from the inputSchema - it returns the actual resource data (e.g., id, name, description, created_at, etc.) as defined by the Ticket Tailor API.
- Do not expect the response fields to match the input parameter names. The response will contain the full resource object(s) as returned by the Ticket Tailor API.


#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | number | No | The maximum number of items to return. |
| `status` | string ("on_sale" | "hidden" | "sold_out") | No | The status of the product |
| `created_at` | number | No | Unix timestamp for created at date |
| `updated_at` | number | No | Unix timestamp for updated at date |
| `created_at_gt` | number | No | Unix timestamp for created at date greater than |
| `created_at_lt` | number | No | Unix timestamp for created at date less than |
| `ending_before` | string | No | The ID of the first item in the next page. |
| `updated_at_gt` | number | No | Unix timestamp for updated at date greater than |
| `updated_at_lt` | number | No | Unix timestamp for updated at date less than |
| `created_at_gte` | number | No | Unix timestamp for created at date greater than or equal to |
| `created_at_lte` | number | No | Unix timestamp for created at date less than or equal to |
| `starting_after` | string | No | The ID of the last item in the previous page.  Notes for LLMs: - Cursor-based (e.g. "or_1234") pagination via the "starting_after" and "ending_before" parameters. - Both parameters take an existing value and return objects oldest to newest (lowest id to highest id). - If both parameters are provided, only "ending_before" is used. - "ending_before" (optional) - Returns objects listed before the named object. - "starting_after" (optional) - Returns objects listed after the named object - "ending_before" and "starting_after" must have prefixes. - "limit" (optional) - Limits the number of results per-page. Maximum: 100 - Example: to get the most recent (latest, newest) records, use "ending_before" parameter with a very large value (e.g. 2147483647) and then reverse the order of the results.  |
| `updated_at_gte` | number | No | Unix timestamp for updated at date greater than or equal to |
| `updated_at_lte` | number | No | Unix timestamp for updated at date less than or equal to |
| `event_series_id` | string | No | The unique identifier for the event series. Must have the prefix 'es_' |

### Product update

**Slug:** `TICKET_TAILOR_MCP_PRODUCT_UPDATE`

Updates an existing product. 
Notes for LLMs:
- The MCP tool inputSchema defines the parameters you should provide when calling the tool (e.g., event_series_id, bundle_id, name, price, etc.).
- The API response structure is completely different from the inputSchema - it returns the actual resource data (e.g., id, name, description, created_at, etc.) as defined by the Ticket Tailor API.
- Do not expect the response fields to match the input parameter names. The response will contain the full resource object(s) as returned by the Ticket Tailor API.


#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | Name of the product |
| `price` | integer | No | Cost of the product in cents |
| `status` | string | No | Product status: on_sale, hidden or sold_out |
| `currency` | string | No | Currency that the product can be purchased in. Defaults to the box office currency. |
| `quantity` | integer | No | Number of products available for purchase |
| `product_id` | string | Yes | The unique identifier for the product. Must have the prefix 'pr_' |
| `voucher_id` | string | No | The ID of a voucher of type gift card to associate with the product. Must start with 'vo_' prefix. Mutually exclusive with issue_ticket_voucher and membership_type_id. |
| `booking_fee` | integer | No | Optional booking fee in cents which is charged per product to the customer and the funds are paid to you. We would recommend charging no more than 10% of the product price. |
| `description` | string | No | Description of the product |
| `instructions` | string | No | Instructions on how to purchase the product |
| `modify_quantity` | string | No | Number of products to add or remove. The number should be preceded by a + or - sign |
| `event_series_ids` | array | No | List of event series IDs that have the product with association values ('1' = add, '0' = remove, '' = do nothing) |
| `membership_type_id` | string | No | The ID of a membership type to associate with the product. Must start with 'mt_' prefix. Mutually exclusive with issue_ticket_voucher and voucher_id. |
| `quantity_per_event` | integer | No | Number of products available for purchase per event |
| `quantity_unlimited` | string ("true" | "false") | No | If set to 'true', the quantity will be set to unlimited. Otherwise, it will be set to the quantity given |
| `issue_ticket_voucher` | string | No | Indicate whether the QR code is to be issued for the product. Mutually exclusive with voucher_id and membership_type_id. |
| `linked_to_all_event_series` | string | No | Indicate whether the product is linked to all event series |

### Store get

**Slug:** `TICKET_TAILOR_MCP_STORE_GET`

Retrieves the current store configuration including store ID, currency, name, payment methods, and associated products. This provides comprehensive information about your Ticket Tailor store setup and configuration. Useful for understanding your store's current settings and associated resources. This is a read-only operation that returns store information without modifying any data. 
Notes for LLMs:
- The MCP tool inputSchema defines the parameters you should provide when calling the tool (e.g., event_series_id, bundle_id, name, price, etc.).
- The API response structure is completely different from the inputSchema - it returns the actual resource data (e.g., id, name, description, created_at, etc.) as defined by the Ticket Tailor API.
- Do not expect the response fields to match the input parameter names. The response will contain the full resource object(s) as returned by the Ticket Tailor API.


#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `storeId` | string | Yes | The ID (prefixed with 'st_') of the store to get |

### Store list

**Slug:** `TICKET_TAILOR_MCP_STORE_LIST`

Retrieves a list of all stores associated with the provided API key. This tool is useful for managing multiple stores within your Ticket Tailor account. It returns a list of store IDs, names, and other relevant details for each store. This is a read-only operation that does not modify any data. 
Notes for LLMs:
- The MCP tool inputSchema defines the parameters you should provide when calling the tool (e.g., event_series_id, bundle_id, name, price, etc.).
- The API response structure is completely different from the inputSchema - it returns the actual resource data (e.g., id, name, description, created_at, etc.) as defined by the Ticket Tailor API.
- Do not expect the response fields to match the input parameter names. The response will contain the full resource object(s) as returned by the Ticket Tailor API.


### Store update

**Slug:** `TICKET_TAILOR_MCP_STORE_UPDATE`

Updates the store configuration including currency, name, and associated products. This allows you to modify your Ticket Tailor store settings such as changing the currency, updating the store name, or managing which products are available in the store. The currency can be set to various supported currencies, and products can be added or removed by providing an array of product IDs. Empty products array will remove all products from the store. 
Notes for LLMs:
- The MCP tool inputSchema defines the parameters you should provide when calling the tool (e.g., event_series_id, bundle_id, name, price, etc.).
- The API response structure is completely different from the inputSchema - it returns the actual resource data (e.g., id, name, description, created_at, etc.) as defined by the Ticket Tailor API.
- Do not expect the response fields to match the input parameter names. The response will contain the full resource object(s) as returned by the Ticket Tailor API.


#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | Name of the store |
| `storeId` | string | Yes | The ID (prefixed with 'st_') of the store to update |
| `currency` | string ("gbp" | "usd" | "eur" | "sgd" | "aud" | "brl" | "cad" | "czk" | "dkk" | "hkd" | "huf" | "ils" | "jpy" | "myr" | "mxn" | "nok" | "nzd" | "php" | "pln" | "rub" | "sek" | "chf" | "twd" | "thb" | "try") | No | The currency code used by the store |
| `products` | array | No | Array of product IDs that are sold in the store. Empty array will remove all products from the store. Product IDs should be prefixed with 'pr_' |

### Ticket group delete

**Slug:** `TICKET_TAILOR_MCP_TICKET_GROUP_DELETE`

Delete a ticket group. This action is irreversible. The ticket group will be permanently removed and any associated ticket types and bundles will be removed from the group. 
Notes for LLMs:
- The MCP tool inputSchema defines the parameters you should provide when calling the tool (e.g., event_series_id, bundle_id, name, price, etc.).
- The API response structure is completely different from the inputSchema - it returns the actual resource data (e.g., id, name, description, created_at, etc.) as defined by the Ticket Tailor API.
- Do not expect the response fields to match the input parameter names. The response will contain the full resource object(s) as returned by the Ticket Tailor API.


#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `event_series_id` | string | Yes | The unique identifier for the event series. Must have the prefix 'es_' |
| `ticket_group_id` | string | Yes | The unique identifier for the ticket group to delete. Must have the prefix 'tg_' |

### Ticket group update

**Slug:** `TICKET_TAILOR_MCP_TICKET_GROUP_UPDATE`

Updates an existing ticket group. 
Notes for LLMs:
- The MCP tool inputSchema defines the parameters you should provide when calling the tool (e.g., event_series_id, bundle_id, name, price, etc.).
- The API response structure is completely different from the inputSchema - it returns the actual resource data (e.g., id, name, description, created_at, etc.) as defined by the Ticket Tailor API.
- Do not expect the response fields to match the input parameter names. The response will contain the full resource object(s) as returned by the Ticket Tailor API.


#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | Name of the ticket group |
| `bundle_ids` | array | No | Array of bundle IDs that belong to this group. Bundle id must have the prefix 'bu_' |
| `max_quantity` | integer | No | Maximum number of ticket types that this group can sell |
| `max_per_order` | integer | No | Maximum number of tickets of this group that can be purchased in a single order. Prevents bulk purchases and ensures fair distribution |
| `min_per_order` | integer | No | Minimum number of tickets of this group that must be purchased in a single order. Useful for group discounts or package deals |
| `event_series_id` | string | Yes | The unique identifier for the event series. Must have the prefix 'es_' |
| `ticket_group_id` | string | Yes | The unique identifier for the ticket group. Must have the prefix 'tg_' |
| `ticket_type_ids` | array | No | Array of ticket type IDs that belong to this group. Ticket type id must have the prefix 'tt_' |

### Ticket type delete

**Slug:** `TICKET_TAILOR_MCP_TICKET_TYPE_DELETE`

Delete a ticket type. This action is irreversible. The ticket type will be permanently removed. 
Notes for LLMs:
- The MCP tool inputSchema defines the parameters you should provide when calling the tool (e.g., event_series_id, bundle_id, name, price, etc.).
- The API response structure is completely different from the inputSchema - it returns the actual resource data (e.g., id, name, description, created_at, etc.) as defined by the Ticket Tailor API.
- Do not expect the response fields to match the input parameter names. The response will contain the full resource object(s) as returned by the Ticket Tailor API.


#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `ticket_type_id` | string | Yes | The unique identifier for the ticket type to delete. Must have the prefix 'tt_' |
| `event_series_id` | string | Yes | The unique identifier for the event series. Must have the prefix 'es_' |

### Ticket type update

**Slug:** `TICKET_TAILOR_MCP_TICKET_TYPE_UPDATE`

Updates an existing ticket type. 
Notes for LLMs:
- The MCP tool inputSchema defines the parameters you should provide when calling the tool (e.g., event_series_id, bundle_id, name, price, etc.).
- The API response structure is completely different from the inputSchema - it returns the actual resource data (e.g., id, name, description, created_at, etc.) as defined by the Ticket Tailor API.
- Do not expect the response fields to match the input parameter names. The response will contain the full resource object(s) as returned by the Ticket Tailor API.


#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | Name of the ticket type |
| `price` | integer | No | Cost of the ticket type |
| `status` | string ("ON_SALE" | "SOLD_OUT" | "UNAVAILABLE" | "HIDDEN" | "ADMIN_ONLY" | "LOCKED") | No | Event series status |
| `group_id` | string | No | ID of the group this ticket type belongs to. Group id must have the prefix 'tg_' |
| `discounts` | array | No | An array of associated discount ids with association values ('1' = add, '0' = remove, '' = do nothing) |
| `hide_after` | integer | No | Timestamp in seconds when the ticket type should be hidden until. |
| `hide_until` | integer | No | Timestamp in seconds when the ticket type should be hidden after. |
| `access_code` | string | No | Code to access a hidden ticket |
| `booking_fee` | integer | No | Optional booking fee which is charged per ticket type to the customer and the funds are paid to you. We would recommend charging no more than 10% of the ticket price. |
| `description` | string | No | Description of the ticket type |
| `zero_tickets` | string ("true" | "false") | No | Set the number of available tickets to zero |
| `max_per_order` | integer | No | Maximum number of tickets allowed per order |
| `min_per_order` | integer | No | Minimum number of tickets allowed per order |
| `ticket_type_id` | string | Yes | The unique identifier for the ticket type. Must have the prefix 'tt_' |
| `event_series_id` | string | Yes | The unique identifier for the event series. Must have the prefix 'es_' |
| `modify_quantity` | string | No | Number of ticket types to add or remove. The number should be preceded by a + or - sign |
| `hide_when_sold_out` | boolean | No | Hide the ticket when it has sold out |
| `show_quantity_remaining` | string ("true" | "false") | No | Specifies whether to show the number of tickets still available |
| `show_quantity_remaining_less_than` | integer | No | Only show number of tickets still available when the available quantity is equal to or lower than this threshold |

### Voucher by id get

**Slug:** `TICKET_TAILOR_MCP_VOUCHER_BY_ID_GET`

Returns a voucher by its unique identifier. 
Notes for LLMs:
- The MCP tool inputSchema defines the parameters you should provide when calling the tool (e.g., event_series_id, bundle_id, name, price, etc.).
- The API response structure is completely different from the inputSchema - it returns the actual resource data (e.g., id, name, description, created_at, etc.) as defined by the Ticket Tailor API.
- Do not expect the response fields to match the input parameter names. The response will contain the full resource object(s) as returned by the Ticket Tailor API.


#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `voucher_id` | string | Yes | The unique identifier for the voucher. Must have the prefix 'vo_' |

### Voucher codes get

**Slug:** `TICKET_TAILOR_MCP_VOUCHER_CODES_GET`

Returns a list of voucher codes. 
Notes for LLMs:
- The MCP tool inputSchema defines the parameters you should provide when calling the tool (e.g., event_series_id, bundle_id, name, price, etc.).
- The API response structure is completely different from the inputSchema - it returns the actual resource data (e.g., id, name, description, created_at, etc.) as defined by the Ticket Tailor API.
- Do not expect the response fields to match the input parameter names. The response will contain the full resource object(s) as returned by the Ticket Tailor API.


#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | number | No | The maximum number of items to return. |
| `expiry_at` | number | No | Unix timestamp for expiry at date |
| `created_at` | number | No | Unix timestamp for created at date |
| `voucher_id` | string | Yes | The unique identifier for the voucher. Must have the prefix 'vo_' |
| `expiry_at_gt` | number | No | Unix timestamp for expiry at date greater than |
| `expiry_at_lt` | number | No | Unix timestamp for expiry at date less than |
| `created_at_gt` | number | No | Unix timestamp for created at date greater than |
| `created_at_lt` | number | No | Unix timestamp for created at date less than |
| `ending_before` | string | No | The ID of the first item in the next page. |
| `expiry_at_gte` | number | No | Unix timestamp for expiry at date greater than or equal to |
| `expiry_at_lte` | number | No | Unix timestamp for expiry at date less than or equal to |
| `created_at_gte` | number | No | Unix timestamp for created at date greater than or equal to |
| `created_at_lte` | number | No | Unix timestamp for created at date less than or equal to |
| `starting_after` | string | No | The ID of the last item in the previous page.  Notes for LLMs: - Cursor-based (e.g. "or_1234") pagination via the "starting_after" and "ending_before" parameters. - Both parameters take an existing value and return objects oldest to newest (lowest id to highest id). - If both parameters are provided, only "ending_before" is used. - "ending_before" (optional) - Returns objects listed before the named object. - "starting_after" (optional) - Returns objects listed after the named object - "ending_before" and "starting_after" must have prefixes. - "limit" (optional) - Limits the number of results per-page. Maximum: 100 - Example: to get the most recent (latest, newest) records, use "ending_before" parameter with a very large value (e.g. 2147483647) and then reverse the order of the results.  |

### Voucher code void

**Slug:** `TICKET_TAILOR_MCP_VOUCHER_CODE_VOID`

Voids a voucher code. This action is irreversible. This will only mark one voucher code as voided, and will not impact the other related codes. 
Notes for LLMs:
- The MCP tool inputSchema defines the parameters you should provide when calling the tool (e.g., event_series_id, bundle_id, name, price, etc.).
- The API response structure is completely different from the inputSchema - it returns the actual resource data (e.g., id, name, description, created_at, etc.) as defined by the Ticket Tailor API.
- Do not expect the response fields to match the input parameter names. The response will contain the full resource object(s) as returned by the Ticket Tailor API.


#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `voucher_id` | string | Yes | The unique identifier for the voucher. Must have the prefix 'vo_' |
| `voucher_code_id` | string | Yes | The unique identifier for the voucher code. Must have the prefix 'vc_' |

### Voucher create

**Slug:** `TICKET_TAILOR_MCP_VOUCHER_CREATE`

Creates a new voucher system with associated voucher codes. Vouchers are flexible promotional tools that can be used as either promotional codes (for marketing campaigns), or gift vouchers (for customer gifting), or as credit in lieu of a payment refund. Promotional vouchers have predefined codes, while gift vouchers and credit vouchers generate unique codes when issued. Vouchers can be restricted to specific event series and have configurable expiration dates and redemption rules. 
Notes for LLMs:
- The MCP tool inputSchema defines the parameters you should provide when calling the tool (e.g., event_series_id, bundle_id, name, price, etc.).
- The API response structure is completely different from the inputSchema - it returns the actual resource data (e.g., id, name, description, created_at, etc.) as defined by the Ticket Tailor API.
- Do not expect the response fields to match the input parameter names. The response will contain the full resource object(s) as returned by the Ticket Tailor API.


#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | A descriptive name for the voucher system (e.g., 'Summer Sale Vouchers', 'Gift Cards', 'Loyalty Rewards'). This appears in your admin dashboard for easy identification |
| `codes` | array | No | For PROMO type vouchers, provide an array of specific voucher codes (e.g., ['SUMMER20', 'WELCOME10']). These codes will be available for customers to use. Leave empty for gift vouchers and credit vouchers which generate unique codes automatically |
| `value` | integer | Yes | The monetary value of each voucher in cents (e.g., 1000 = $10.00). This is the amount that will be deducted from the order total when the voucher is redeemed |
| `expiry` | integer | Yes | Unix timestamp (in seconds) when all vouchers in this system expire. After this date, no vouchers can be redeemed. Set far in the future for long-term campaigns |
| `interval` | string ("30" | "90" | "365") | No | For GIFT_CARD type vouchers, the number of days from issue date when the gift card expires. 30 = 1 month, 90 = 3 months, 365 = 1 year |
| `voucher_type` | string ("PROMO" | "GIFT_CARD") | No | The type of voucher system: 'PROMO' for marketing campaigns with predefined codes, 'GIFT_CARD' for gift vouchers or credit vouchers with unique generated codes. Defaults to 'PROMO' if not specified |
| `event_series_ids` | array | No | Array of event series IDs where these vouchers can be used. If empty, vouchers can be used on any event series. Useful for targeted promotions. Event series id must have the prefix 'es_' |
| `partial_redemption` | boolean | No | When true, customers can use a voucher multiple times until its full value is consumed. When false, the voucher must be used in a single transaction and any unused balance will be lost |

### Voucher delete

**Slug:** `TICKET_TAILOR_MCP_VOUCHER_DELETE`

Delete voucher and its associated voucher codes. This action is irreversible. The voucher and its voucher codes will be permanently removed. 
Notes for LLMs:
- The MCP tool inputSchema defines the parameters you should provide when calling the tool (e.g., event_series_id, bundle_id, name, price, etc.).
- The API response structure is completely different from the inputSchema - it returns the actual resource data (e.g., id, name, description, created_at, etc.) as defined by the Ticket Tailor API.
- Do not expect the response fields to match the input parameter names. The response will contain the full resource object(s) as returned by the Ticket Tailor API.


#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `voucher_id` | string | Yes | The unique identifier for the existing voucher to delete. Must have the prefix 'vo_' |

### Vouchers get

**Slug:** `TICKET_TAILOR_MCP_VOUCHERS_GET`

Returns a list of vouchers. 
Notes for LLMs:
- The MCP tool inputSchema defines the parameters you should provide when calling the tool (e.g., event_series_id, bundle_id, name, price, etc.).
- The API response structure is completely different from the inputSchema - it returns the actual resource data (e.g., id, name, description, created_at, etc.) as defined by the Ticket Tailor API.
- Do not expect the response fields to match the input parameter names. The response will contain the full resource object(s) as returned by the Ticket Tailor API.


#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | number | No | The maximum number of items to return. |
| `expiry_at` | number | No | Unix timestamp for expiry at date |
| `created_at` | number | No | Unix timestamp for created at date |
| `expiry_at_gt` | number | No | Unix timestamp for expiry at date greater than |
| `expiry_at_lt` | number | No | Unix timestamp for expiry at date less than |
| `created_at_gt` | number | No | Unix timestamp for created at date greater than |
| `created_at_lt` | number | No | Unix timestamp for created at date less than |
| `ending_before` | string | No | The ID of the first item in the next page. |
| `expiry_at_gte` | number | No | Unix timestamp for expiry at date greater than or equal to |
| `expiry_at_lte` | number | No | Unix timestamp for expiry at date less than or equal to |
| `created_at_gte` | number | No | Unix timestamp for created at date greater than or equal to |
| `created_at_lte` | number | No | Unix timestamp for created at date less than or equal to |
| `starting_after` | string | No | The ID of the last item in the previous page.  Notes for LLMs: - Cursor-based (e.g. "or_1234") pagination via the "starting_after" and "ending_before" parameters. - Both parameters take an existing value and return objects oldest to newest (lowest id to highest id). - If both parameters are provided, only "ending_before" is used. - "ending_before" (optional) - Returns objects listed before the named object. - "starting_after" (optional) - Returns objects listed after the named object - "ending_before" and "starting_after" must have prefixes. - "limit" (optional) - Limits the number of results per-page. Maximum: 100 - Example: to get the most recent (latest, newest) records, use "ending_before" parameter with a very large value (e.g. 2147483647) and then reverse the order of the results.  |

### Voucher update

**Slug:** `TICKET_TAILOR_MCP_VOUCHER_UPDATE`

Updates an exist ing voucher's name and properties. 
Notes for LLMs:
- The MCP tool inputSchema defines the parameters you should provide when calling the tool (e.g., event_series_id, bundle_id, name, price, etc.).
- The API response structure is completely different from the inputSchema - it returns the actual resource data (e.g., id, name, description, created_at, etc.) as defined by the Ticket Tailor API.
- Do not expect the response fields to match the input parameter names. The response will contain the full resource object(s) as returned by the Ticket Tailor API.


#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | A descriptive name given to the voucher |
| `codes` | array | No | An array of associated voucher codes |
| `value` | integer | No | Voucher value in cents |
| `expiry` | integer | No | Voucher's expiry date as Unix timestamp |
| `interval` | string ("30" | "90" | "365") | No | Only available when voucher_type is gift_card. Voucher's expiry date is calculated from this number of days on day of issue |
| `voucher_id` | string | Yes | The unique identifier for the existing voucher. Must have the prefix 'vo_' |
| `event_series_ids` | array | No | An array of associated event series IDs with association values ('1' = add, '0' = remove, '' = do nothing) |

### Waitlist signup delete

**Slug:** `TICKET_TAILOR_MCP_WAITLIST_SIGNUP_DELETE`

Delete event series waitlist signup. This action is irreversible. 
Notes for LLMs:
- The MCP tool inputSchema defines the parameters you should provide when calling the tool (e.g., event_series_id, bundle_id, name, price, etc.).
- The API response structure is completely different from the inputSchema - it returns the actual resource data (e.g., id, name, description, created_at, etc.) as defined by the Ticket Tailor API.
- Do not expect the response fields to match the input parameter names. The response will contain the full resource object(s) as returned by the Ticket Tailor API.


#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `event_series_id` | string | Yes | The unique identifier for the event series that the waitlist signup is part of. Must have the prefix 'es_' |
| `waitlist_signup_id` | string | Yes | The unique identifier for the waitlist signup to delete. Must have the prefix 'ws_' |

### Waitlist signups get

**Slug:** `TICKET_TAILOR_MCP_WAITLIST_SIGNUPS_GET`

Returns a list of waitlist signups. 
Notes for LLMs:
- The MCP tool inputSchema defines the parameters you should provide when calling the tool (e.g., event_series_id, bundle_id, name, price, etc.).
- The API response structure is completely different from the inputSchema - it returns the actual resource data (e.g., id, name, description, created_at, etc.) as defined by the Ticket Tailor API.
- Do not expect the response fields to match the input parameter names. The response will contain the full resource object(s) as returned by the Ticket Tailor API.


#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `email` | string | No | Used for filtering waitlist signups by email |
| `limit` | number | No | The maximum number of items to return. |
| `event_ids` | string | No | Used for filtering waitlist signups by events they belong to. Event id must have the prefix 'ev_' |
| `created_at` | number | No | Unix timestamp for created at date |
| `is_notified` | boolean | No | Used for filtering notified waitlist signups |
| `created_at_gt` | number | No | Unix timestamp for created at date greater than |
| `created_at_lt` | number | No | Unix timestamp for created at date less than |
| `ending_before` | string | No | The ID of the first item in the next page. |
| `created_at_gte` | number | No | Unix timestamp for created at date greater than or equal to |
| `created_at_lte` | number | No | Unix timestamp for created at date less than or equal to |
| `starting_after` | string | No | The ID of the last item in the previous page.  Notes for LLMs: - Cursor-based (e.g. "or_1234") pagination via the "starting_after" and "ending_before" parameters. - Both parameters take an existing value and return objects oldest to newest (lowest id to highest id). - If both parameters are provided, only "ending_before" is used. - "ending_before" (optional) - Returns objects listed before the named object. - "starting_after" (optional) - Returns objects listed after the named object - "ending_before" and "starting_after" must have prefixes. - "limit" (optional) - Limits the number of results per-page. Maximum: 100 - Example: to get the most recent (latest, newest) records, use "ending_before" parameter with a very large value (e.g. 2147483647) and then reverse the order of the results.  |
| `event_series_id` | string | Yes | The unique identifier for the event series. Must have the prefix 'es_' |
