Key contacts
People, stored once in an organization-wide contact book and linked to venues and stays. A promoter used on twelve shows is one record with twelve links.
General contacts
The venue’s or stay’s own emails, phone numbers, and URLs. Owned by that record and not shared.
The organization key-contact book
List the book
organization.read
Response data — array of contacts:
Add someone to the book
accommodation.write
Body
Response
data: { "id": 88590, "first_name": "…", "last_name": "…", "email": "…" }
Update someone
accommodation.write
Same fields, all optional — send only what changes. org_id cannot be changed.
Linking key contacts
venues.read / venues.write, accommodation.read / accommodation.write
GET returns the linked people, in the same shape as the book.
PUT links or unlinks. Body:
Each entry:
Only the links you list change — this is not a full replace. The contact must already exist in the book; create it with
POST /v1/key-contacts first.data: none.
Venue and stay create/update bodies also accept a keyContactIds array inline, which sets the links in the same call.
General contacts
venues.read / venues.write, accommodation.read / accommodation.write
Response data — an array where each row carries exactly one of the three, the others null:
is_google marks a detail imported from Google Places rather than entered by a user.
Writing them
Body — at least one of the three lists must be present:operation is ADD, UPDATE, or REMOVE; id is required for the latter two.
In
numbers, both number and country are numbers, not strings — { "number": 298765432, "country": 61 }.data: none.
As with key contacts, venue and stay create/update bodies accept emails, numbers, and urls inline (without operation, as a full replace).
See also: Venues, Accommodation, Rooms.

