API Documentatie

Overzicht

De UpTicket REST API stelt je in staat om tickets, klanten en teamleden te beheren vanuit je eigen applicaties. De API is beschikbaar voor accounts op het Pro- en Enterprise-plan.

Basis URL:

https://api.upticket.nl/v1

Alle responses worden teruggegeven in JSON formaat. Alle verzoeken moeten worden gedaan over HTTPS.

Authenticatie

Authenticeer verzoeken door een API-sleutel mee te sturen in de Authorization header. Je vindt je API-sleutel onder Instellingen → API.

Authorization: Bearer upticket_live_xxxxxxxxxxxx

Bewaar je API-sleutel veilig. Deel hem nooit publiekelijk en sla hem niet op in versiebeheer.

Rate limiting

De API heeft een limiet van 300 verzoeken per minuut per account. Bij overschrijding ontvang je een 429 Too Many Requests respons. De headers X-RateLimit-Limit en X-RateLimit-Remaining zijn beschikbaar in elke respons.

Foutcodes

  • 400 Bad Request — ontbrekende of ongeldige parameters.
  • 401 Unauthorized — ongeldige of ontbrekende API-sleutel.
  • 403 Forbidden — onvoldoende rechten.
  • 404 Not Found — resource bestaat niet.
  • 429 Too Many Requests — rate limit overschreden.
  • 500 Server Error — er is iets misgegaan bij UpTicket.

Tickets ophalen

GET /v1/tickets

Haal een lijst op van alle tickets. Ondersteuning voor paginering en filters.

Query parameters:
  • status — filter op status (nieuw, in_behandeling, opgelost, gesloten)
  • assigned_to — filter op teamlid ID
  • page — paginanummer (standaard: 1)
  • per_page — resultaten per pagina (standaard: 25, max: 100)
curl -X GET "https://api.upticket.nl/v1/tickets?status=nieuw&per_page=10" \ -H "Authorization: Bearer upticket_live_xxxx"

Ticket ophalen

GET /v1/tickets/{id}

Haal de details op van één specifiek ticket.

curl -X GET "https://api.upticket.nl/v1/tickets/TKT-1234" \ -H "Authorization: Bearer upticket_live_xxxx"
Respons:
{ "id": "TKT-1234", "subject": "Login werkt niet", "status": "in_behandeling", "priority": "hoog", "customer": { "email": "klant@example.nl", "name": "Jan de Vries" }, "assigned_to": { "id": "agent_001", "name": "Sophie Aarts" }, "created_at": "2026-02-26T09:00:00Z", "updated_at": "2026-02-26T10:15:00Z" }

Ticket aanmaken

POST /v1/tickets

Maak een nieuw ticket aan.

Request body (JSON):
curl -X POST "https://api.upticket.nl/v1/tickets" \ -H "Authorization: Bearer upticket_live_xxxx" \ -H "Content-Type: application/json" \ -d '{ "subject": "Factuur klopt niet", "description": "De factuur van januari bevat een fout.", "customer_email": "klant@example.nl", "priority": "normaal" }'

Ticket bijwerken

PUT /v1/tickets/{id}

Werk de status, prioriteit of toewijzing bij van een bestaand ticket.

curl -X PUT "https://api.upticket.nl/v1/tickets/TKT-1234" \ -H "Authorization: Bearer upticket_live_xxxx" \ -H "Content-Type: application/json" \ -d '{ "status": "opgelost", "assigned_to": "agent_001" }'

Klanten ophalen

GET /v1/customers

Haal een lijst op van alle klanten in je account.

curl -X GET "https://api.upticket.nl/v1/customers" \ -H "Authorization: Bearer upticket_live_xxxx"

Webhook events

UpTicket stuurt een HTTP POST-verzoek naar jouw ingestelde webhook URL wanneer de volgende events plaatsvinden:

  • ticket.created — nieuw ticket aangemaakt
  • ticket.updated — ticket gewijzigd (status, prioriteit, toewijzing)
  • ticket.closed — ticket gesloten
  • message.received — nieuwe reactie van klant

Configureer webhooks via Instellingen → Integraties → Webhooks of via de documentatie.

Hulp nodig met de API?

Onze developers helpen je graag op weg.

Neem contact op