DPP API Endpoints Overzicht

Inventaris van alle endpoints voor depubliekepartner.nl infrastructuur.


Inhoudsopgave

  1. TESS Platform
  2. AI Infrastructuur
  3. Interne Tools
  4. Data Ingestie
  5. Externe Services
  6. Automatisering
  7. Subdomain Migratie
  8. Environment Variables

Snelnavigatie


1. TESS Platform

Centraal recruitment en kandidatenbeheer platform.

1.1 TESS Applicatie

Overzicht

TESS is het hart van de DPP operatie. Het platform biedt kandidaatbeheer, opdracht matching, dossierbeheer, en integraties met externe systemen. Het systeem ondersteunt de volledige recruitment lifecycle van intake tot plaatsing.

Service Details

VeldWaarde
Production URLapp.depubliekepartner.nl
Preview/Dev URL*.tesst.depubliekepartner.nl
AuthenticatieSupabase Auth (magic link, Google OAuth)
Repositorydepubliekepartner/tess
HostingVercel
DatabaseSupabase (PostgreSQL + pgvector)
FrameworkNext.js 14, TypeScript, Tailwind CSS, shadcn/ui

Modules

ModuleBeschrijvingGebruikersStatus
BackofficeAanbiedingen, compliance, dossierbeheer, matchingInterne medewerkersProduction
Kandidaat PortalOpdrachten bekijken, reageren, profiel, documentenKandidatenProduction
E-mailGmail OAuth, inbox management, templatesInterne medewerkersIn Development
AgendaGoogle Calendar sync, afspraken, interviewsAlle gebruikersIn Development

Rollen & Rechten (RBAC)

RolBeschrijvingToegang
Super AdminSysteemeigenaarAlles, incl. systeemintegraties
AdminDagelijks beheerKandidaten, opdrachten, leveranciers
BackofficeUitvoeringDossiers, checks, contracten
FrontofficeEerstelijnsKandidatenlijst, chat, telefoonnotities

Technische Architectuur

┌─────────────────────────────────────────────────────────────────┐
│                 Next.js App Router (Vercel)                      │
│  Backoffice │ Kandidaat Portal │ E-mail │ Agenda                │
└─────────────────────────────────────────────────────────────────┘
                               │
              ┌────────────────┼────────────────┐
              ▼                ▼                ▼
       ┌───────────┐    ┌───────────┐    ┌───────────┐
       │ Supabase  │    │  Google   │    │ AI Router │
       │ Auth/DB   │    │ OAuth/API │    │ Matching  │
       └───────────┘    └───────────┘    └───────────┘

Active Branches

BranchFeatureStatus
mainProductionStable
feat/backoffice-urenregistratieUrenregistratie moduleIn Development
feature/latestbramFeature developmentActive

1.2 Urenregistratie (Planned)

Overzicht

Maandelijkse urenregistratie voor geplaatste kandidaten. Onderdeel van de TESS backoffice, met workflow voor indiening en goedkeuring.

Status

FaseProgress
Dossier opbouw90%
Contracten30%
Urenregistratie0% (blocked by Contracten)
Facturatie0%
Uitbetalingen0%

Database Schema (Planned)

Table: urenstaten

ColumnTypeBeschrijving
idUUIDPrimary key
aanbieding_idUUIDFK naar aanbiedingen
user_idUUIDFK naar auth.users
jaarINTJaar
maandINTMaand (1-12)
statusTEXTconcept / ingediend / goedgekeurd / afgekeurd
totaal_urenDECIMALTotaal uren (denormalized)

Table: uren_entries

ColumnTypeBeschrijving
idUUIDPrimary key
urenstaat_idUUIDFK naar urenstaten
datumDATEWerkdatum
urenDECIMALAantal uren (0-24)
omschrijvingTEXTOptionele toelichting

2. AI Infrastructuur

LLM proxies, routing, en AI-powered integraties.

2.1 LLM Proxy (CLIProxyAPI)

Overzicht

