POST
/events/{id}/scan
Skanna en biljett och checka in deltagaren. Kräver write-behörighet.
https://ticsie.se/api/v1/integration/events/{id}/scan
URL-parametrar
| Parameter | Typ | Beskrivning |
|---|---|---|
| id | integer | Evenemangets ID |
Request body (JSON)
| Fält | Typ | Obligatorisk | Beskrivning |
|---|---|---|---|
| uuid | string (UUID) | Ja | Biljettens unika UUID (från QR-koden) |
| mode | string | Nej | checkin (standard) eller checkout |
Exempelanrop
curl -X POST "https://ticsie.se/api/v1/integration/events/42/scan" \
-H "X-API-Key: ticsie_pk_your_public_key" \
-H "X-API-Secret: ticsie_sk_your_secret_key" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"}'
$response = Http::withHeaders([
'X-API-Key' => 'ticsie_pk_your_public_key',
'X-API-Secret' => 'ticsie_sk_your_secret_key',
'Accept' => 'application/json',
])->post('https://ticsie.se/api/v1/integration/events/42/scan', [
'uuid' => 'a1b2c3d4-e5f6-7890-abcd-ef1234567890',
]);
$result = $response->json();
const response = await fetch(
"https://ticsie.se/api/v1/integration/events/42/scan",
{
method: "POST",
headers: {
"X-API-Key": "ticsie_pk_your_public_key",
"X-API-Secret": "ticsie_sk_your_secret_key",
"Accept": "application/json",
"Content-Type": "application/json",
},
body: JSON.stringify({
uuid: "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
}),
}
);
const result = await response.json();
import requests
response = requests.post(
"https://ticsie.se/api/v1/integration/events/42/scan",
json={"uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"},
headers={
"X-API-Key": "ticsie_pk_your_public_key",
"X-API-Secret": "ticsie_sk_your_secret_key",
"Accept": "application/json",
},
)
result = response.json()
using var client = new HttpClient();
client.DefaultRequestHeaders.Add("X-API-Key", "ticsie_pk_your_public_key");
client.DefaultRequestHeaders.Add("X-API-Secret", "ticsie_sk_your_secret_key");
client.DefaultRequestHeaders.Add("Accept", "application/json");
var content = new StringContent(
JsonSerializer.Serialize(new {
uuid = "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}),
Encoding.UTF8,
"application/json"
);
var response = await client.PostAsync(
"https://ticsie.se/api/v1/integration/events/42/scan",
content
);
var json = await response.Content.ReadAsStringAsync();
require "net/http"
require "json"
uri = URI("https://ticsie.se/api/v1/integration/events/42/scan")
request = Net::HTTP::Post.new(uri)
request["X-API-Key"] = "ticsie_pk_your_public_key"
request["X-API-Secret"] = "ticsie_sk_your_secret_key"
request["Accept"] = "application/json"
request["Content-Type"] = "application/json"
request.body = { uuid: "a1b2c3d4-e5f6-7890-abcd-ef1234567890" }.to_json
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|
http.request(request)
end
result = JSON.parse(response.body)
Exempelsvar — Lyckad incheckning 200 OK
{
"status": "success",
"message": "Incheckning godkänd! Välkommen, Anna Andersson.",
"attendee_name": "Anna Andersson",
"ticket_type": "Ordinarie",
"seat_label": null
}
Exempelsvar — Redan incheckad 200
{
"status": "already_used",
"message": "Biljetten har redan checkats in kl. 18:32",
"error_code": "TICKET_ALREADY_USED",
"checked_in_at": "2025-07-15T18:32:15.000000Z"
}
Exempelsvar — Ogiltig biljett 200
{
"status": "invalid",
"message": "Biljetten är ogiltig (status: cancelled).",
"error_code": "TICKET_CANCELLED"
}
Exempelsvar — Biljett saknas 404
{
"status": "error",
"message": "Biljetten hittades inte.",
"error_code": "TICKET_NOT_FOUND"
}