Skip to main content

Security & Access

fibe.gg gives you granular control over how external tools and services interact with your account through API Keys and Webhooks.


API Keys

API Keys let you authenticate programmatically — for CI/CD pipelines, the MCP server, or any custom tooling.

Creating an API Key

  1. Go to Profile → API Keys
  2. Click New API Key
  3. Give it a descriptive label (e.g., GitHub Actions CI)
  4. Select the scopes you need
  5. Copy your key — it will only be shown once
caution

Store your key securely. fibe.gg only shows the full token at creation time.

Scopes

API keys are scoped — they only grant access to what you explicitly allow:

ScopeAccess
playrooms:readList and view Playrooms
playrooms:writeCreate Playrooms
playrooms:deleteDelete Playrooms
playspecs:readList and view Playspecs
playspecs:writeCreate and update Playspecs
playspecs:deleteDelete Playspecs
playgrounds:readList and view Playgrounds
playgrounds:writeCreate, extend, and recreate Playgrounds
playgrounds:deleteDestroy Playgrounds
playzones:readList and view Playzones
playzones:writeCreate Playzones
import_templates:readBrowse and search templates
import_templates:writeCreate and manage templates
agents:readList and view agents and their data
agents:writeManage agent data
webhooks:readView webhook endpoints and deliveries
webhooks:writeCreate and update webhook endpoints
webhooks:deleteDelete webhook endpoints
mcp:accessConnect to the MCP server
repos:writeCreate repositories and push files

Key Lifecycle

  • Expiry: Set an optional expiration date
  • Rotation: Revoke and re-create keys at any time from your profile
  • Last Used: Track when the key was last used for security auditing

Webhooks

Webhooks let external services receive real-time notifications when things happen in fibe.gg.

Supported Events

EventTriggered When
playground.createdA Playground is successfully created
playground.startedA Playground starts running
playground.stoppedA Playground is stopped
playground.destroyedA Playground is destroyed
playground.errorA Playground enters an error state
playground.expiringA Playground is about to expire
playground.recreatedA Playground is recreated from scratch
playroom.createdA new Playroom is registered
playroom.deletedA Playroom is deleted
playspec.createdA new Playspec is created
playspec.deletedA Playspec is deleted

Creating a Webhook Endpoint

  1. Go to Profile → Webhooks
  2. Click New Webhook
  3. Enter the target URL (must be HTTPS)
  4. Select the events you want to receive
  5. Optionally set a Secret to sign requests
  6. Click Save

Payload Format

All webhook events are delivered as HTTP POST requests:

{
"event": "playground.created",
"timestamp": "2024-01-15T10:30:00Z",
"data": {
"id": 123,
"name": "My Playground",
"status": "running"
}
}

Verifying Signatures

If you set a secret, fibe.gg signs each request with an X-Playground-Signature header:

X-Playground-Signature: sha256=abc123...

Verify it in your handler by computing HMAC-SHA256(secret, raw_body) and comparing.

Delivery Logs

Every webhook delivery is logged. Navigate to the webhook endpoint to inspect:

  • Response status for each delivery
  • Request/Response headers and body
  • Failure reason if delivery failed
  • Retry history for failed deliveries
Testing

Use Test Webhook to send a sample playground.created event to your endpoint and verify it's working correctly.