API en MCP
Dieser Inhalt ist noch nicht in deiner Sprache verfügbar.
gibeon.io kan vanaf een sleutelpaar volledig vanuit code aangestuurd worden. De REST API zit op api.gibeon.io/v1. Voor AI-tools die MCP spreken (Claude Desktop, Claude Code, Cursor) staat dezelfde set acties klaar op api.gibeon.io/mcp. Geen lokale install nodig.
Wat kan je ermee
Met één API-sleutel werk je rechtstreeks op je tenant:
- Schermen oplijsten, hernoemen, andere content toewijzen, een publish triggeren
- Playlists aanmaken, items toevoegen of verwijderen, volgorde wijzigen
- Sequenties en planningen beheren
- Assets uploaden en opvragen
De volledige interactieve reference staat op www.gibeon.io/dev/reference. De raw OpenAPI 3.1-spec is bereikbaar op api.gibeon.io/v1/openapi.yaml. Geschikt voor code-generatie of import in Postman, Bruno, Insomnia.
Een API-sleutel aanmaken
- Open de CMS op app.gibeon.io
- Ga naar Instellingen → API
- Klik Nieuwe sleutel, kies een naam (bijvoorbeeld
n8n integratieofClaude Code laptop) en bevestig - Kopieer de getoonde
gib_live_…waarde meteen. Die wordt maar één keer getoond. Daarna bewaart gibeon.io enkel de hash. - Plak de sleutel waar je hem nodig hebt (
.env, MCP-host config, etc.)
Sleutels zijn intrekbaar via dezelfde pagina. Een ingetrokken sleutel werkt onmiddellijk niet meer.
REST gebruiken
Stuur de sleutel mee in de Authorization header als Bearer token.
# Lijst van je schermencurl https://api.gibeon.io/v1/players \ -H "Authorization: Bearer gib_live_..."
# Een scherm op een andere playlist zetten en publishencurl -X PATCH https://api.gibeon.io/v1/players/<player_id> \ -H "Authorization: Bearer gib_live_..." \ -H "Content-Type: application/json" \ -d '{ "playlist_id": "<playlist_id>" }'
curl -X POST https://api.gibeon.io/v1/players/<player_id>/publish \ -H "Authorization: Bearer gib_live_..."Werkt vanuit elke taal die HTTPS spreekt: bash, Node, Python, Go, n8n, Zapier, Make.
MCP gebruiken: hosted (aanbevolen)
Plak deze config in de MCP-instellingen van je AI-tool en vervang gib_live_… door je echte sleutel.
{ "mcpServers": { "gibeon": { "url": "https://api.gibeon.io/mcp", "headers": { "Authorization": "Bearer gib_live_xxxxxxxxxxxxxxxxxxxxxxxx" } } }}Configuratie-locatie per tool:
- Claude Desktop:
~/Library/Application Support/Claude/claude_desktop_config.json(macOS) of de equivalent op Windows/Linux - Claude Code:
.mcp.jsonin je project, of de globale config viaclaude mcp - Cursor:
~/.cursor/mcp.json
Na een herstart van de tool verschijnen er 13 gibeon.io-tools (list_players, update_player, publish_players, create_playlist, add_playlist_item, reorder_playlist_items, …). De AI kan ze rechtstreeks aanroepen.
MCP gebruiken: npm-pakket (fallback)
Voor MCP-clients die nog geen remote-transport ondersteunen, draait dezelfde toolset als lokaal stdio-proces via @gibeon/mcp-server.
{ "mcpServers": { "gibeon": { "command": "npx", "args": ["-y", "@gibeon/mcp-server"], "env": { "GIBEON_API_KEY": "gib_live_xxxxxxxxxxxxxxxxxxxxxxxx" } } }}Vereist Node 20 of hoger op de machine waar de MCP-host draait.
Limieten en goed gedrag
- 60 requests per minuut per sleutel. Boven de limiet retourneert de API 429 met een
Retry-Afterheader in seconden. - Sleutels zijn tenant-scoped. Een sleutel kan nooit buiten zijn eigen tenant kijken, ook niet als superadmin-account.
- Publishes zijn gratis in termen van rate-limit en kosten. Je mag na elke wijziging een publish triggeren. Players halen het pas binnen op hun volgende heartbeat, dat is altijd binnen 10 seconden.
- Assets uploaden gaat in twee stappen: eerst
POST /v1/assetsmet metadata (krijg een upload-URL terug), danPUTde bytes naar die URL. Max 100 MB per upload.
Veelvoorkomende fouten
401 unauthorized, terwijl ik net mijn sleutel heb aangemaakt
Controleer dat de header Authorization: Bearer gib_live_... is. Geen Bearer: met een dubbele punt, geen quotes rond de sleutel. Een ingetrokken sleutel geeft dezelfde 401.
MCP-tool toont geen gibeon.io-tools na configuratie
Herstart de MCP-host volledig (niet alleen het venster maar het hele proces). Bij Claude Desktop staat een log in ~/Library/Logs/Claude/ waar je connection-errors ziet.
Een PATCH op /v1/players retourneerde publish_required: true. Wat nu?
Roep POST /v1/players/<id>/publish aan (of het MCP-tool publish_players). Zonder publish blijft het scherm op de vorige content draaien. Dat is bewust, om half-doorgevoerde aanpassingen te vermijden.
429 rate-limited tijdens een grote bulk-import
Splits over meerdere sleutels (één per integratie of script) of stop een delay tussen je calls. De 60/min telt per sleutel, niet per tenant.
Bedankt voor je feedback.