Skip to main content

Ticket specifications

Ticket specifications are the SKUs people buy — "Member ticket — 250 DKK", "Guest ticket — 350 DKK", and so on. You add specs to an event, edit their fields while they're inactive, and flip them active to make them purchasable.

All mutations on this page require a JWT — get one from the homepage first. The API key needs the events:write scope.

Pricing: price, numberOfTicketsForSale, and maximumNumberOfTicketsPerUser are non-negative integers. price is in øre / cents25000 = 250 DKK.

Add a ticket specification

mutation addTicketSpecification($input: AddTicketSpecificationInput!) {
addTicketSpecification(input: $input) {
ticketSpecification {
id
name
price
includeVat
numberOfTicketsForSale
maximumNumberOfTicketsPerUser
isActive
}
}
}

Validation:

  • name is required.
  • price, when set and non-zero, must be >= 1000 (10 DKK minimum).
  • If both numberOfTicketsForSale and maximumNumberOfTicketsPerUser are set, numberOfTicketsForSale must be >= maximumNumberOfTicketsPerUser (otherwise: Too many tickets per user).
  • The event must not be completed.

The new specification inherits the event's platform fee and percentage fee, and is auto-attached to every existing EventDate on the event.

Adding the first paid spec (price > 0) automatically enables the organization's billing profile for events.

Edit a ticket specification

Allowed only while the spec itself is inactive (isActive: false) and the event is draft. Any field passed as null keeps its current value.

mutation editTicketSpecification($input: EditTicketSpecificationInput!) {
editTicketSpecification(input: $input) {
ticketSpecification {
id
name
price
includeVat
numberOfTicketsForSale
maximumNumberOfTicketsPerUser
}
}
}

Errors:

  • ticket specification not found.
  • Cannot edit activated ticket specification — flip isActive to false first via the next mutation.
  • Cannot edit ticket specification for an event, which is completed / …which has already been published.

Activate or deactivate a ticket specification

Toggle isActive. This is the only field you can change once the spec has been activated — to change anything else, deactivate first.

mutation editTicketSpecificationActiveState($input: EditTicketSpecificationActiveStateInput!) {
editTicketSpecificationActiveState(input: $input) {
ticketSpecification {
id
isActive
}
}
}

Allowed while draft or published; only blocked when the event is completed.

Remove a ticket specification

Permanently deletes a ticket specification. Only allowed while the event is draft and no tickets have been sold or reserved against this spec.

mutation removeTicketSpecification($input: RemoveTicketSpecificationInput!) {
removeTicketSpecification(input: $input) {
success
}
}

Errors:

  • Ticket specification with id: <id> not found.
  • Cannot remove ticket specification from an event, which is completed / …which has already been published.
  • Tickets for ticket specification with id: <id> has already been sold.