Kiket docs
Integrations

Build your first evidence adapter

Scaffold, validate, and test a TypeScript evidence adapter against the Kiket platform ingestion API.

Evidence adapters normalize external systems into Kiket's raw inbox and evidence graph. They use scoped API keys and /platform/* routes.

Quick start

kiket extension init --root ./my-adapter
kiket extension validate --file kiket-extension.yaml
kiket extension test --file fixtures/raw-event.json

# Install from catalog (JWT) or run a local runner (push/pull)
kiket extension install --key kiket-ext-webhook --display-name "Webhook" --version 1.0.0 --transport catalog_hosted
kiket extension run --transport pull --port 3020

Use createIngestionClient() from @kiket-dev/sdk to POST raw events and evidence with least-privilege API keys (raw-events:write, evidence:write). Extension runners installed via Settings receive a scoped runner key (raw-events:submit, raw-events:claim) and submit normalization with POST /api/v1/platform/raw-events/{rawEventId}/submit. Pull workers lease work via GET /api/v1/platform/raw-events/claim; push installs receive an HMAC dispatch secret. Runtime health is available at GET /api/v1/platform/extensions/{installationId}/runtime.

Architecture

LayerOwnerResponsibility
Ingress shellKiket APIWebhook trust, tenant/source routing, quarantine
AdapterYour repoNormalization + evidence emission via SDK
Platform/platform/*Scanner, findings, remediation, reports

First-party adapters

AdapterExtension keyIngress
GitHubkiket-ext-githubPOST /integrations/github/webhook
Slackkiket-ext-slackPOST /integrations/slack/webhook
Generic webhookkiket-ext-webhookPOST /integrations/webhook
Jirakiket-ext-jiraPOST /integrations/jira/webhook
ServiceNowkiket-ext-servicenowPOST /integrations/servicenow/webhook

Publish third-party adapters with kiket extension publish; listings merge into GET /platform/extensions/catalog for your organization.

Register an event source with POST /platform/event-sources, then send webhooks with:

  • X-Kiket-Organization-Id
  • X-Kiket-Event-Source-Key

Generic field mapping

Configure mapping on the event source:

configuration:
  mapping:
    defaultEventType: approval.recorded
    defaultEvidenceType: approval
    fields:
      caseId: case_id
      sourceObjectId: object_id
      title: title
      approved: approved

Security

  • Verify webhook signatures when the provider supports them.
  • Never log secrets or raw auth headers.
  • Emit normalized evidence — avoid storing unnecessary PII from source payloads.

On this page