Self-hosted OpenAI-compatible proxy voor Claude en GPT modellen. Draait lokaal en is bereikbaar via Cloudflare Tunnel. Primair gebruikt voor CLI tools en development.

Service Details

VeldWaarde
Primary URLllm.depubliekepartner.nl/v1
Interim URLllm.dppapi.nl/v1
AuthenticatieAPI Key (64 chars, Bearer token)
Repositorydepubliekepartner/cliproxyapi
HostingSelf-hosted + Cloudflare Tunnel
ProtocolOpenAI-compatible REST API

API Endpoints

MethodPathBeschrijvingRequest Body
POST/v1/chat/completionsChat completions (streaming){ model, messages, stream?, temperature? }
GET/v1/modelsLijst beschikbare modellen-

Beschikbare Modellen

Model IDProviderBeschrijvingContext
claude-opus-4-5AnthropicMeest capabele Claude200K tokens
claude-sonnet-4-5AnthropicGebalanceerd Claude200K tokens
claude-haiku-4-5AnthropicSnelste Claude200K tokens
gpt-5.2-codex-xhighOpenAIPremium GPT128K tokens
gpt-5.2-codexOpenAIStandaard GPT128K tokens

Voorbeeld

curl -X POST https://llm.depubliekepartner.nl/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"claude-sonnet-4-5","messages":[{"role":"user","content":"Hello"}]}'

2.2 AI Router

Overzicht

Intelligente multi-provider routing met automatische failover, RAG, audio transcriptie, en structured output. Centrale AI gateway voor alle DPP applicaties.

Service Details

VeldWaarde
API URLrouter.dpp-ai.workers.dev
Admin Panelai-router-admin.pages.dev
AuthenticatieAPI Key (Bearer token)
Repositorydepubliekepartner/ai-router-proxy
HostingCloudflare Workers + D1
Vector StoreCloudflare Vectorize

Core Endpoints

MethodPathBeschrijvingRequest Body
POST/v1/chat/completionsChat completions{ model, messages, stream? }
POST/v1/embeddingsText embeddings{ model, input }
POST/v1/promptLegacy prompt{ prompt, model? }
GET/v1/modelsLijst modellen-
POST/v1/routes/:groupRoute groups (moa, frontier){ messages }
POST/v1/parseStructured output{ messages, schema }

Audio Endpoints

MethodPathBeschrijvingRequest Body
POST/v1/audio/transcriptionsWhisper transcriptiemultipart: file, model?, language?
POST/v1/audio/translationsVertaling naar Engelsmultipart: file, model?

RAG Endpoints

MethodPathBeschrijvingRequest Body
POST/v1/documentsUpload documentmultipart: file, collection?
GET/v1/documentsLijst documenten-
DELETE/v1/documents/:idVerwijder document-
POST/v1/retrieveSemantic search{ query, collection?, limit? }
GET/v1/collectionsLijst collecties-

Admin Endpoints

MethodPathBeschrijving
GET/admin/meHuidige gebruiker
*/admin/providersBeheer providers
*/admin/modelsBeheer modellen
*/admin/keysBeheer API keys
*/admin/routesBeheer routing
GET/admin/statsGebruik statistieken
GET/admin/logsRequest logs

Features

  • Multi-provider failover: Automatische switch bij errors
  • Request logging: Audit trail van alle requests
  • Rate limiting: Per-key rate limits
  • Cost tracking: Kosten per request/key
  • Model aliasing: Custom model namen

2.3 Flowlu MCP Server

Overzicht

Model Context Protocol (MCP) server voor directe Flowlu CRM toegang vanuit AI assistenten. Ondersteunt multi-user authenticatie met per-user credentials.

Service Details

VeldWaarde
MCP Endpointflowlu-mcp.icy-breeze-c97d.workers.dev/mcp
SSE Endpointflowlu-mcp.icy-breeze-c97d.workers.dev/sse
AuthenticatieGoogle OAuth + per-user Flowlu API Key
Repositorydepubliekepartner/flowlu-mcp
HostingCloudflare Workers + KV
ProtocolMCP (Model Context Protocol)

