30 days free. No credit card. Full access from the moment you connect your site.

Start free trial

Update Ticket

tickets/update-ticket changes a ticket in place: name, description, price, sale window, and capacity if you pass it.

A ticket cannot be moved to a different post. That is not a limitation of this ability — attendee records point at both, and moving one would orphan them.

At a glance

Abilitytickets/update-ticket
ToolsetEvent Tickets — toolset/event-tickets
GroupEvent Tickets › Tickets
RequiresEvent Tickets, active on the site
Capabilitymanage_options
SafetyWrites data
RepeatableIdempotent — running it twice leaves the same result
Ships inAcrossAI Abilities Manager 0.0.34 and later

Why capacity does not go through post meta

Capacity in Event Tickets is stock plus what has already left it. Set the meta directly to 100 on a ticket that has sold 30, and the plugin now believes 130 seats exist — every sale is counted twice and the event oversells.

Passing capacity here routes through the plugin’s own handling, which subtracts sold and pending from the new number. That reconciliation is the whole reason this ability exists rather than a meta write.

For capacity on its own, tickets/set-ticket-capacity is the narrower tool and reads the result back to confirm it took.

Input

NameTypeRequiredWhat it is
ticket_idintegerYesThe ticket ID.
namestringNoThe ticket name shown to buyers.
descriptionstringNoTicket description.
pricestringNoPrice. Use "0" for a free ticket.
capacityintegerNoHow many can be sold. Use -1 for unlimited. Reconciled against what is already sold and pending.
capacity_modestringNoown keeps independent stock; global draws from the event pool; capped draws from the pool up to a limit; unlimited has no cap.
shared_capintegerNoThe limit when the mode is capped.
start_datestringNoWhen the ticket goes on sale.
end_datestringNoWhen sales close.
providerstringNoProvider class. Omit to leave unchanged.

What comes back

NameTypeWhat it is
ticketobjectThe ticket after the write, read back from the plugin.
successbooleanWhether the call completed.
messagestringA one-line summary of what happened, suitable for showing a human.
error_codestringPresent only on failure — a stable machine-readable reason, such as a missing field, a wrong field type or an unmet confirmation.

Example

Ask your assistant:

Drop the early-bird ticket to £20 and close sales a week earlier.

It resolves to one call:

{
  "ability": "tickets/update-ticket",
  "parameters": {
    "ticket_id": 980,
    "price": "20",
    "end_date": "2026-11-24"
  }
}

Worth knowing

  • Idempotent — sending the same values twice leaves the same ticket.
  • Changing the price does not change what past buyers paid, but it does change the estimate in tickets/get-sales-summary.
  • A ticket cannot change post. Create a new one on the right post instead.

Related abilities


Get the plugins:
AcrossAI Abilities Manager · AcrossAI MCP Manager

Browse the rest: Every ability, by category


Keep reading