Publikt REST-API för externa system (t.ex. Tjing) att skapa och läsa event och samåkningsinlägg. Läs och integrera fritt.
Skicka en API-nyckel som Authorization: Bearer <nyckel> eller X-API-Key: <nyckel>. Nycklar utfärdas av administratörer via inloggad admin-vy. Kontakta ansvarig arrangör för att få en nyckel.
/api/public/v1/eventsLista publicerade publika event. Filtrera med ?status= och ?external_source=.
/api/public/v1/eventsSkapa eller uppdatera event. Idempotent på (external_source, external_event_id).
/api/public/v1/events/{id}Hämta ett event.
/api/public/v1/events/{id}Uppdatera delvis.
/api/public/v1/events/{id}/statsAggregerad statistik (drivers, passengers, available_seats).
/api/public/v1/events/{id}/postsAnonymiserad lista av samåkningsinlägg.
/api/public/v1/events/{id}/closeStäng event för nya inlägg.
/api/public/v1/events/{id}/archiveArkivera event.
/api/public/v1/events/external/{source}/{external_id}Slå upp event via extern ID.
Full OpenAPI-spec: /api/public/v1/openapi
curl -H "Authorization: Bearer <nyckel>" \
https://din-domän/api/public/v1/events
curl -X POST https://din-domän/api/public/v1/events \
-H "Authorization: Bearer <nyckel>" \
-H "Content-Type: application/json" \
-d '{
"name": "Vår-open 2027",
"city": "Göteborg",
"start_date": "2027-05-01",
"end_date": "2027-05-02",
"external_source": "tjing",
"external_event_id": "abc-123"
}'UNAUTHORIZED – 401. Nyckel saknas eller ogiltig.FORBIDDEN – 403. Nyckel saknar rätt scope.VALIDATION_ERROR – 422. Bodyn matchar inte schemat.NOT_FOUND – 404. Resursen saknas.DB_ERROR – 500. Internt fel.Klistra in i valfri sida (Tjing, WordPress, m.fl.):
<iframe
src="https://din-domän/widget/EVENT_SLUG?lang=sv&theme=auto"
style="width:100%;border:0;min-height:400px"
allow="clipboard-write"
></iframe>
<script>
window.addEventListener("message", (e) => {
if (e.data?.type === "discgolf-samakning:resize") {
const f = document.querySelector('iframe[src*="/widget/' + e.data.slug + '"]');
if (f) f.style.height = e.data.height + "px";
}
});
</script>Parametrar: lang, theme, primaryColor, secondaryColor,showHeader, showStats, defaultTab, ctaLabel, ctaUrl.