Bisibility Webhooks API
Create and manage webhook endpoints.
Create and manage webhook endpoints.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/bisibility-com:bisibility-com-webhooks-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Bisibility Com Webhooks API
version: 1.0.0
description: 'Operations tagged webhooks across 2 of this provider''s published API definitions: eu.bisibility.com_v1_openapi.json, bisibility-com-openapi.json. Each path carries the servers of the definition it was published in.'
servers:
- url: /api/v1
tags:
- name: Webhooks
description: Create and manage webhook endpoints.
x-group: Webhooks
paths:
/projects/{project_id}/webhooks:
get:
operationId: listWebhookEndpoints
responses:
'200':
content:
application/json:
schema:
properties:
data:
items:
$ref: '#/components/schemas/WebhookEndpoint'
type: array
meta:
properties:
next_cursor:
type:
- string
- 'null'
required:
- next_cursor
type: object
x-bisibility-name: PageMeta
required:
- data
- meta
type: object
x-bisibility-name: WebhookEndpointPage
description: JSON response
'400':
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
description: Bad request
'401':
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
description: Unauthorized
'403':
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
description: Forbidden
'404':
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
description: Not found
'409':
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
description: Unsupported API version
'429':
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
description: Rate limited
security:
- ProjectApiKey: []
- PersonalAccessToken: []
- AppOAuth:
- api:read
summary: List webhook endpoints
parameters:
- description: API contract version requested by the client. Omit this header to use the current backward-compatible behavior.
in: header
name: Bisibility-API-Version
required: false
schema:
enum:
- v1
type: string
x-bisibility-enum: open
x-bisibility-name: ApiVersion
- in: path
name: project_id
required: true
schema:
example: prj_a00000000000000000000000
pattern: ^prj_[a-z][a-z0-9]{23}$
type: string
description: Public project ID; membership and token scope are enforced.
x-bisibility-public-id: prj
- $ref: '#/components/parameters/SourceHeader'
tags:
- Webhooks
x-bisibility-cost:
kind: free
post:
operationId: createWebhookEndpoint
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/WebhookEndpointCreate'
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/WebhookEndpoint'
description: Created
'400':
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
description: Bad request
'401':
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
description: Unauthorized
'403':
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
description: Forbidden
'404':
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
description: Not found
'409':
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
description: Unsupported API version
'429':
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
description: Rate limited
security:
- ProjectApiKey: []
- PersonalAccessToken: []
- AppOAuth:
- api:write
summary: Create a webhook endpoint
parameters:
- description: API contract version requested by the client. Omit this header to use the current backward-compatible behavior.
in: header
name: Bisibility-API-Version
required: false
schema:
enum:
- v1
type: string
x-bisibility-enum: open
x-bisibility-name: ApiVersion
- in: path
name: project_id
required: true
schema:
example: prj_a00000000000000000000000
pattern: ^prj_[a-z][a-z0-9]{23}$
type: string
description: Public project ID; membership and token scope are enforced.
x-bisibility-public-id: prj
- $ref: '#/components/parameters/SourceHeader'
tags:
- Webhooks
x-bisibility-cost:
kind: free
servers:
- url: /api/v1
/projects/{project_id}/webhooks/{webhook_id}:
delete:
operationId: deleteWebhookEndpoint
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/WebhookEndpoint'
description: JSON response
'400':
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
description: Bad request
'401':
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
description: Unauthorized
'403':
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
description: Forbidden
'404':
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
description: Not found
'409':
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
description: Unsupported API version
'429':
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
description: Rate limited
security:
- ProjectApiKey: []
- PersonalAccessToken: []
summary: Delete a webhook endpoint
parameters:
- description: API contract version requested by the client. Omit this header to use the current backward-compatible behavior.
in: header
name: Bisibility-API-Version
required: false
schema:
enum:
- v1
type: string
x-bisibility-enum: open
x-bisibility-name: ApiVersion
- in: path
name: project_id
required: true
schema:
example: prj_a00000000000000000000000
pattern: ^prj_[a-z][a-z0-9]{23}$
type: string
description: Public project ID; membership and token scope are enforced.
x-bisibility-public-id: prj
- in: path
name: webhook_id
required: true
schema:
example: we_a00000000000000000000000
pattern: ^we_[a-z][a-z0-9]{23}$
type: string
description: Public webhook endpoint ID.
x-bisibility-public-id: we
- $ref: '#/components/parameters/SourceHeader'
tags:
- Webhooks
x-bisibility-cost:
kind: free
patch:
operationId: updateWebhookEndpoint
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/WebhookEndpointPatch'
required: false
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/WebhookEndpoint'
description: JSON response
'400':
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
description: Bad request
'401':
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
description: Unauthorized
'403':
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
description: Forbidden
'404':
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
description: Not found
'409':
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
description: Unsupported API version
'429':
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
description: Rate limited
security:
- ProjectApiKey: []
- PersonalAccessToken: []
- AppOAuth:
- api:write
summary: Update a webhook endpoint
parameters:
- description: API contract version requested by the client. Omit this header to use the current backward-compatible behavior.
in: header
name: Bisibility-API-Version
required: false
schema:
enum:
- v1
type: string
x-bisibility-enum: open
x-bisibility-name: ApiVersion
- in: path
name: project_id
required: true
schema:
example: prj_a00000000000000000000000
pattern: ^prj_[a-z][a-z0-9]{23}$
type: string
description: Public project ID; membership and token scope are enforced.
x-bisibility-public-id: prj
- in: path
name: webhook_id
required: true
schema:
example: we_a00000000000000000000000
pattern: ^we_[a-z][a-z0-9]{23}$
type: string
description: Public webhook endpoint ID.
x-bisibility-public-id: we
- $ref: '#/components/parameters/SourceHeader'
tags:
- Webhooks
x-bisibility-cost:
kind: free
servers:
- url: /api/v1
components:
parameters:
SourceHeader:
description: 'Declares the client that produced the request for usage reporting: sdk, cli or mcp. Optional; any other value counts as api. It never changes authentication or which budget applies (every bearer-authenticated request counts against the API, MCP and SDK budget).'
in: header
name: X-Bisibility-Source
required: false
schema:
enum:
- sdk
- cli
- mcp
type: string
x-bisibility-enum: open
x-bisibility-name: RequestSource
schemas:
WebhookEndpointPatch:
properties:
description:
type:
- string
- 'null'
enabled:
type: boolean
hmac_secret:
minLength: 16
type: string
writeOnly: true
url:
format: uri
type: string
type: object
Problem:
properties:
detail:
type: string
details:
additionalProperties: true
type: object
docs_url:
type: string
errors: {}
instance:
type: string
status:
type: integer
title:
type: string
type:
type: string
required:
- type
- title
- status
- detail
- instance
- docs_url
type: object
WebhookEndpoint:
properties:
created_at:
format: date-time
type: string
description:
type:
- string
- 'null'
enabled:
type: boolean
id:
example: we_a00000000000000000000000
pattern: ^we_[a-z][a-z0-9]{23}$
type: string
x-bisibility-public-id: we
last_delivery_at:
format: date-time
type:
- string
- 'null'
updated_at:
format: date-time
type: string
url:
format: uri
type: string
required:
- id
- url
- description
- enabled
- last_delivery_at
- created_at
- updated_at
type: object
WebhookEndpointCreate:
properties:
description:
type:
- string
- 'null'
enabled:
default: true
type: boolean
hmac_secret:
minLength: 16
type: string
writeOnly: true
url:
format: uri
type: string
required:
- url
- hmac_secret
type: object
securitySchemes:
PersonalAccessToken:
bearerFormat: bsb_pat_live_...
description: Personal access token for account routes and projects visible to the authenticated user.
scheme: bearer
type: http
ProjectApiKey:
bearerFormat: bsb_key_live_...
description: Project-scoped API key. It cannot access account routes or create additional projects.
scheme: bearer
type: http
MigrationToken:
bearerFormat: mig_...
description: 'Migration token sent as `Authorization: Bearer mig_...`.'
scheme: bearer
type: http
AppOAuth:
description: 'OAuth 2.0 for the first-party Bisibility apps only; other clients cannot obtain these scopes. Use the authorization code flow with PKCE (S256) and no client secret, and do not send a `resource` parameter: `/api/v1` accepts only the opaque access tokens issued without one. Access tokens expire after 15 minutes. Refresh tokens rotate on every use, and replaying a used refresh token revokes the whole grant. To sign out, POST the refresh token with `token_type_hint=refresh_token` and the `client_id` to `/api/auth/oauth2/revoke`. Account deletion additionally requires a sign-in from the last 10 minutes (authorize again with `prompt=login`); otherwise it fails with 403 and `details.code` `reauthentication_required`. Admin operations are not available to app tokens.'
flows:
authorizationCode:
authorizationUrl: /api/auth/oauth2/authorize
refreshUrl: /api/auth/oauth2/token
scopes:
api:read: Read the account and projects visible to the user.
api:write: Read, and change projects within the user's role. Implies api:read.
tokenUrl: /api/auth/oauth2/token
type: oauth2
x-refined-from:
- eu.bisibility.com_v1_openapi.json
- bisibility-com-openapi.json