Allo-Media · AsyncAPI Specification
Allo Media Events
Version
View Spec
View on GitHub
CompanyAi DataSpeech RecognitionSpeech-to-TextConversation IntelligenceCall TrackingVoice AINatural Language ProcessingCall AnalyticsContact CenterSpeech AnalyticsTranscriptionFranceAsyncAPIEvents
AsyncAPI Specification
generated: '2026-08-17'
method: searched
source: https://docs.allo-media.net/activate-api/webhook/delivery/
spec_type: none
spec_type_note: >-
The provider publishes NO AsyncAPI document. We probed for one and found
nothing, and we did not author one — an AsyncAPI here would be our invention,
not the provider's contract. What the provider DOES publish is two real event
surfaces documented in prose: an outbound HTTP webhook, and a bidirectional
WebSocket streaming protocol with named events. Both are catalogued below from
the provider's own documentation, which is what justifies the `Webhooks`
pointer in apis.yml (and nothing more).
docs:
- https://docs.allo-media.net/activate-api/webhook/getting-started/
- https://docs.allo-media.net/activate-api/webhook/delivery/
- https://docs.allo-media.net/stream-h2h/protocol/
surfaces:
- id: activate-webhook
kind: webhook
protocol: HTTP POST
direction: provider -> customer
endpoint: customer-supplied public URL
subscription:
self_service: false
how: >-
"contact your account manager at Allo-Media" — webhook subscriptions are
provisioned by the provider, not by the customer through an API or
dashboard.
required_inputs:
- the name of the campaign (one or several) to be notified about
- the public URL endpoint that receives the payloads
- an optional secret passphrase
events:
- name: call.processed
name_note: >-
NOT a provider-published event name. The provider documents exactly one
trigger — "an event that occur when a call has been processed on our
platform" — and publishes NO event-type identifier or `type`/`event`
discriminator field on the payload. `call.processed` is our label for
the single documented trigger, marked here so it is never mistaken for
the provider's own vocabulary.
published_name: null
trigger: a call has been processed on the platform (transcription, redaction, analysis and tagging complete)
method: POST
payload_fields:
- name: unique_id
meaning: call identifier
- name: timestamp
meaning: delivery timestamp
- name: transcript_json
meaning: transcription data with call content and metadata
- name: status
meaning: call status (qualified / void)
- name: metadata
meaning: customer custom fields (e.g. ANI, Agent, Direction)
- name: tags
meaning: analytics tags with confidence scores
- name: in
meaning: inbound call direction information
- name: out
meaning: outbound call direction information
- name: audio_state
meaning: audio availability status
security:
signature_header: X-Uhlive-Signature
algorithm: HMAC-SHA256
format: 'sha256= followed by the hex digest of the payload, keyed with the webhook secret'
secret: optional, "strongly recommended"
guidance: >-
The docs explicitly require constant-time comparison rather than `==`,
and UTF-8 payload handling. That is better verification guidance than
most webhook surfaces of this size publish.
delivery:
expected_response: 2XX
timeout_seconds: 10
retries: 1
after_retries: delivery terminated
idempotency_field: null
idempotency_note: >-
There is a retry but no delivery id and no idempotency field on the
payload, so a consumer cannot distinguish a retry from a second real
event except by `unique_id` + `timestamp`. De-duplication is entirely the
consumer's problem.
ordering_guarantee: null
replay_api: false
source: https://docs.allo-media.net/activate-api/webhook/delivery/
- id: stream-h2h-websocket
kind: streaming
protocol: WebSocket (Phoenix Channels, vsn=2.0.0)
endpoint: wss://api.uh.live/socket/websocket
endpoint_template: "wss://api.uh.live/socket/websocket?vsn=2.0.0&jwt=YOUR_ACCESS_TOKEN"
protocol_version: V2
deprecated_versions: [V1]
auth: OAuth2 client_credentials token passed as the `jwt` query parameter (5 minute TTL)
bandwidth_limit: 20 kB/second/connection
client_messages:
- name: phx_join
meaning: join a conversation
- name: phx_leave
meaning: leave a conversation
- name: audio_chunk
meaning: binary audio data sent to the recognizer
server_events:
- name: phx_reply
meaning: response to a join/leave request
- name: audio_words_decoded
meaning: interim (partial) transcription results
- name: audio_segment_decoded
meaning: final segment transcript
- name: speaker_joined
meaning: a participant joined the conversation
- name: speaker_left
meaning: a participant left the conversation
additional_event_families:
- name: named entities
docs: https://docs.allo-media.net/stream-h2h/protocol/named-entities/
- name: analytics
docs: https://docs.allo-media.net/stream-h2h/protocol/analytics/
sdk_typed_events:
note: >-
The JavaScript SDK publishes its event names as TypeScript enums, which
is the closest thing to a machine-readable event catalogue this provider
ships.
Enums: DecodingEvent, EntityEvent, EntitiesRelationEvent. Payload
interfaces: WordsDecoded, SegmentDecoded, SegmentDecodedWord,
SegmentNormalized, SpeakerJoined, SpeakerLeft, Entity, EntityAnnotation,
EntityAnnotationQuantity, EntityRef, EntityRelation, Tag, TagAnnotation,
TagsFound.
docs: https://docs.allo-media.net/stream-h2h/javascript/api-reference/
source: https://docs.allo-media.net/stream-h2h/protocol/
- id: stream-h2b
kind: streaming
protocol: MRCP and WebSocket
purpose: real-time speech recognition for voicebots (human-to-bot)
docs: https://docs.allo-media.net/stream-h2b/
note: >-
A second streaming surface with grammar-based input (regex grammars) and its
own protocol/authentication docs. Event names not captured in this pass.
summary:
asyncapi_published: false
webhook_surface: true
streaming_surface: true
webhook_event_types_published: 0
webhook_triggers_documented: 1
streaming_events_documented: 5
x-gaps:
- No AsyncAPI document, so none of the event surfaces are machine-readable.
- No event-type identifier on the webhook payload — a single implicit trigger
means the surface cannot grow without breaking consumers who pattern-match on
shape.
- Webhook subscription is human-provisioned via an account manager; there is no
subscription API, no endpoint rotation, and no secret rotation documented.
- No delivery id, no replay/redelivery API, no ordering guarantee.
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/allo-media-events"
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.