Skip to main content
POST
/
events
/
waitlist
/
validate
Validate Waitlist Claim Link
curl --request POST \
  --url https://api.marzipan.co/v1/events/waitlist/validate \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "eventWaitlist": "1a2b3c4d-5e6f-4071-8a9b-0c1d2e3f4a5b",
  "expires": "1786000000",
  "signature": "9f8e7d6c5b4a3928170615243342515e6d7c8b9a0f1e2d3c4b5a6978"
}
'
import requests

url = "https://api.marzipan.co/v1/events/waitlist/validate"

payload = {
"eventWaitlist": "1a2b3c4d-5e6f-4071-8a9b-0c1d2e3f4a5b",
"expires": "1786000000",
"signature": "9f8e7d6c5b4a3928170615243342515e6d7c8b9a0f1e2d3c4b5a6978"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
eventWaitlist: '1a2b3c4d-5e6f-4071-8a9b-0c1d2e3f4a5b',
expires: '1786000000',
signature: '9f8e7d6c5b4a3928170615243342515e6d7c8b9a0f1e2d3c4b5a6978'
})
};

fetch('https://api.marzipan.co/v1/events/waitlist/validate', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://api.marzipan.co/v1/events/waitlist/validate",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'eventWaitlist' => '1a2b3c4d-5e6f-4071-8a9b-0c1d2e3f4a5b',
'expires' => '1786000000',
'signature' => '9f8e7d6c5b4a3928170615243342515e6d7c8b9a0f1e2d3c4b5a6978'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"strings"
"net/http"
"io"
)

func main() {

url := "https://api.marzipan.co/v1/events/waitlist/validate"

payload := strings.NewReader("{\n \"eventWaitlist\": \"1a2b3c4d-5e6f-4071-8a9b-0c1d2e3f4a5b\",\n \"expires\": \"1786000000\",\n \"signature\": \"9f8e7d6c5b4a3928170615243342515e6d7c8b9a0f1e2d3c4b5a6978\"\n}")

req, _ := http.NewRequest("POST", url, payload)

req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.post("https://api.marzipan.co/v1/events/waitlist/validate")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"eventWaitlist\": \"1a2b3c4d-5e6f-4071-8a9b-0c1d2e3f4a5b\",\n \"expires\": \"1786000000\",\n \"signature\": \"9f8e7d6c5b4a3928170615243342515e6d7c8b9a0f1e2d3c4b5a6978\"\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.marzipan.co/v1/events/waitlist/validate")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"eventWaitlist\": \"1a2b3c4d-5e6f-4071-8a9b-0c1d2e3f4a5b\",\n \"expires\": \"1786000000\",\n \"signature\": \"9f8e7d6c5b4a3928170615243342515e6d7c8b9a0f1e2d3c4b5a6978\"\n}"

response = http.request(request)
puts response.read_body
{
  "valid": true,
  "quantity": 2,
  "eventName": "Summer Jazz Night",
  "eventId": "3f1c9d20-5b8e-4c11-a2d7-6e9f0a1b2c3d",
  "expiresAt": "2026-08-10T18:00:00Z"
}
{
"message": "The event waitlist field is required.",
"errors": {
"eventWaitlist": [
"The event waitlist field is required."
]
}
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your API token.

Body

application/json
eventWaitlist
string<uuid>
required

The identifier of the waitlist entry.

expires
string
required

The expiry timestamp from the signed URL.

signature
string
required

The signature from the signed URL.

Response

The claim link is valid.

valid
boolean
quantity
integer

The number of tickets held for the entry.

eventName
string

The name of the event product.

eventId
string<uuid>

The identifier of the event product.

expiresAt
string<date-time> | null

When the promoted spot expires.