Skip to content

Text a deposit link

POST
/public/v1/bookings/{reference}/deposit-link
curl --request POST \
--url https://example.kwickbooking.com/public/v1/bookings/example/deposit-link \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "phone": "07911 123456", "venueId": null }'

Texts the guest the link to pay their deposit, or the top-up after a bigger party, to the phone number stored on the booking only. The phone in the request verifies the caller; it is never where the text goes. Needs the venue’s SMS deposit-link template. At most three texts per booking an hour. Send an Idempotency-Key header.

reference
required
string
Media typeapplication/json

POST /public/v1/bookings/{reference}/deposit-link: the phone on the booking (it verifies the caller; it is never where the link goes).

object
phone
required
string
venueId
null | string format: uuid
Example
{
"phone": "07911 123456",
"venueId": null
}

OK

Media typeapplication/json

The deposit link sent: how much, how (always text), when it expires (venue-local yyyy-MM-ddTHH:mm), and a summary.

object
outcome
required
string
amountPence
required
integer format: int32
amountDisplay
required
string
sentTo
required
string
linkExpiresAt
required
string
summary
required
string
Example
{
"outcome": "sent",
"amountPence": 9000,
"amountDisplay": "£90.00",
"sentTo": "text",
"linkExpiresAt": "2026-10-16T20:41",
"summary": "I've texted the £90.00 deposit link to the number on the booking. It expires at 20:41."
}
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-key-required

Idempotency-Key required

{
"type": "https://developers.kwickblocks.ai/problems/idempotency-key-required",
"title": "Idempotency-Key required",
"status": 400,
"detail": "This request needs an Idempotency-Key header."
}

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
Examplecapability-missing

Capability not granted

{
"type": "https://developers.kwickblocks.ai/problems/capability-missing",
"title": "Capability not granted",
"status": 403,
"detail": "This integration key isn't allowed to do that. Ask the venue's admin to add the capability."
}
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
Examplebooking-not-found

Booking not found

{
"type": "https://developers.kwickblocks.ai/problems/booking-not-found",
"title": "Booking not found",
"status": 404,
"detail": "I couldn't find a booking with that reference and phone number."
}
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

Booking can't be changed

{
"type": "https://developers.kwickblocks.ai/problems/booking-not-changeable",
"title": "Booking can't be changed",
"status": 409,
"detail": "This booking can't be changed any more."
}
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

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."
}