Beschikbare Tools

ToolBeschrijving
flowlu_statusCheck API connectie
flowlu_list_accountsLijst CRM accounts
flowlu_get_accountHaal account details
flowlu_create_accountMaak nieuw account
flowlu_list_contactsLijst contactpersonen
flowlu_create_contactMaak contact
flowlu_list_opportunitiesLijst opportunities
flowlu_create_opportunityMaak opportunity
flowlu_list_pipelinesLijst pipelines
flowlu_list_stagesLijst pipeline stages
flowlu_list_tasksLijst taken
flowlu_create_taskMaak taak
flowlu_complete_taskVoltooi taak
flowlu_list_projectsLijst projecten
flowlu_create_projectMaak project
flowlu_list_usersLijst gebruikers

Active Branches

BranchFeature
mainProduction
feat/internal-org-flowlu-credsInternal org credential management

3. Interne Tools

Dashboards, knowledge base, en communicatie.

3.1 Cockpit

Overzicht

Management dashboard met real-time statistieken, AI-powered kandidaat matching, en chat interface voor data queries. Integreert met TESS database en Flowlu CRM.

Service Details

VeldWaarde
Base URLdpp-cockpit.pages.dev
AuthenticatieGoogle OAuth (@depubliekepartner.nl)
Repositorydepubliekepartner/cockpit
HostingCloudflare Pages + Functions
AI BackendAI Router (wai-best gateway)
DatabaseSupabase (via AI Router)

Features

FeatureBeschrijving
DashboardReal-time stats: kandidaten, opdrachten, conversies
OpdrachtenBrowse/search DAS opdrachten, filters per provincie/status
KandidatenProfielen met CV parsing, skill extraction
AI MatchingHybrid scoring: semantic (35%), title (25%), skills (20%), role (15%), seniority (5%)
ChatAI assistant met tool calling voor DB queries

API Endpoints

MethodPathBeschrijving
GET/api/statsDashboard statistieken
POST/api/matchAI matching
POST/api/chatStreaming chat
GET/api/kandidatenLijst kandidaten
GET/api/top-matchesTop matches

Active Branches

BranchFeature
mainProduction
feat/kbKB integration
fix/supabase-key-dashboard-layoutDashboard fix

3.2 Knowledge Base

Overzicht

Interne kennisbank voor engineering documentatie, procedures, en technische specificaties. Dit document is onderdeel van de KB.

Service Details

VeldWaarde
Production URLhome.dpp-kb.pages.dev
API Basehome.dpp-kb.pages.dev/api
Admin Panelhome.dpp-kb.pages.dev/admin
AuthenticatieCloudflare Access (Google SSO @depubliekepartner.nl)
Repositorydepubliekepartner/kb
HostingCloudflare Pages
FrameworkNext.js 14, TypeScript, Tailwind CSS
CMSTina CMS
SearchSupabase pgvector

API Endpoints

MethodPathBeschrijving
GET/api/docsLijst/haal documenten
PUT/api/docsUpdate document
POST/api/kbVector search
GET/POST/api/commentsDoc comments
GET/api/meHuidige gebruiker

Content Sections

SectionPathBeschrijving
Handboek/docs/handboek/Engineering procedures en standaarden
Techniek/docs/handboek/techniek/Technische documentatie
Agile/docs/handboek/agile/Agile werkwijze en sprints
Flowlu/docs/flowlu/Flowlu CRM standaarden
TESS/docs/tess/TESS platform documentatie
Beheer/docs/beheer/KB beheer richtlijnen

3.3 CometChat Integration

Overzicht

Real-time chat voor het TESS platform. Vervangt eerdere Slack integratie met CometChat SDK voor betrouwbare messaging.

Service Details

VeldWaarde
Base URLTBD (Cloudflare Pages)
AuthenticatieCometChat SDK
Repositorydepubliekepartner/chat-integration
Branchfeat/cometchat-integration
SDK@cometchat/chat-uikit-react
HostingCloudflare Pages
RegionEU

