API-documentatie

Automatiseer OKiDO vanuit scripts, integraties en AI-agenten.

Overzicht

De OKiDO API is een JSON REST-API. Alles wat u in de app kunt doen (projecten, taken, SOP-uitvoeringen, documenten, sjablonen) is ook programmatisch beschikbaar. Alle verzoeken gebruiken de basis-URL:

https://api.okido.io/api

Verzoeken en antwoorden hebben een JSON-body (Content-Type: application/json).

Authenticatie

Persoonlijke toegangstokens

De aanbevolen manier om de API aan te roepen is met een persoonlijk toegangstoken (PAT). Maak er een aan in de app onder Instellingen → Beveiliging → Persoonlijke toegangstokens. Tokens beginnen met dit_pat_, handelen met uw rechten in elke organisatie waarvan u lid bent en kunnen verlopen na 7 dagen, 1 maand, 3 maanden, 6 maanden of 1 jaar, of nooit. Het token wordt alleen bij het aanmaken getoond; bewaar het op een veilige plek. Voor het aanmaken van tokens is een abonnement met API-toegang nodig (Pro of Business).

Stuur het bij elk verzoek mee in de Authorization-header:

curl https://api.okido.io/api/projects \
  -H "Authorization: Bearer dit_pat_..." \
  -H "X-Org-Id: <your-org-id>"

Om veiligheidsredenen kan een persoonlijk toegangstoken geen tokens beheren, uw wachtwoord niet wijzigen en geen sessies beheren: die acties vereisen een interactieve sessie en geven anders 403 SESSION_AUTH_REQUIRED terug.

API-tokens van de organisatie

API-tokens op organisatieniveau (prefix dit_, aangemaakt door eigenaren en beheerders in de organisatie-instellingen) geven uitsluitend toegang tot het MCP-endpoint. Ze hebben fijnmazige scopes en zijn gebonden aan één organisatie: gebruik ze wanneer u een sleutel wilt die niet aan een persoon is gekoppeld. Net als persoonlijke toegangstokens kunnen ze alleen worden aangemaakt met een abonnement dat API-toegang omvat.

Een organisatie selecteren

Uw account kan lid zijn van meerdere organisaties, dus elk REST-verzoek moet met de header X-Org-Id aangeven op welke organisatie het betrekking heeft. U moet een actief lid van die organisatie zijn; anders antwoordt de API met 403.

X-Org-Id: org-id
# or several at once (reads only):
X-Org-Id: org-id-1,org-id-2

Als er meerdere ID's worden meegegeven, geven lijst-endpoints resultaten uit al die organisaties terug en zijn schrijfacties gericht op de eerste ID.

Foutmeldingen

Alle foutmeldingen hebben dezelfde vorm:

{
  "message": "Human-readable description",
  "code": "MACHINE_READABLE_CODE"
}
StatusCodeBetekenis
400VALIDATION_ERROROntbrekende of ongeldige velden in het verzoek
400ORG_ID_REQUIREDDe header X-Org-Id ontbreekt
401UNAUTHORIZEDOntbrekend, ongeldig of verlopen token
403FORBIDDENGeen lid van de organisatie, of een rol met onvoldoende rechten
403SESSION_AUTH_REQUIREDActie niet toegestaan met een persoonlijk toegangstoken
404NOT_FOUNDDe resource bestaat niet (of hoort bij een andere organisatie)
429RATE_LIMITEDTe veel verzoeken, probeer het later opnieuw
500INTERNAL_ERROREr is aan onze kant iets misgegaan

Resources

De tabellen hieronder tonen per resource de meestgebruikte endpoints. Ze vereisen allemaal de hierboven beschreven headers Authorization en X-Org-Id. Lijstantwoorden plaatsen de resultaten in een benoemde array, bijvoorbeeld { "projects": [...] }.

Projecten

MethodeEndpointBeschrijving
GET/projectsProjecten weergeven
POST/projectsEen project aanmaken
GET/projects/:idEen project ophalen
PATCH/projects/:idEen project bijwerken
DELETE/projects/:idEen project verwijderen
GET/projects/:id/tasksTaken in een project weergeven
GET/projects/:id/stagesWorkflowfases weergeven
POST/projects/:id/membersEen lid toevoegen (privéprojecten)

Taken

MethodeEndpointBeschrijving
POST/tasksEen taak aanmaken
GET/tasks/search?q=...Taken in de organisatie zoeken
GET/tasks/:idEen taak ophalen
PATCH/tasks/:idEen taak bijwerken (status, toegewezene, vervaldatum, ...)
DELETE/tasks/:idEen taak verwijderen
POST/tasks/:id/commentsEen opmerking toevoegen
POST/tasks/:id/subtasksEen subtaak aanmaken
POST/tasks/:id/time-entriesTijd registreren op een taak

SOP-uitvoeringen

MethodeEndpointBeschrijving
GET/runsUitvoeringen weergeven (filter met ?status=... of ?templateId=...)
POST/runsEen uitvoering starten vanuit een sjabloon
GET/runs/:idEen uitvoering ophalen met de bijbehorende stappen
PATCH/runs/:idEen uitvoering bijwerken
DELETE/runs/:idEen uitvoering verwijderen
POST/runs/:id/steps/:stepId/completeEen stap afronden
PATCH/runs/:id/steps/:stepIdEen stap bijwerken (status, toegewezene)
POST/runs/:id/variable-valuesDe waarde van een uitvoeringsvariabele instellen

Documenten

MethodeEndpointBeschrijving
GET/documentsDocumenten weergeven (filter met ?processId=...)
POST/documentsEen document aanmaken
GET/documents/:idEen document ophalen
PATCH/documents/:idEen document bijwerken
DELETE/documents/:idEen document verwijderen
POST/documents/:id/publishPubliceren (nieuwe versie)
GET/documents/:id/versionsVersiegeschiedenis weergeven

SOP-sjablonen

MethodeEndpointBeschrijving
GET/sop-templatesSjablonen weergeven
POST/sop-templatesEen sjabloon aanmaken
GET/sop-templates/:idEen sjabloon ophalen
PATCH/sop-templates/:idEen sjabloon bijwerken
DELETE/sop-templates/:idEen sjabloon verwijderen
POST/sop-templates/:id/stepsEen stap toevoegen
POST/sop-templates/:id/publishEen momentopname van een versie publiceren

MCP-endpoint voor AI-agenten

OKiDO biedt een Model Context Protocol-endpoint, zodat AI-clients zoals Claude via tools met uw projecten, taken, uitvoeringen en documenten kunnen werken in plaats van via kale HTTP-verzoeken:

https://api.okido.io/mcp

Authenticeer met een persoonlijk toegangstoken, een API-token van de organisatie of OAuth. Met een persoonlijk toegangstoken kan de AI-client in al uw organisaties handelen; een organisatietoken beperkt hem tot één organisatie, met de scopes die u hebt gekozen.

Snelstart

# 1. Create a personal access token in Settings → Security
# 2. List your projects
curl https://api.okido.io/api/projects \
  -H "Authorization: Bearer dit_pat_..." \
  -H "X-Org-Id: <your-org-id>"

# 3. Create a task
curl -X POST https://api.okido.io/api/tasks \
  -H "Authorization: Bearer dit_pat_..." \
  -H "X-Org-Id: <your-org-id>" \
  -H "Content-Type: application/json" \
  -d '{"title": "My first API task", "projectId": "<project-id>"}'

Vragen of mist u een endpoint? Neem contact met ons op: we breiden deze referentie voortdurend uit.