PyannoteAI · AsyncAPI Specification
Pyannoteai Webhooks
Version
View Spec
View on GitHub
CompanyAi DataSpeech RecognitionSpeaker DiarizationAudioVoice AIMachine-LearningTranscriptionStreamingWebhookAsyncAPIEvents
AsyncAPI Specification
generated: '2026-08-17'
method: searched
source: https://docs.pyannote.ai/webhooks/receiving-webhooks
docs:
receiving: https://docs.pyannote.ai/webhooks/receiving-webhooks
verifying: https://docs.pyannote.ai/webhooks/verifying-webhooks
surface: outbound HTTP callback on asynchronous job completion
subscription:
mechanism: per-job
note: >-
There is no webhook endpoint registry or subscription API. The callback URL is supplied per job, in
the "webhook" field of the POST /v1/diarize, /v1/identify or /v1/voiceprint request body. A team
cannot register a single endpoint once and receive all events.
transport_requirement: HTTPS only — plain HTTP URLs are rejected.
options:
- name: webhookStatusOnly
type: boolean
default: false
effect: >-
When true, the payload contains only jobId and status; the output field is omitted. Intended for
large payloads.
delivery:
method: POST
content_type: application/json
fires_on:
- succeeded
- failed
- canceled
does_not_fire_on:
- pending
- created
- running
note: Only terminal job statuses trigger a callback.
events:
- event: job.succeeded
trigger: A diarization, identification or voiceprint job completed successfully.
payload_fields:
- jobId
- status
- output
output_schemas:
- job_type: diarize
schema: DiarizationJobOutput
docs: https://docs.pyannote.ai/api-reference/schemas/diarizationschema
- job_type: identify
schema: IdentificationJobOutput
docs: https://docs.pyannote.ai/api-reference/schemas/identifyschema
- job_type: voiceprint
schema: VoiceprintJobResults
docs: https://docs.pyannote.ai/api-reference/schemas/voiceprintschema
example:
jobId: job_id
status: succeeded
output:
diarization:
- start: 0.0
end: 1.0
speaker: speaker_1
- event: job.failed
trigger: The job terminated in failure.
payload_fields:
- jobId
- status
note: No output field is present. Failed jobs are not billed.
- event: job.canceled
trigger: The job was canceled.
payload_fields:
- jobId
- status
note: No output field is present. Canceled jobs are not billed.
security:
signature_header: X-Signature
timestamp_header: X-Request-Timestamp
algorithm: HMAC-SHA256
signed_content: 'v0:{timestamp}:{body}'
secret_location: dashboard Webhooks page (per team, rotatable)
note: >-
The docs prose describes X-Signature as base64-encoded, but the Python sample in the same page
returns hexdigest() and compares it directly to the header. Confirm the encoding against a live
delivery before shipping a verifier.
retries:
attempts: 3
schedule:
- immediate
- +1 minute
- +5 minutes
attempt_header: x-retry-num
reason_header: x-retry-reason
failure_reasons:
- http_timeout
- too_many_redirects
- connection_failed
- ssl_error
- http_error
- unknown_error
receiver_timeout: 10 seconds
max_redirects: 2
asyncapi_document:
present: true
file: asyncapi/pyannoteai-streaming-asyncapi.yml
covers: streaming WebSocket gateway only
note: >-
pyannoteAI publishes a real AsyncAPI 3.0.0 document, but it describes the real-time WebSocket
streaming gateway (POST /v1/live), NOT this webhook surface. The webhook catalog above is captured
from the docs because no AsyncAPI models it.
Work with this as data
Every AsyncAPI spec here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for asyncapi
4 MCP tools reach this
find_asyncapisBrowse and filter every AsyncAPI spec in the catalog.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.
Call it yourself
curl for this page
This AsyncAPI spec
curl "https://apis.io/api/v1/asyncapis/pyannoteai-webhooks"
All asyncapi
curl "https://apis.io/api/v1/asyncapis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
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.