Environment Variables

VariableBeschrijving
VITE_COMETCHAT_APP_IDCometChat App ID
VITE_COMETCHAT_AUTH_KEYCometChat Auth Key
VITE_COMETCHAT_REGIONRegion (default: eu)

Features

FeatureBeschrijving
Conversations1-on-1 en groepsgesprekken
Message HistoryVolledige chat geschiedenis
User PresenceOnline/offline indicators
Group ChatsTeam channels
Real-timeInstant delivery
Typing IndicatorsLive typing status
Read ReceiptsLeesbevestigingen

Active Branches

BranchFeatureStatus
mainBase setupStable
feat/cometchat-integrationCometChat implementationActive
auto/revamp-ui-ux-tess-styc05UI/UX improvementsActive

4. Data Ingestie

Scrapers, feeds, en externe data bronnen.

4.1 TenderNed API

Overzicht

Nederlandse overheidsaanbestedingen. Monitort relevante tenders voor matching met kandidaten. Dagelijkse sync van nieuwe publicaties.

Service Details

VeldWaarde
API Base URLhttps://www.tenderned.nl/papi/tenderned-rs-tns/v2
Web Portaltenderned.nl
AuthenticatieHTTP Basic Auth
Repositorydepubliekepartner/tendernet-api
DocumentatieTenderNed Datasets

API Endpoints

MethodPathBeschrijving
GET/publicatiesLijst aanbestedingen
GET/publicaties/{id}/public-xmlTender details (XML)

Query Parameters

ParameterBeschrijvingWaarden
typeOpdrachtType opdrachtD (Diensten), W (Werken), L (Leveringen)
publicatieTypeType publicatieAAO, AGO, MAC
publicatieDatumVanafVanaf datumISO date
sluitingsDatumVanafSluiting vanafISO date
europeesEU aanbestedingentrue/false

4.2 YACHT Feed

Overzicht

Automatische verwerking van YACHT job feed. Webhook-triggered bij nieuwe opdrachten, verrijkt met AI voor skill extraction.

Service Details

VeldWaarde
TriggerWebhook
Flow ID0013
Repositorydepubliekepartner/activepieces-scripts
Folderap-systems/yacht/

Workflow

  1. Webhook ontvangt YACHT data
  2. Filter op status 2 (nieuwe opdrachten)
  3. AI verrijking (skill extraction, categorisatie)
  4. Opslaan in Supabase job tabel
  5. Notificatie naar backoffice

4.3 STRIIVE Feed

Overzicht

Verwerking van STRIIVE job data met AI-powered enrichment.

Service Details

VeldWaarde
TriggerWebhook
Flow ID0014
Repositorydepubliekepartner/activepieces-scripts
Folderap-systems/recruitment/

4.4 Voys Recordings

Overzicht

Automatische sync van Voys telefoonopnames. Cron-based ophalen, opslag in R2, metadata in database voor zoeken.

Service Details

VeldWaarde
Base URLvoys-recordings.dpp-ai.workers.dev
Repositorydepubliekepartner/voys-audio
HostingCloudflare Workers
CronElke 5 minuten
StorageCloudflare R2

API Endpoints

MethodPathBeschrijving
GET/healthHealth check
GET/syncManual sync trigger
GET/recordingsLijst opnames
POST/webhookVoys webhook

5. Externe Services

Third-party services en APIs.

5.1 Flowlu CRM

Overzicht

CRM en project management. Sales pipeline, klantbeheer, en agile boards voor engineering.

Service Details

VeldWaarde
API Base URLdepubliekepartner.flowlu.com/api/v1
Web Portaldepubliekepartner.flowlu.com
AuthenticatieAPI Key (query param: ?api_key=)
Engineering ProjectID: 3
DocumentatieFlowlu API Docs

Agile Endpoints

