Skip to content

Add a guest

POST
/public/v1/guests
curl --request POST \
--url https://example.kwickbooking.com/public/v1/guests \
--header 'Content-Type: application/json' \
--header 'X-KB-Publishable-Key: <X-KB-Publishable-Key>' \
--data '{ "type": "Individual", "companyName": null, "vat": null, "primaryContact": { "guestId": null, "fullName": "Sam Patel", "email": "sam@example.com", "phone": "07911 123456", "role": null } }'

Adds the guest making a widget booking, or finds them when they have booked before. Send an Idempotency-Key header.

Media typeapplication/json

Request to create a guest (Individual or Corporate) via the public API.

object
type
required
string
companyName
required
null | string
vat
required
null | string
primaryContact
required

Request to create a contact under a guest.

object
guestId
required
null | string format: uuid
fullName
required
string
email
required
null | string
phone
required
null | string
role
required
null | string
Example
{
"type": "Individual",
"companyName": null,
"vat": null,
"primaryContact": {
"guestId": null,
"fullName": "Sam Patel",
"email": "sam@example.com",
"phone": "07911 123456",
"role": null
}
}

Created

Media typeapplication/json

A guest, individual or corporate, with their contacts.

object
id
required
string format: uuid
type
required
string
companyName
required
null | string
contacts
required
Array<object>

An embedded contact on a guest resource.

object
id
required
string format: uuid
guestId
required
string format: uuid
fullName
required
string
email
required
null | string
phone
required
null | string
role
required
null | string
Example
{
"id": "01920000-0000-7000-8000-000000000011",
"type": "Individual",
"companyName": null,
"contacts": [
{
"id": "01920000-0000-7000-8000-000000000012",
"guestId": "01920000-0000-7000-8000-000000000011",
"fullName": "Sam Patel",
"email": "sam@example.com",
"phone": "+447911123456",
"role": null
}
]
}
Media typeapplication/problem+json

RFC 9457 problem details. type is a URI with a page describing the problem.

object
type
required
string format: uri
title
required
string
status
required
integer format: int32
detail
required

Safe to read to a guest.

string
instance
string
traceId
string
code

A machine-readable code on the widget’s routes.

string
Examples

Validation failed

{
"type": "https://developers.kwickblocks.ai/problems/validation-failed",
"title": "Validation failed",
"status": 400,
"detail": "Some of the details weren't valid. Please check them and try again."
}

Invalid or missing integration key (https://developers.kwickblocks.ai/problems/invalid-key)

Media typeapplication/problem+json

RFC 9457 problem details. type is a URI with a page describing the problem.

object
type
required
string format: uri
title
required
string
status
required
integer format: int32
detail
required

Safe to read to a guest.

string
instance
string
traceId
string
code

A machine-readable code on the widget’s routes.

string
Examples
Exampleinvalid-key

Invalid or missing integration key

{
"type": "https://developers.kwickblocks.ai/problems/invalid-key",
"title": "Invalid or missing integration key",
"status": 401,
"detail": "This integration key isn't valid. Ask the venue's admin for a new one."
}
Media typeapplication/problem+json

RFC 9457 problem details. type is a URI with a page describing the problem.

object
type
required
string format: uri
title
required
string
status
required
integer format: int32
detail
required

Safe to read to a guest.

string
instance
string
traceId
string
code

A machine-readable code on the widget’s routes.

string
Examples
Examplenot-found

Not found

{
"type": "https://developers.kwickblocks.ai/problems/not-found",
"title": "Not found",
"status": 404,
"detail": "I couldn't find that."
}
Media typeapplication/problem+json

RFC 9457 problem details. type is a URI with a page describing the problem.

object
type
required
string format: uri
title
required
string
status
required
integer format: int32
detail
required

Safe to read to a guest.

string
instance
string
traceId
string
code

A machine-readable code on the widget’s routes.

string
Examples
Exampleidempotency-conflict

Idempotency-Key conflict

{
"type": "https://developers.kwickblocks.ai/problems/idempotency-conflict",
"title": "Idempotency-Key conflict",
"status": 409,
"detail": "That Idempotency-Key was already used for a different request."
}
Media typeapplication/problem+json

RFC 9457 problem details. type is a URI with a page describing the problem.

object
type
required
string format: uri
title
required
string
status
required
integer format: int32
detail
required

Safe to read to a guest.

string
instance
string
traceId
string
code

A machine-readable code on the widget’s routes.

string
Examples
Examplerate-limited

Too many requests

{
"type": "https://developers.kwickblocks.ai/problems/rate-limited",
"title": "Too many requests",
"status": 429,
"detail": "There have been too many requests. Please try again in a minute."
}