Breaking changes
This page lists past and planned changes to the EventsAir GraphQL API that may impact integrated applications. While we endeavour to maintain backward compatibility as the API evolves, scenarios may arise that require a breaking change.
This page is intended to provide advanced notice of breaking changes so that developers can plan ahead to test their integrated applications and make any necessary changes.
Planned breaking changes
Future
We are planning to release the following fixes at the end of February 2025.
-
Fix an issue with createContact that allows a Contact to be created when the ID of a Contact Store is passed instead of an Event. Please use the correct mutations for Contact Stores.
If you are working with a Contact Store you will need to replace the existing code of:
mutation CreateContact {
createContact(
input: {
firstName: "John"
lastName: "Smith"
organizationName: "ACME Corporation"
primaryEmail: "jsmith@acme.com"
eventId: "d714ba51-34df-426f-a2d5-6d6ab41e0138"
}
) {
contact {
internalNumber
id
}
}
}
With:
mutation CreateContactStoreContact {
createContactStoreContact(
input: {
firstName: "John"
lastName: "Smith"
organizationName: "ACME Corporation"
primaryEmail: "jsmith@acme.com"
contactStoreId: "d714ba51-34df-426f-a2d5-6d6ab41e0138"
}
) {
contact {
internalNumber
id
}
}
}
-
Fix an issue with updateContactDetails that allows a Contact to be updated when the ID of a Contact Store is passed instead of an Event. Please use the correct mutations for Contact Stores
If you are working with a Contact Store you will need to replace the existing code of:
mutation UpdateContactDetails {
updateContactDetails(
input: {
contactId: "2D18FF0E-8D8A-4B31-A333-56EAAD456FAA"
eventId: "d714ba51-34df-426f-a2d5-6d6ab41e0138"
jobTitle: "VP Marketing"
}
) {
contact {
internalNumber
id
firstName
lastName
jobTitle
organizationName
}
}
}
With:
mutation UpdateContactStoreContactDetails {
updateContactStoreContactDetails(
input: {
contactId: "2D18FF0E-8D8A-4B31-A333-56EAAD456FAA"
contactStoreId: "d714ba51-34df-426f-a2d5-6d6ab41e0138"
jobTitle: "VP Marketing"
}
) {
contact {
internalNumber
id
firstName
lastName
jobTitle
organizationName
}
}
}
-
Fix an issue with updateContactBilling that allows a Contact to be updated when the ID of a Contact Store is passed instead of an Event. Please use the correct mutations for Contact Stores.
If you are working with a Contact Store you will need to replace the existing code of:
mutation UpdateContactBilling {
updateContactBilling(
input: {
contactId: "2D18FF0E-8D8A-4B31-A333-56EAAD456FAA"
eventId: "d714ba51-34df-426f-a2d5-6d6ab41e0138"
firstName: "Jane"
lastName: "White"
organizationName: "ACME Corporation"
email: "jwhite@acme.com"
}
) {
contact {
internalNumber
id
firstName
lastName
jobTitle
organizationName
billing {
id
firstName
lastName
organizationName
email
}
}
}
}
With:
mutation UpdateContactStoreContactBilling {
updateContactStoreContactBilling(
input: {
contactId: "2D18FF0E-8D8A-4B31-A333-56EAAD456FAA"
contactStoreId: "d714ba51-34df-426f-a2d5-6d6ab41e0138"
firstName: "Jane"
lastName: "White"
organizationName: "ACME Corporation"
email: "jwhite@acme.com"
}
) {
contact {
internalNumber
id
firstName
lastName
jobTitle
organizationName
billing {
id
firstName
lastName
organizationName
email
}
}
}
}
- Field
CeContactStore.functionRegistrations
will change type from[FunctionRegistration!]!
to[CeContactStoreFunctionRegistration!]!
.- - Field
MembershipContactStore.functionRegistrations
will change type from[FunctionRegistration!]!
to[MembershipContactStoreFunctionRegistration!]!
. - Field
MembershipContactStoreContact.functionRegistrations
will change type from[FunctionRegistration!]!
to[MembershipContactStoreFunctionRegistration!]!
.
The following changes are planned for release at some point in the future, but have not been scheduled yet. Typically, these are fields that have been deprecated in the GraphQL API. We will update this page with details of when these changes will be completed. If your integrated applications use features in this list, we recommend making changes now to avoid any future incompatibility.
- The
address
input field on input typeUpdateContactDetailsInput
has been deprecated and will be removed in a future release. Please use the newprimaryAddress
field instead. - The field
userAccessRights
on object typeEvent
has been deprecated and will be removed in a future release. Please use the newaccessRights
field instead.
Past breaking changes
The following sections list past releases of changes that may have impacted integrated applications.
2024-06-07
The following changes are planned for release on 2024-06-05. If your integrated applications use features in this list, we recommend making changes now to avoid any future incompatibility.
- The type for field
InvoiceLineItem.payableItem
will be changedPayableItem!
toPayableItem
- The type for field
PaymentLineItem.payableItem
will be changedPayableItem!
toPayableItem
2024-02-15
- The
limit
argument used in various queries to limit the number of items returned will be changed fromPositiveInt
toPaginationLimit
. This will set a maximum value of2,000
forlimit
. - Various objects will be renamed:
FindEventContactsInput
will be renamed toFindContactsInput
.EventOffice
will be renamed toOffice
.EventTextMessagingService
will be renamed toTextMessagingService
.EventEmailMessagingService
will be renamed toEmailMessagingService
.EventOnlinePaymentServices
will be renamed toOnlinePaymentServices
.EventUserAccessRights
will be renamed toUserAccessRights
.EventUser
will be renamed toEventsAirUser
.EventInvoiceConfiguration
will be renamed toInvoiceConfiguration
.
- The input type
FindEventContactsInput
used in the queryEvent.contacts
will be replaced withContactSearchFilterInput
offering richer ways to filter contacts. This will also remove related typesEventContactsWhere
,EventContactsOrderBy
andEventContactOrderByField
. - The
offset
argument used inEvent.contacts
will need to be a multiple of thelimit
argument, or an error will occur. - The type used for
Contact.website
will be changed fromURL
toString
to cater for instances where the field in EventsAir is not a well-formed URL. This will also be changed for input types used in contact mutations:CreateContactInput.website
andUpdateContactDetailsInput.website
will be changed fromURL
toString
.