Skip to main content
Paths are relative to /api/v1. All routes use a project-scoped API key - Authorization: Bearer <api_key> - that must belong to the project in the path. See Authentication for scopes. Signals annotate the project timeline with deploys, releases, notes, and other events that help explain ranking changes. Deployment-provider webhook payloads use the separate POST /api/ingest/deploy endpoint documented in Deploy webhooks.

Sources

Every signal carries a source. POST /signals accepts the push sources; the rest are emitted by bisibility itself and only appear in GET responses.

Push a CMS event

Wire your CMS webhook (or a small handler behind it) to POST /signals whenever content ships. Ranking changes then line up with content activity on the timeline.
type is free-form but must match lowercase.lowercase, for example content.published or content.updated. Optional fields: keyword_id ties the signal to one keyword, severity is info (default), warning, or critical, happened_at backdates the event (defaults to now), and payload is any JSON object up to 8KB serialized. The generated OpenAPI document remains the authoritative request and response schema.