MethodPathBeschrijving
GET/module/agile/issues/listLijst issues
POST/module/agile/issues/createMaak issue
PUT/module/agile/issues/updateUpdate issue
GET/module/agile/sprints/listLijst sprints
GET/module/agile/boards/listLijst boards

CRM Endpoints

MethodPathBeschrijving
GET/crm/account/listAccounts
GET/crm/contact/listContacts
GET/crm/lead/listOpportunities
GET/crm/pipeline/listPipelines

Reference IDs

TypeIDValue
Stage8Backlog
Stage11In Progress
Stage13Done
Issue Type1Task
Issue Type2Bug
Issue Type3Story
Priority30High
Priority40Medium

5.2 Supabase

Overzicht

Backend-as-a-Service. Primaire database voor TESS en andere applicaties. PostgreSQL met pgvector voor semantic search.

Service Details

VeldWaarde
Dashboardsupabase.com/dashboard
AuthenticatieService Role Key (server), Anon Key (client)
DocumentatieSupabase Docs
RegionEU (Frankfurt)

Database Tables

TableBeschrijving
jobOpdrachten en vacatures
platformExterne job platforms
headquartersHoofdkantoor locaties
work_locationWerklocaties
contract_typeContract types
job_documentOpdracht documenten
kandidatenKandidaat profielen
aanbiedingenAanbiedingen aan kandidaten
urenstatenUrenregistratie (planned)
kb_doc_commentsKB commentaren

Features

FeatureBeschrijving
PostgreSQLSQL + pgvector
AuthMagic links, OAuth, JWT
StorageFile storage
RealtimeWebSocket subscriptions
Edge FunctionsServerless (Deno)

5.3 Google APIs

Overzicht

Authenticatie, email, agenda, en document integraties.

Service Details

VeldWaarde
Consoleconsole.cloud.google.com
AuthenticatieOAuth 2.0
DocumentatieGoogle Cloud APIs

API Scopes

ServiceScopesDocs
OAuthopenid, email, profileOAuth
Gmailgmail.readonly, gmail.sendGmail API
Calendarcalendar.readonly, calendar.eventsCalendar API
Drivedrive.readonlyDrive API

6. Automatisering

Workflow automation en batch processing.

6.1 Activepieces Flows

Overzicht

Workflow automation platform. Integreert systemen via webhooks, cron triggers, en AI processing.

Service Details

VeldWaarde
Repositorydepubliekepartner/activepieces-scripts
PlatformActivepieces (self-hosted)

Flow Categorieën

FolderBeschrijving
ai-router/AI Router test suite
recruitment/CV verwerking, feeds
content/Content generatie
queue/Queue-based processing
yacht/YACHT integratie
templates/Herbruikbare templates

Active Flows

IDNaamTriggerBeschrijving
0004QUEUE JOBPOSTCronBatch job posts verwerking
0013YACHTWebhookYACHT feed processing
0014STRIIVEWebhookSTRIIVE data met AI
0460CV VerwerkingWebhookCV + motivatie parsing
0500CV Data ExtractWebhookStructured data extraction
-BlogpostScheduleSEO blog generatie
-AI Router TestWebhookAPI test suite

Key Integrations

ServiceGebruik
StraicoAI processing (Claude, GPT)
AI RouterInternal AI proxy
FlowluCRM data
Google SheetsData storage, config
Google DriveDocument storage

6.2 CV Verwerking

Overzicht

Automatische CV parsing en kandidaat aanmaak. Extracteert gestructureerde data voor matching.

Workflow

CV Upload (Webhook)
       │
       ▼
┌─────────────────┐
│ Document Parse  │ ← PDF/DOCX extraction
└────────┬────────┘
         │
         ▼
┌─────────────────┐
│ AI Extraction   │ ← Skills, ervaring, opleiding
└────────┬────────┘
         │
         ▼
┌─────────────────┐
│ Data Mapping    │ ← Structured kandidaat record
└────────┬────────┘
         │
         ▼
┌─────────────────┐
│ Supabase Insert │ ← kandidaten tabel
└─────────────────┘

Extracted Fields

