Naar hoofdinhoud gaan
De Shootbin API geeft je programmatische toegang tot elk onderdeel van de fotobeoordelingsworkflow. Je kunt projecten en albums aanmaken, foto’s uploaden, goedkeuringsstatussen beheren, annotaties vastpinnen op specifieke coördinaten van een afbeelding, nieuwe revisies pushen en de gebruikers in je team beheren, allemaal via HTTP met standaard JSON- en multipart-requests.

Basis-URL

Alle API-endpoints zijn relatief aan de URL van je Shootbin-instantie:
https://your-shootbin-domain.com/api/
Elk endpoint dat in deze referentie wordt vermeld, moet voorafgegaan worden door de bovenstaande basis-URL. Het endpoint voor de projectenlijst is bijvoorbeeld beschikbaar op https://your-shootbin-domain.com/api/projects.

Vereiste abonnement

API-toegang vereist het Agency-abonnement. Als je account een Hobby- of Studio-abonnement heeft, worden alle API-requests geweigerd. Upgrade je abonnement vanuit de Billing-pagina in je accountinstellingen voordat je API-aanroepen doet.

Authenticatie

Alle requests moeten een Authorization-header bevatten met een Bearer-token. Je moet ook Accept: application/json meesturen zodat de API JSON-foutmeldingen retourneert in plaats van HTML-redirects.
-H "Authorization: Bearer YOUR_API_TOKEN"
-H "Accept: application/json"
API-tokens worden aangemaakt vanuit de API Tokens-sectie in je Shootbin-accountinstellingen. Bekijk de Authenticatie-pagina voor alle details, inclusief tokenscopes en hoe je 401-fouten afhandelt.

Content types

Type requestContent-Type header
JSON-body (projecten, goedkeuringen, annotaties)application/json
Bestandsuploads (foto’s, revisies)multipart/form-data (automatisch ingesteld door curl -F)
Stel Content-Type: application/json niet in voor bestandsuploadrequests, curl regelt de juiste multipart-grens wanneer je de -F-vlag gebruikt.

Responseformaat

Succesvolle responses retourneren JSON. De vorm varieert per endpoint, maar collection-endpoints volgen deze algemene structuur:
{
  "data": [...],
  "next_cursor": "eyJpZCI6MTIzfQ",
  "has_more": true,
  "meta": {
    "per_page": 50
  }
}
Endpoints voor één resource retourneren het resource-object direct. Aanmaak-endpoints retourneren 201 Created met de nieuwe resource. Delete-endpoints retourneren 204 No Content met een lege body.

Foutresponses

Alle fouten retourneren een JSON-object. Veelvoorkomende HTTP-statuscodes die je kunt tegenkomen:
StatusBetekenis
400Validatiefout, controleer het errors-veld voor veldspecifieke berichten
401Ontbrekend of ongeldig API-token
403Geldig token maar onvoldoende rechten of verkeerd abonnement
404Resource niet gevonden of behoort niet tot het opgevraagde project/album
422Niet-verwerkbare entiteit, schending van bedrijfsregel (bijv. selectielimiet overschreden)
{
  "message": "This API token does not have permission to create projects.",
  "errors": {}
}

Rate limiting

De API gebruikt token-gebaseerde authenticatie zonder aanvullende rate-limit-tier. Vermijd het maken van hoogfrequente polling-requests in strakke loops; gebruik cursor-paginering en verwerk responses voordat je de volgende pagina opvraagt.