Download OpenAPI specification:
Read-only API for associations to display member guides and tours on an external website. Bookings complete on the Keyguides Connect portal (not via this API).
Server-to-server proxy only. The association operates a backend (BFF) that calls this API with an API key; its public website calls that backend, never Keyguides directly. No local catalog persistence — proxy each request, with optional ephemeral in-memory cache (≤60s catalog, ≤300s reference data, ≤30s availability). Webhooks are the cache invalidation channel.
Use links.book.url in the browser to redirect to keyguidesconnect.com. Build
deep links from links.book.hrefTemplate with the user's selection (date,
time, groupSize, offeringId, guideId). Integrator alias pax → groupSize.
Time format: HH:mm (24h) in the guide's IANA timezone. URL-encode all values.
Every portal URL carries kg_assoc, utm_source, utm_medium (and optional
utm_campaign). Integrators must not strip these params. Do not use ref
(reserved for Tolt partner referrals).
Every response includes X-RateLimit-Limit, X-RateLimit-Remaining,
X-RateLimit-Reset. On 429, also Retry-After. Back off proactively when
Remaining is low — do not wait for 429.
Date range capped at 90 days (400 range_too_large otherwise). Slot times are
RFC 3339 with numeric offset in the guide's IANA timeZone. 200 with empty
availability means bookable but no slots in window; 409 guide_not_bookable
means the guide cannot be booked at all.
All price fields are integers in minor currency units (e.g. EUR/USD cents;
zero-decimal currencies like JPY use the major unit). Format with the resource
currency field.
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "slug": "string",
- "status": "INACTIVE",
- "type": "ASSOCIATION",
- "countryCode": "string",
- "currency": "EUR",
- "attribution": {
- "params": {
- "kg_assoc": "irish-tour-guides",
- "utm_source": "irish-tour-guides",
- "utm_medium": "association_api",
- "utm_campaign": "member-directory"
}, - "queryString": "kg_assoc=irish-tour-guides&utm_source=irish-tour-guides&utm_medium=association_api&utm_campaign=member-directory"
}, - "links": {
- "associationPage": {
- "path": "/guides/jane-doe",
- "attribution": {
- "params": {
- "kg_assoc": "irish-tour-guides",
- "utm_source": "irish-tour-guides",
- "utm_medium": "association_api",
- "utm_campaign": "member-directory"
}, - "queryString": "kg_assoc=irish-tour-guides&utm_source=irish-tour-guides&utm_medium=association_api&utm_campaign=member-directory"
}
}
}
}| page | integer >= 1 Default: 1 |
| limit | integer [ 1 .. 100 ] Default: 20 |
| city | string City ID or slug (comma-separated) |
| country | string Country code (comma-separated) |
| language | string Language code (comma-separated) |
| interest | string Interest ID or slug (comma-separated) |
| bookableOnly | boolean Default: false If true, only guides meeting Keyguides bookability requirements |
| orderBy | string Default: "publishedAt" Enum: "createdAt" "publishedAt" "name" |
| sortOrder | string Default: "desc" Enum: "asc" "desc" |
| If-None-Match | string Return |
| Accept-Language | string Example: en Locale for translated tour/guide fields |
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "username": "string",
- "headline": "string",
- "introduction": "string",
- "published": true,
- "isBookable": true,
- "paymentsEnabled": true,
- "currency": "EUR",
- "pricePerHourMinorUnits": 0,
- "displayName": "string",
- "languages": [
- {
- "code": "string",
- "name": "string"
}
], - "cities": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "slug": "string",
- "countryCode": "string",
- "lat": 0,
- "lng": 0
}
], - "interests": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "slug": "string"
}
], - "memberType": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string"
}, - "links": {
- "profile": {
- "path": "/guides/jane-doe",
- "attribution": {
- "params": {
- "kg_assoc": "irish-tour-guides",
- "utm_source": "irish-tour-guides",
- "utm_medium": "association_api",
- "utm_campaign": "member-directory"
}, - "queryString": "kg_assoc=irish-tour-guides&utm_source=irish-tour-guides&utm_medium=association_api&utm_campaign=member-directory"
}
}, - "book": {
- "path": "/guides/jane-doe",
- "attribution": {
- "params": {
- "kg_assoc": "irish-tour-guides",
- "utm_source": "irish-tour-guides",
- "utm_medium": "association_api",
- "utm_campaign": "member-directory"
}, - "queryString": "kg_assoc=irish-tour-guides&utm_source=irish-tour-guides&utm_medium=association_api&utm_campaign=member-directory"
}, - "target": "tour_booking_page",
- "hrefTemplate": "https://keyguidesconnect.com/tours/paris-highlights?kg_assoc=irish-tour-guides&utm_source=irish-tour-guides&utm_medium=association_api&date={date}&time={time}&groupSize={groupSize}&offeringId={offeringId}&guideId={guideId}\n",
- "supportedQueryParameters": [
- {
- "name": "groupSize",
- "status": "implemented",
- "format": "date → YYYY-MM-DD",
- "description": "string",
- "integratorAliases": [
- "pax"
]
}
]
}
}
}
], - "pagination": {
- "page": 0,
- "limit": 0,
- "total": 0,
- "totalPages": 0,
- "hasNextPage": true,
- "hasPreviousPage": true
}, - "attribution": {
- "params": {
- "kg_assoc": "irish-tour-guides",
- "utm_source": "irish-tour-guides",
- "utm_medium": "association_api",
- "utm_campaign": "member-directory"
}, - "queryString": "kg_assoc=irish-tour-guides&utm_source=irish-tour-guides&utm_medium=association_api&utm_campaign=member-directory"
}
}| guideId required | string Guide UUID or username |
| If-None-Match | string Return |
| Accept-Language | string Example: en Locale for translated tour/guide fields |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "username": "string",
- "headline": "string",
- "introduction": "string",
- "published": true,
- "isBookable": true,
- "paymentsEnabled": true,
- "currency": "EUR",
- "pricePerHourMinorUnits": 0,
- "displayName": "string",
- "languages": [
- {
- "code": "string",
- "name": "string"
}
], - "cities": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "slug": "string",
- "countryCode": "string",
- "lat": 0,
- "lng": 0
}
], - "interests": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "slug": "string"
}
], - "memberType": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string"
}, - "links": {
- "profile": {
- "path": "/guides/jane-doe",
- "attribution": {
- "params": {
- "kg_assoc": "irish-tour-guides",
- "utm_source": "irish-tour-guides",
- "utm_medium": "association_api",
- "utm_campaign": "member-directory"
}, - "queryString": "kg_assoc=irish-tour-guides&utm_source=irish-tour-guides&utm_medium=association_api&utm_campaign=member-directory"
}
}, - "book": {
- "path": "/guides/jane-doe",
- "attribution": {
- "params": {
- "kg_assoc": "irish-tour-guides",
- "utm_source": "irish-tour-guides",
- "utm_medium": "association_api",
- "utm_campaign": "member-directory"
}, - "queryString": "kg_assoc=irish-tour-guides&utm_source=irish-tour-guides&utm_medium=association_api&utm_campaign=member-directory"
}, - "target": "tour_booking_page",
- "hrefTemplate": "https://keyguidesconnect.com/tours/paris-highlights?kg_assoc=irish-tour-guides&utm_source=irish-tour-guides&utm_medium=association_api&date={date}&time={time}&groupSize={groupSize}&offeringId={offeringId}&guideId={guideId}\n",
- "supportedQueryParameters": [
- {
- "name": "groupSize",
- "status": "implemented",
- "format": "date → YYYY-MM-DD",
- "description": "string",
- "integratorAliases": [
- "pax"
]
}
]
}
}, - "cancellationPolicy": "string",
- "availablePerHour": true
}| guideId required | string Guide UUID or username |
| page | integer >= 1 Default: 1 |
| limit | integer [ 1 .. 100 ] Default: 20 |
| If-None-Match | string Return |
| Accept-Language | string Example: en Locale for translated tour/guide fields |
{- "guideId": "57a2c85a-fbd7-4e1d-a11d-cd419b69c36a",
- "username": "string",
- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "slug": "string",
- "city": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "slug": "string",
- "countryCode": "string",
- "lat": 0,
- "lng": 0
}, - "isBookable": true,
- "currency": "EUR",
- "priceFromMinorUnits": 0,
- "guideCount": 0,
- "links": {
- "profile": {
- "path": "/guides/jane-doe",
- "attribution": {
- "params": {
- "kg_assoc": "irish-tour-guides",
- "utm_source": "irish-tour-guides",
- "utm_medium": "association_api",
- "utm_campaign": "member-directory"
}, - "queryString": "kg_assoc=irish-tour-guides&utm_source=irish-tour-guides&utm_medium=association_api&utm_campaign=member-directory"
}
}, - "book": {
- "path": "/guides/jane-doe",
- "attribution": {
- "params": {
- "kg_assoc": "irish-tour-guides",
- "utm_source": "irish-tour-guides",
- "utm_medium": "association_api",
- "utm_campaign": "member-directory"
}, - "queryString": "kg_assoc=irish-tour-guides&utm_source=irish-tour-guides&utm_medium=association_api&utm_campaign=member-directory"
}, - "target": "tour_booking_page",
- "hrefTemplate": "https://keyguidesconnect.com/tours/paris-highlights?kg_assoc=irish-tour-guides&utm_source=irish-tour-guides&utm_medium=association_api&date={date}&time={time}&groupSize={groupSize}&offeringId={offeringId}&guideId={guideId}\n",
- "supportedQueryParameters": [
- {
- "name": "groupSize",
- "status": "implemented",
- "format": "date → YYYY-MM-DD",
- "description": "string",
- "integratorAliases": [
- "pax"
]
}
]
}
}
}
], - "pagination": {
- "page": 0,
- "limit": 0,
- "total": 0,
- "totalPages": 0,
- "hasNextPage": true,
- "hasPreviousPage": true
}, - "attribution": {
- "params": {
- "kg_assoc": "irish-tour-guides",
- "utm_source": "irish-tour-guides",
- "utm_medium": "association_api",
- "utm_campaign": "member-directory"
}, - "queryString": "kg_assoc=irish-tour-guides&utm_source=irish-tour-guides&utm_medium=association_api&utm_campaign=member-directory"
}
}| page | integer >= 1 Default: 1 |
| limit | integer [ 1 .. 100 ] Default: 20 |
| city | string City ID or slug (comma-separated) |
| country | string Country code (comma-separated) |
| language | string Language code (comma-separated) |
| interest | string Interest ID or slug (comma-separated) |
| guideId | string Filter to tours linked to this guide (UUID or username) |
| guests | integer >= 1 Affects displayed price (integrator alias |
| dateFrom | string <date> |
| dateTo | string <date> |
| Accept-Language | string Example: en Locale for translated tour/guide fields |
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "slug": "string",
- "city": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "slug": "string",
- "countryCode": "string",
- "lat": 0,
- "lng": 0
}, - "isBookable": true,
- "currency": "EUR",
- "priceFromMinorUnits": 0,
- "guideCount": 0,
- "links": {
- "profile": {
- "path": "/guides/jane-doe",
- "attribution": {
- "params": {
- "kg_assoc": "irish-tour-guides",
- "utm_source": "irish-tour-guides",
- "utm_medium": "association_api",
- "utm_campaign": "member-directory"
}, - "queryString": "kg_assoc=irish-tour-guides&utm_source=irish-tour-guides&utm_medium=association_api&utm_campaign=member-directory"
}
}, - "book": {
- "path": "/guides/jane-doe",
- "attribution": {
- "params": {
- "kg_assoc": "irish-tour-guides",
- "utm_source": "irish-tour-guides",
- "utm_medium": "association_api",
- "utm_campaign": "member-directory"
}, - "queryString": "kg_assoc=irish-tour-guides&utm_source=irish-tour-guides&utm_medium=association_api&utm_campaign=member-directory"
}, - "target": "tour_booking_page",
- "hrefTemplate": "https://keyguidesconnect.com/tours/paris-highlights?kg_assoc=irish-tour-guides&utm_source=irish-tour-guides&utm_medium=association_api&date={date}&time={time}&groupSize={groupSize}&offeringId={offeringId}&guideId={guideId}\n",
- "supportedQueryParameters": [
- {
- "name": "groupSize",
- "status": "implemented",
- "format": "date → YYYY-MM-DD",
- "description": "string",
- "integratorAliases": [
- "pax"
]
}
]
}
}
}
], - "pagination": {
- "page": 0,
- "limit": 0,
- "total": 0,
- "totalPages": 0,
- "hasNextPage": true,
- "hasPreviousPage": true
}, - "attribution": {
- "params": {
- "kg_assoc": "irish-tour-guides",
- "utm_source": "irish-tour-guides",
- "utm_medium": "association_api",
- "utm_campaign": "member-directory"
}, - "queryString": "kg_assoc=irish-tour-guides&utm_source=irish-tour-guides&utm_medium=association_api&utm_campaign=member-directory"
}
}| tourId required | string Tour UUID or slug |
| Accept-Language | string Example: en Locale for translated tour/guide fields |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "slug": "string",
- "introduction": "string",
- "description": "string",
- "cityId": "c903c051-7337-48de-bbe0-bca96fcde3f4",
- "city": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "slug": "string",
- "countryCode": "string",
- "lat": 0,
- "lng": 0
}, - "isBookable": true,
- "currency": "EUR",
- "links": {
- "profile": {
- "path": "/guides/jane-doe",
- "attribution": {
- "params": {
- "kg_assoc": "irish-tour-guides",
- "utm_source": "irish-tour-guides",
- "utm_medium": "association_api",
- "utm_campaign": "member-directory"
}, - "queryString": "kg_assoc=irish-tour-guides&utm_source=irish-tour-guides&utm_medium=association_api&utm_campaign=member-directory"
}
}, - "book": {
- "path": "/guides/jane-doe",
- "attribution": {
- "params": {
- "kg_assoc": "irish-tour-guides",
- "utm_source": "irish-tour-guides",
- "utm_medium": "association_api",
- "utm_campaign": "member-directory"
}, - "queryString": "kg_assoc=irish-tour-guides&utm_source=irish-tour-guides&utm_medium=association_api&utm_campaign=member-directory"
}, - "target": "tour_booking_page",
- "hrefTemplate": "https://keyguidesconnect.com/tours/paris-highlights?kg_assoc=irish-tour-guides&utm_source=irish-tour-guides&utm_medium=association_api&date={date}&time={time}&groupSize={groupSize}&offeringId={offeringId}&guideId={guideId}\n",
- "supportedQueryParameters": [
- {
- "name": "groupSize",
- "status": "implemented",
- "format": "date → YYYY-MM-DD",
- "description": "string",
- "integratorAliases": [
- "pax"
]
}
]
}
}, - "offerings": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "currency": "EUR",
- "minGroupSize": 0,
- "maxGroupSize": 0,
- "durationMinutes": 0,
- "active": true,
- "sortOrder": 0,
- "priceType": "PP",
- "pricePerPersonMinorUnits": 0
}
], - "guides": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "username": "string",
- "displayName": "string"
}
]
}| scope | string Default: "all" Enum: "all" "guides" "tours" Which catalog to derive facets from |
| Accept-Language | string Example: en Locale for translated tour/guide fields |
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "slug": "string",
- "countryCode": "string",
- "countryName": "string",
- "guideCount": 0,
- "tourCount": 0
}
], - "meta": {
- "scope": "all",
- "associationId": "86c2871c-672a-47a4-b9a4-9a75fd0329c2",
- "generatedAt": "2019-08-24T14:15:22Z"
}
}| scope | string Default: "all" Enum: "all" "guides" "tours" Which catalog to derive facets from |
| Accept-Language | string Example: en Locale for translated tour/guide fields |
{- "data": [
- {
- "code": "FR",
- "name": "string",
- "guideCount": 0,
- "tourCount": 0
}
], - "meta": {
- "scope": "all",
- "associationId": "86c2871c-672a-47a4-b9a4-9a75fd0329c2",
- "generatedAt": "2019-08-24T14:15:22Z"
}
}| scope | string Default: "all" Enum: "all" "guides" "tours" Which catalog to derive facets from |
| Accept-Language | string Example: en Locale for translated tour/guide fields |
{- "data": [
- {
- "code": "en",
- "name": "string",
- "guideCount": 0
}
], - "meta": {
- "scope": "all",
- "associationId": "86c2871c-672a-47a4-b9a4-9a75fd0329c2",
- "generatedAt": "2019-08-24T14:15:22Z"
}
}| scope | string Default: "all" Enum: "all" "guides" "tours" Which catalog to derive facets from |
| Accept-Language | string Example: en Locale for translated tour/guide fields |
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "slug": "string",
- "guideCount": 0,
- "tourCount": 0
}
], - "meta": {
- "scope": "all",
- "associationId": "86c2871c-672a-47a4-b9a4-9a75fd0329c2",
- "generatedAt": "2019-08-24T14:15:22Z"
}
}200 with empty availability = bookable but no slots in window.
409 guide_not_bookable = guide cannot be booked at all.
400 range_too_large when span > 90 days.
| guideId required | string Guide UUID or username |
| fromDate required | string <date> Example: fromDate=2026-06-01 Inclusive start (calendar date in guide |
| toDate required | string <date> Example: toDate=2026-06-30 Inclusive end. |
| durationMinutes | integer >= 15 Example: durationMinutes=120 Slot length in minutes. Required unless |
| offeringId | string <uuid> Optional; when set, |
{- "guideId": "57a2c85a-fbd7-4e1d-a11d-cd419b69c36a",
- "username": "string",
- "durationMinutes": 0,
- "fromDate": "2019-08-24",
- "toDate": "2019-08-24",
- "timeZone": "Europe/Paris",
- "offeringId": "539ace7f-4593-4a19-ba60-d31118c061f5",
- "availability": [
- {
- "date": "2019-08-24",
- "slots": [
- {
- "startTime": "2019-08-24T14:15:22Z",
- "endTime": "2026-06-15T12:00:00+02:00",
- "time": "10:00"
}
]
}
], - "links": {
- "book": {
- "path": "/guides/jane-doe",
- "attribution": {
- "params": {
- "kg_assoc": "irish-tour-guides",
- "utm_source": "irish-tour-guides",
- "utm_medium": "association_api",
- "utm_campaign": "member-directory"
}, - "queryString": "kg_assoc=irish-tour-guides&utm_source=irish-tour-guides&utm_medium=association_api&utm_campaign=member-directory"
}, - "target": "tour_booking_page",
- "hrefTemplate": "https://keyguidesconnect.com/tours/paris-highlights?kg_assoc=irish-tour-guides&utm_source=irish-tour-guides&utm_medium=association_api&date={date}&time={time}&groupSize={groupSize}&offeringId={offeringId}&guideId={guideId}\n",
- "supportedQueryParameters": [
- {
- "name": "groupSize",
- "status": "implemented",
- "format": "date → YYYY-MM-DD",
- "description": "string",
- "integratorAliases": [
- "pax"
]
}
]
}
}
}| tourId required | string Tour UUID or slug |
| guideId required | string Example: guideId=jane-doe Guide whose calendar to read (must be linked to the tour and ACTIVE) |
| fromDate required | string <date> Example: fromDate=2026-06-01 Inclusive start (calendar date in guide |
| toDate required | string <date> Example: toDate=2026-06-30 Inclusive end. |
| durationMinutes | integer >= 15 Example: durationMinutes=120 Slot length in minutes. Required unless |
| offeringId | string <uuid> Recommended; duration is taken from the offering |
{- "tourId": "eb2f92e7-0760-4174-a0f6-c120b0ef2ec8",
- "tourSlug": "string",
- "guideId": "57a2c85a-fbd7-4e1d-a11d-cd419b69c36a",
- "offeringId": "539ace7f-4593-4a19-ba60-d31118c061f5",
- "durationMinutes": 0,
- "fromDate": "2019-08-24",
- "toDate": "2019-08-24",
- "timeZone": "Europe/Paris",
- "availability": [
- {
- "date": "2019-08-24",
- "slots": [
- {
- "startTime": "2019-08-24T14:15:22Z",
- "endTime": "2026-06-15T12:00:00+02:00",
- "time": "10:00"
}
]
}
], - "links": {
- "book": {
- "path": "/guides/jane-doe",
- "attribution": {
- "params": {
- "kg_assoc": "irish-tour-guides",
- "utm_source": "irish-tour-guides",
- "utm_medium": "association_api",
- "utm_campaign": "member-directory"
}, - "queryString": "kg_assoc=irish-tour-guides&utm_source=irish-tour-guides&utm_medium=association_api&utm_campaign=member-directory"
}, - "target": "tour_booking_page",
- "hrefTemplate": "https://keyguidesconnect.com/tours/paris-highlights?kg_assoc=irish-tour-guides&utm_source=irish-tour-guides&utm_medium=association_api&date={date}&time={time}&groupSize={groupSize}&offeringId={offeringId}&guideId={guideId}\n",
- "supportedQueryParameters": [
- {
- "name": "groupSize",
- "status": "implemented",
- "format": "date → YYYY-MM-DD",
- "description": "string",
- "integratorAliases": [
- "pax"
]
}
]
}
}
}| X-Keyguides-Event-Id required | string Unique delivery id (same as WebhookEnvelope.id); use for idempotency |
| X-Keyguides-Signature required | string Example: t=1716300000,v1=abc123def456...
|
| X-Keyguides-Timestamp | string Duplicate of |
| id required | string Event id for deduplication |
| type required | string Enum: "guide.member.activated" "guide.member.deactivated" "guide.updated" "tour.published" "tour.unpublished" "tour.updated" "guide.calendar.disconnected" "guide.calendar.reconnected" |
| createdAt required | string <date-time> |
required | MemberWebhookData (object) or GuideUpdatedWebhookData (object) or TourWebhookData (object) or GuideCalendarWebhookData (object) Payload shape depends on |
{- "id": "string",
- "type": "guide.member.activated",
- "createdAt": "2019-08-24T14:15:22Z",
- "data": {
- "guideId": "57a2c85a-fbd7-4e1d-a11d-cd419b69c36a",
- "username": "string",
- "associationId": "86c2871c-672a-47a4-b9a4-9a75fd0329c2",
- "status": "PENDING",
- "attribution": {
- "params": {
- "kg_assoc": "irish-tour-guides",
- "utm_source": "irish-tour-guides",
- "utm_medium": "association_api",
- "utm_campaign": "member-directory"
}, - "queryString": "kg_assoc=irish-tour-guides&utm_source=irish-tour-guides&utm_medium=association_api&utm_campaign=member-directory"
}, - "links": {
- "profile": {
- "path": "/guides/jane-doe",
- "attribution": {
- "params": {
- "kg_assoc": "irish-tour-guides",
- "utm_source": "irish-tour-guides",
- "utm_medium": "association_api",
- "utm_campaign": "member-directory"
}, - "queryString": "kg_assoc=irish-tour-guides&utm_source=irish-tour-guides&utm_medium=association_api&utm_campaign=member-directory"
}
}, - "book": {
- "path": "/guides/jane-doe",
- "attribution": {
- "params": {
- "kg_assoc": "irish-tour-guides",
- "utm_source": "irish-tour-guides",
- "utm_medium": "association_api",
- "utm_campaign": "member-directory"
}, - "queryString": "kg_assoc=irish-tour-guides&utm_source=irish-tour-guides&utm_medium=association_api&utm_campaign=member-directory"
}, - "target": "tour_booking_page",
- "hrefTemplate": "https://keyguidesconnect.com/tours/paris-highlights?kg_assoc=irish-tour-guides&utm_source=irish-tour-guides&utm_medium=association_api&date={date}&time={time}&groupSize={groupSize}&offeringId={offeringId}&guideId={guideId}\n",
- "supportedQueryParameters": [
- {
- "name": "groupSize",
- "status": "implemented",
- "format": "date → YYYY-MM-DD",
- "description": "string",
- "integratorAliases": [
- "pax"
]
}
]
}
}, - "invalidate": {
- "flushAll": true,
- "guidesList": true,
- "toursList": true,
- "referenceData": true,
- "guideIds": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
], - "tourIds": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
}
}
}| X-Keyguides-Event-Id required | string Unique delivery id (same as WebhookEnvelope.id); use for idempotency |
| X-Keyguides-Signature required | string Example: t=1716300000,v1=abc123def456...
|
| X-Keyguides-Timestamp | string Duplicate of |
| id required | string Event id for deduplication |
| type required | string Enum: "guide.member.activated" "guide.member.deactivated" "guide.updated" "tour.published" "tour.unpublished" "tour.updated" "guide.calendar.disconnected" "guide.calendar.reconnected" |
| createdAt required | string <date-time> |
required | MemberWebhookData (object) or GuideUpdatedWebhookData (object) or TourWebhookData (object) or GuideCalendarWebhookData (object) Payload shape depends on |
{- "id": "string",
- "type": "guide.member.activated",
- "createdAt": "2019-08-24T14:15:22Z",
- "data": {
- "guideId": "57a2c85a-fbd7-4e1d-a11d-cd419b69c36a",
- "username": "string",
- "associationId": "86c2871c-672a-47a4-b9a4-9a75fd0329c2",
- "status": "PENDING",
- "attribution": {
- "params": {
- "kg_assoc": "irish-tour-guides",
- "utm_source": "irish-tour-guides",
- "utm_medium": "association_api",
- "utm_campaign": "member-directory"
}, - "queryString": "kg_assoc=irish-tour-guides&utm_source=irish-tour-guides&utm_medium=association_api&utm_campaign=member-directory"
}, - "links": {
- "profile": {
- "path": "/guides/jane-doe",
- "attribution": {
- "params": {
- "kg_assoc": "irish-tour-guides",
- "utm_source": "irish-tour-guides",
- "utm_medium": "association_api",
- "utm_campaign": "member-directory"
}, - "queryString": "kg_assoc=irish-tour-guides&utm_source=irish-tour-guides&utm_medium=association_api&utm_campaign=member-directory"
}
}, - "book": {
- "path": "/guides/jane-doe",
- "attribution": {
- "params": {
- "kg_assoc": "irish-tour-guides",
- "utm_source": "irish-tour-guides",
- "utm_medium": "association_api",
- "utm_campaign": "member-directory"
}, - "queryString": "kg_assoc=irish-tour-guides&utm_source=irish-tour-guides&utm_medium=association_api&utm_campaign=member-directory"
}, - "target": "tour_booking_page",
- "hrefTemplate": "https://keyguidesconnect.com/tours/paris-highlights?kg_assoc=irish-tour-guides&utm_source=irish-tour-guides&utm_medium=association_api&date={date}&time={time}&groupSize={groupSize}&offeringId={offeringId}&guideId={guideId}\n",
- "supportedQueryParameters": [
- {
- "name": "groupSize",
- "status": "implemented",
- "format": "date → YYYY-MM-DD",
- "description": "string",
- "integratorAliases": [
- "pax"
]
}
]
}
}, - "invalidate": {
- "flushAll": true,
- "guidesList": true,
- "toursList": true,
- "referenceData": true,
- "guideIds": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
], - "tourIds": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
}
}
}| X-Keyguides-Event-Id required | string Unique delivery id (same as WebhookEnvelope.id); use for idempotency |
| X-Keyguides-Signature required | string Example: t=1716300000,v1=abc123def456...
|
| X-Keyguides-Timestamp | string Duplicate of |
| id required | string Event id for deduplication |
| type required | string Enum: "guide.member.activated" "guide.member.deactivated" "guide.updated" "tour.published" "tour.unpublished" "tour.updated" "guide.calendar.disconnected" "guide.calendar.reconnected" |
| createdAt required | string <date-time> |
required | MemberWebhookData (object) or GuideUpdatedWebhookData (object) or TourWebhookData (object) or GuideCalendarWebhookData (object) Payload shape depends on |
{- "id": "string",
- "type": "guide.member.activated",
- "createdAt": "2019-08-24T14:15:22Z",
- "data": {
- "guideId": "57a2c85a-fbd7-4e1d-a11d-cd419b69c36a",
- "username": "string",
- "associationId": "86c2871c-672a-47a4-b9a4-9a75fd0329c2",
- "status": "PENDING",
- "attribution": {
- "params": {
- "kg_assoc": "irish-tour-guides",
- "utm_source": "irish-tour-guides",
- "utm_medium": "association_api",
- "utm_campaign": "member-directory"
}, - "queryString": "kg_assoc=irish-tour-guides&utm_source=irish-tour-guides&utm_medium=association_api&utm_campaign=member-directory"
}, - "links": {
- "profile": {
- "path": "/guides/jane-doe",
- "attribution": {
- "params": {
- "kg_assoc": "irish-tour-guides",
- "utm_source": "irish-tour-guides",
- "utm_medium": "association_api",
- "utm_campaign": "member-directory"
}, - "queryString": "kg_assoc=irish-tour-guides&utm_source=irish-tour-guides&utm_medium=association_api&utm_campaign=member-directory"
}
}, - "book": {
- "path": "/guides/jane-doe",
- "attribution": {
- "params": {
- "kg_assoc": "irish-tour-guides",
- "utm_source": "irish-tour-guides",
- "utm_medium": "association_api",
- "utm_campaign": "member-directory"
}, - "queryString": "kg_assoc=irish-tour-guides&utm_source=irish-tour-guides&utm_medium=association_api&utm_campaign=member-directory"
}, - "target": "tour_booking_page",
- "hrefTemplate": "https://keyguidesconnect.com/tours/paris-highlights?kg_assoc=irish-tour-guides&utm_source=irish-tour-guides&utm_medium=association_api&date={date}&time={time}&groupSize={groupSize}&offeringId={offeringId}&guideId={guideId}\n",
- "supportedQueryParameters": [
- {
- "name": "groupSize",
- "status": "implemented",
- "format": "date → YYYY-MM-DD",
- "description": "string",
- "integratorAliases": [
- "pax"
]
}
]
}
}, - "invalidate": {
- "flushAll": true,
- "guidesList": true,
- "toursList": true,
- "referenceData": true,
- "guideIds": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
], - "tourIds": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
}
}
}| X-Keyguides-Event-Id required | string Unique delivery id (same as WebhookEnvelope.id); use for idempotency |
| X-Keyguides-Signature required | string Example: t=1716300000,v1=abc123def456...
|
| X-Keyguides-Timestamp | string Duplicate of |
| id required | string Event id for deduplication |
| type required | string Enum: "guide.member.activated" "guide.member.deactivated" "guide.updated" "tour.published" "tour.unpublished" "tour.updated" "guide.calendar.disconnected" "guide.calendar.reconnected" |
| createdAt required | string <date-time> |
required | MemberWebhookData (object) or GuideUpdatedWebhookData (object) or TourWebhookData (object) or GuideCalendarWebhookData (object) Payload shape depends on |
{- "id": "string",
- "type": "guide.member.activated",
- "createdAt": "2019-08-24T14:15:22Z",
- "data": {
- "guideId": "57a2c85a-fbd7-4e1d-a11d-cd419b69c36a",
- "username": "string",
- "associationId": "86c2871c-672a-47a4-b9a4-9a75fd0329c2",
- "status": "PENDING",
- "attribution": {
- "params": {
- "kg_assoc": "irish-tour-guides",
- "utm_source": "irish-tour-guides",
- "utm_medium": "association_api",
- "utm_campaign": "member-directory"
}, - "queryString": "kg_assoc=irish-tour-guides&utm_source=irish-tour-guides&utm_medium=association_api&utm_campaign=member-directory"
}, - "links": {
- "profile": {
- "path": "/guides/jane-doe",
- "attribution": {
- "params": {
- "kg_assoc": "irish-tour-guides",
- "utm_source": "irish-tour-guides",
- "utm_medium": "association_api",
- "utm_campaign": "member-directory"
}, - "queryString": "kg_assoc=irish-tour-guides&utm_source=irish-tour-guides&utm_medium=association_api&utm_campaign=member-directory"
}
}, - "book": {
- "path": "/guides/jane-doe",
- "attribution": {
- "params": {
- "kg_assoc": "irish-tour-guides",
- "utm_source": "irish-tour-guides",
- "utm_medium": "association_api",
- "utm_campaign": "member-directory"
}, - "queryString": "kg_assoc=irish-tour-guides&utm_source=irish-tour-guides&utm_medium=association_api&utm_campaign=member-directory"
}, - "target": "tour_booking_page",
- "hrefTemplate": "https://keyguidesconnect.com/tours/paris-highlights?kg_assoc=irish-tour-guides&utm_source=irish-tour-guides&utm_medium=association_api&date={date}&time={time}&groupSize={groupSize}&offeringId={offeringId}&guideId={guideId}\n",
- "supportedQueryParameters": [
- {
- "name": "groupSize",
- "status": "implemented",
- "format": "date → YYYY-MM-DD",
- "description": "string",
- "integratorAliases": [
- "pax"
]
}
]
}
}, - "invalidate": {
- "flushAll": true,
- "guidesList": true,
- "toursList": true,
- "referenceData": true,
- "guideIds": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
], - "tourIds": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
}
}
}| X-Keyguides-Event-Id required | string Unique delivery id (same as WebhookEnvelope.id); use for idempotency |
| X-Keyguides-Signature required | string Example: t=1716300000,v1=abc123def456...
|
| X-Keyguides-Timestamp | string Duplicate of |
| id required | string Event id for deduplication |
| type required | string Enum: "guide.member.activated" "guide.member.deactivated" "guide.updated" "tour.published" "tour.unpublished" "tour.updated" "guide.calendar.disconnected" "guide.calendar.reconnected" |
| createdAt required | string <date-time> |
required | MemberWebhookData (object) or GuideUpdatedWebhookData (object) or TourWebhookData (object) or GuideCalendarWebhookData (object) Payload shape depends on |
{- "id": "string",
- "type": "guide.member.activated",
- "createdAt": "2019-08-24T14:15:22Z",
- "data": {
- "guideId": "57a2c85a-fbd7-4e1d-a11d-cd419b69c36a",
- "username": "string",
- "associationId": "86c2871c-672a-47a4-b9a4-9a75fd0329c2",
- "status": "PENDING",
- "attribution": {
- "params": {
- "kg_assoc": "irish-tour-guides",
- "utm_source": "irish-tour-guides",
- "utm_medium": "association_api",
- "utm_campaign": "member-directory"
}, - "queryString": "kg_assoc=irish-tour-guides&utm_source=irish-tour-guides&utm_medium=association_api&utm_campaign=member-directory"
}, - "links": {
- "profile": {
- "path": "/guides/jane-doe",
- "attribution": {
- "params": {
- "kg_assoc": "irish-tour-guides",
- "utm_source": "irish-tour-guides",
- "utm_medium": "association_api",
- "utm_campaign": "member-directory"
}, - "queryString": "kg_assoc=irish-tour-guides&utm_source=irish-tour-guides&utm_medium=association_api&utm_campaign=member-directory"
}
}, - "book": {
- "path": "/guides/jane-doe",
- "attribution": {
- "params": {
- "kg_assoc": "irish-tour-guides",
- "utm_source": "irish-tour-guides",
- "utm_medium": "association_api",
- "utm_campaign": "member-directory"
}, - "queryString": "kg_assoc=irish-tour-guides&utm_source=irish-tour-guides&utm_medium=association_api&utm_campaign=member-directory"
}, - "target": "tour_booking_page",
- "hrefTemplate": "https://keyguidesconnect.com/tours/paris-highlights?kg_assoc=irish-tour-guides&utm_source=irish-tour-guides&utm_medium=association_api&date={date}&time={time}&groupSize={groupSize}&offeringId={offeringId}&guideId={guideId}\n",
- "supportedQueryParameters": [
- {
- "name": "groupSize",
- "status": "implemented",
- "format": "date → YYYY-MM-DD",
- "description": "string",
- "integratorAliases": [
- "pax"
]
}
]
}
}, - "invalidate": {
- "flushAll": true,
- "guidesList": true,
- "toursList": true,
- "referenceData": true,
- "guideIds": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
], - "tourIds": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
}
}
}| X-Keyguides-Event-Id required | string Unique delivery id (same as WebhookEnvelope.id); use for idempotency |
| X-Keyguides-Signature required | string Example: t=1716300000,v1=abc123def456...
|
| X-Keyguides-Timestamp | string Duplicate of |
| id required | string Event id for deduplication |
| type required | string Enum: "guide.member.activated" "guide.member.deactivated" "guide.updated" "tour.published" "tour.unpublished" "tour.updated" "guide.calendar.disconnected" "guide.calendar.reconnected" |
| createdAt required | string <date-time> |
required | MemberWebhookData (object) or GuideUpdatedWebhookData (object) or TourWebhookData (object) or GuideCalendarWebhookData (object) Payload shape depends on |
{- "id": "string",
- "type": "guide.member.activated",
- "createdAt": "2019-08-24T14:15:22Z",
- "data": {
- "guideId": "57a2c85a-fbd7-4e1d-a11d-cd419b69c36a",
- "username": "string",
- "associationId": "86c2871c-672a-47a4-b9a4-9a75fd0329c2",
- "status": "PENDING",
- "attribution": {
- "params": {
- "kg_assoc": "irish-tour-guides",
- "utm_source": "irish-tour-guides",
- "utm_medium": "association_api",
- "utm_campaign": "member-directory"
}, - "queryString": "kg_assoc=irish-tour-guides&utm_source=irish-tour-guides&utm_medium=association_api&utm_campaign=member-directory"
}, - "links": {
- "profile": {
- "path": "/guides/jane-doe",
- "attribution": {
- "params": {
- "kg_assoc": "irish-tour-guides",
- "utm_source": "irish-tour-guides",
- "utm_medium": "association_api",
- "utm_campaign": "member-directory"
}, - "queryString": "kg_assoc=irish-tour-guides&utm_source=irish-tour-guides&utm_medium=association_api&utm_campaign=member-directory"
}
}, - "book": {
- "path": "/guides/jane-doe",
- "attribution": {
- "params": {
- "kg_assoc": "irish-tour-guides",
- "utm_source": "irish-tour-guides",
- "utm_medium": "association_api",
- "utm_campaign": "member-directory"
}, - "queryString": "kg_assoc=irish-tour-guides&utm_source=irish-tour-guides&utm_medium=association_api&utm_campaign=member-directory"
}, - "target": "tour_booking_page",
- "hrefTemplate": "https://keyguidesconnect.com/tours/paris-highlights?kg_assoc=irish-tour-guides&utm_source=irish-tour-guides&utm_medium=association_api&date={date}&time={time}&groupSize={groupSize}&offeringId={offeringId}&guideId={guideId}\n",
- "supportedQueryParameters": [
- {
- "name": "groupSize",
- "status": "implemented",
- "format": "date → YYYY-MM-DD",
- "description": "string",
- "integratorAliases": [
- "pax"
]
}
]
}
}, - "invalidate": {
- "flushAll": true,
- "guidesList": true,
- "toursList": true,
- "referenceData": true,
- "guideIds": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
], - "tourIds": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
}
}
}| X-Keyguides-Event-Id required | string Unique delivery id (same as WebhookEnvelope.id); use for idempotency |
| X-Keyguides-Signature required | string Example: t=1716300000,v1=abc123def456...
|
| X-Keyguides-Timestamp | string Duplicate of |
| id required | string Event id for deduplication |
| type required | string Enum: "guide.member.activated" "guide.member.deactivated" "guide.updated" "tour.published" "tour.unpublished" "tour.updated" "guide.calendar.disconnected" "guide.calendar.reconnected" |
| createdAt required | string <date-time> |
required | MemberWebhookData (object) or GuideUpdatedWebhookData (object) or TourWebhookData (object) or GuideCalendarWebhookData (object) Payload shape depends on |
{- "id": "string",
- "type": "guide.member.activated",
- "createdAt": "2019-08-24T14:15:22Z",
- "data": {
- "guideId": "57a2c85a-fbd7-4e1d-a11d-cd419b69c36a",
- "username": "string",
- "associationId": "86c2871c-672a-47a4-b9a4-9a75fd0329c2",
- "status": "PENDING",
- "attribution": {
- "params": {
- "kg_assoc": "irish-tour-guides",
- "utm_source": "irish-tour-guides",
- "utm_medium": "association_api",
- "utm_campaign": "member-directory"
}, - "queryString": "kg_assoc=irish-tour-guides&utm_source=irish-tour-guides&utm_medium=association_api&utm_campaign=member-directory"
}, - "links": {
- "profile": {
- "path": "/guides/jane-doe",
- "attribution": {
- "params": {
- "kg_assoc": "irish-tour-guides",
- "utm_source": "irish-tour-guides",
- "utm_medium": "association_api",
- "utm_campaign": "member-directory"
}, - "queryString": "kg_assoc=irish-tour-guides&utm_source=irish-tour-guides&utm_medium=association_api&utm_campaign=member-directory"
}
}, - "book": {
- "path": "/guides/jane-doe",
- "attribution": {
- "params": {
- "kg_assoc": "irish-tour-guides",
- "utm_source": "irish-tour-guides",
- "utm_medium": "association_api",
- "utm_campaign": "member-directory"
}, - "queryString": "kg_assoc=irish-tour-guides&utm_source=irish-tour-guides&utm_medium=association_api&utm_campaign=member-directory"
}, - "target": "tour_booking_page",
- "hrefTemplate": "https://keyguidesconnect.com/tours/paris-highlights?kg_assoc=irish-tour-guides&utm_source=irish-tour-guides&utm_medium=association_api&date={date}&time={time}&groupSize={groupSize}&offeringId={offeringId}&guideId={guideId}\n",
- "supportedQueryParameters": [
- {
- "name": "groupSize",
- "status": "implemented",
- "format": "date → YYYY-MM-DD",
- "description": "string",
- "integratorAliases": [
- "pax"
]
}
]
}
}, - "invalidate": {
- "flushAll": true,
- "guidesList": true,
- "toursList": true,
- "referenceData": true,
- "guideIds": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
], - "tourIds": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
}
}
}| X-Keyguides-Event-Id required | string Unique delivery id (same as WebhookEnvelope.id); use for idempotency |
| X-Keyguides-Signature required | string Example: t=1716300000,v1=abc123def456...
|
| X-Keyguides-Timestamp | string Duplicate of |
| id required | string Event id for deduplication |
| type required | string Enum: "guide.member.activated" "guide.member.deactivated" "guide.updated" "tour.published" "tour.unpublished" "tour.updated" "guide.calendar.disconnected" "guide.calendar.reconnected" |
| createdAt required | string <date-time> |
required | MemberWebhookData (object) or GuideUpdatedWebhookData (object) or TourWebhookData (object) or GuideCalendarWebhookData (object) Payload shape depends on |
{- "id": "string",
- "type": "guide.member.activated",
- "createdAt": "2019-08-24T14:15:22Z",
- "data": {
- "guideId": "57a2c85a-fbd7-4e1d-a11d-cd419b69c36a",
- "username": "string",
- "associationId": "86c2871c-672a-47a4-b9a4-9a75fd0329c2",
- "status": "PENDING",
- "attribution": {
- "params": {
- "kg_assoc": "irish-tour-guides",
- "utm_source": "irish-tour-guides",
- "utm_medium": "association_api",
- "utm_campaign": "member-directory"
}, - "queryString": "kg_assoc=irish-tour-guides&utm_source=irish-tour-guides&utm_medium=association_api&utm_campaign=member-directory"
}, - "links": {
- "profile": {
- "path": "/guides/jane-doe",
- "attribution": {
- "params": {
- "kg_assoc": "irish-tour-guides",
- "utm_source": "irish-tour-guides",
- "utm_medium": "association_api",
- "utm_campaign": "member-directory"
}, - "queryString": "kg_assoc=irish-tour-guides&utm_source=irish-tour-guides&utm_medium=association_api&utm_campaign=member-directory"
}
}, - "book": {
- "path": "/guides/jane-doe",
- "attribution": {
- "params": {
- "kg_assoc": "irish-tour-guides",
- "utm_source": "irish-tour-guides",
- "utm_medium": "association_api",
- "utm_campaign": "member-directory"
}, - "queryString": "kg_assoc=irish-tour-guides&utm_source=irish-tour-guides&utm_medium=association_api&utm_campaign=member-directory"
}, - "target": "tour_booking_page",
- "hrefTemplate": "https://keyguidesconnect.com/tours/paris-highlights?kg_assoc=irish-tour-guides&utm_source=irish-tour-guides&utm_medium=association_api&date={date}&time={time}&groupSize={groupSize}&offeringId={offeringId}&guideId={guideId}\n",
- "supportedQueryParameters": [
- {
- "name": "groupSize",
- "status": "implemented",
- "format": "date → YYYY-MM-DD",
- "description": "string",
- "integratorAliases": [
- "pax"
]
}
]
}
}, - "invalidate": {
- "flushAll": true,
- "guidesList": true,
- "toursList": true,
- "referenceData": true,
- "guideIds": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
], - "tourIds": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
}
}
}