VeldBeschrijving
naamVolledige naam
emailContact email
telefoonTelefoonnummer
skillsArray van vaardigheden
ervaringWerkervaring (jaren, bedrijven)
opleidingOpleidingsachtergrond
beschikbaarheidStartdatum, uren
tariefindicatieUurtarief range

7. Subdomain Migratie

Overzicht van endpoints die nog gemigreerd moeten worden naar depubliekepartner.nl subdomeinen.

Huidige Status

StatusBeschrijving
MigratedDraait op *.depubliekepartner.nl
InterimTijdelijk domein, migratie gepland
PendingCloudflare/extern domein, migratie nodig
ExternalThird-party service, geen migratie mogelijk

Migratie Inventaris

ServiceHuidigTargetStatusPrioriteit
TESSapp.depubliekepartner.nl-Migrated-
TESS Preview*.tesst.depubliekepartner.nl-Migrated-
LLM Proxyllm.depubliekepartner.nl-Migrated-
LLM Proxyllm.dppapi.nlllm.depubliekepartner.nlInterimLow
AI Routerrouter.dpp-ai.workers.devrouter.depubliekepartner.nlPendingHigh
AI Router Adminai-router-admin.pages.devrouter-admin.depubliekepartner.nlPendingMedium
Cockpitdpp-cockpit.pages.devcockpit.depubliekepartner.nlPendingHigh
Knowledge Basehome.dpp-kb.pages.devkb.depubliekepartner.nlPendingHigh
Flowlu MCPflowlu-mcp.icy-breeze-c97d.workers.devflowlu-mcp.depubliekepartner.nlPendingMedium
Voys Recordingsvoys-recordings.dpp-ai.workers.devvoys.depubliekepartner.nlPendingLow
CometChatTBD (Cloudflare Pages)chat.depubliekepartner.nlPendingMedium
Flowlu CRMdepubliekepartner.flowlu.com-External-
SupabaseSupabase hosted-External-
TenderNedtenderned.nl-External-

Migratie Stappen

Per service:

  1. DNS configuratie - CNAME record toevoegen in Cloudflare DNS
  2. Custom domain - Toevoegen in Cloudflare Pages/Workers dashboard
  3. SSL certificaat - Automatisch via Cloudflare (of handmatig indien nodig)
  4. Testen - Verificatie van nieuwe URL
  5. Redirect - Oude URL redirecten naar nieuwe (301)
  6. Documentatie - URLs updaten in KB en code

Cloudflare DNS Records (Nodig)

router.depubliekepartner.nl      CNAME  router.dpp-ai.workers.dev
router-admin.depubliekepartner.nl CNAME ai-router-admin.pages.dev
cockpit.depubliekepartner.nl     CNAME  dpp-cockpit.pages.dev
kb.depubliekepartner.nl          CNAME  home.dpp-kb.pages.dev
flowlu-mcp.depubliekepartner.nl  CNAME  flowlu-mcp.icy-breeze-c97d.workers.dev
voys.depubliekepartner.nl        CNAME  voys-recordings.dpp-ai.workers.dev
chat.depubliekepartner.nl        CNAME  [TBD].pages.dev

8. Environment Variables

Overzicht van benodigde environment variables.

VariableServiceBeschrijving
FLOWLU_API_KEYFlowluFlowlu API key
GH_TOKENGitHubPersonal Access Token
SB_KEYSupabaseService Role Key
SB_URLSupabaseProject URL
PROXY_API_KEYAI RouterRouter API Key
G_CLI_IDGoogleOAuth Client ID
G_CLI_SECGoogleOAuth Client Secret
SESS_SECSessionsEncryption secret
VOYS_API_KEYVoysVoys API key
TENDERNED_USERTenderNedBasic Auth user
TENDERNED_PASSTenderNedBasic Auth pass
VITE_COMETCHAT_APP_IDCometChatApp ID
VITE_COMETCHAT_AUTH_KEYCometChatAuth Key

Gerelateerde Documentatie


Laatste update: 2026-01-30