HeyMilo · AsyncAPI Specification

HeyMilo Webhooks

Version 2.0.0

HeyMilo delivers real-time HTTP notifications across the candidate interview lifecycle. Register a webhook via the Public REST API (POST /api/v2/webhooks) with a destination URL, an event_type, and the posting_id it applies to; HeyMilo then fires an HTTP request (POST by default, GET optional) to your URL whenever the subscribed event occurs, carrying a JSON payload with candidate and interview data. This AsyncAPI document is GENERATED by the API Evangelist enrichment pipeline from HeyMilo's published webhook documentation — payload fields are modeled from the documented event data, not from a provider-published AsyncAPI spec.

View Spec View on GitHub CompanyRecruitingHiringHuman ResourcesHR TechArtificial IntelligenceAI AgentsInterviewingCandidate ScreeningVoice AIWebhookATS IntegrationAsyncAPIWebhooksEvents

Channels

interviewStarted
Triggered when a candidate begins an interview session.
interviewCompleted
Triggered when a candidate finishes all steps of an interview.
reportAvailable
Triggered when the AI-generated interview report is ready. Fires after AI analysis completes, which may be seconds to minutes after interview_completed.

Messages

InterviewStarted
Interview started
InterviewCompleted
Interview completed
ReportAvailable
Report available

AsyncAPI Specification

Raw ↑
asyncapi: 3.0.0
info:
  title: HeyMilo Webhooks
  version: 2.0.0
  description: >-
    HeyMilo delivers real-time HTTP notifications across the candidate interview
    lifecycle. Register a webhook via the Public REST API (POST /api/v2/webhooks)
    with a destination URL, an event_type, and the posting_id it applies to;
    HeyMilo then fires an HTTP request (POST by default, GET optional) to your URL
    whenever the subscribed event occurs, carrying a JSON payload with candidate
    and interview data. This AsyncAPI document is GENERATED by the API Evangelist
    enrichment pipeline from HeyMilo's published webhook documentation — payload
    fields are modeled from the documented event data, not from a provider-published
    AsyncAPI spec.
  externalDocs:
    description: Webhook Configuration
    url: https://docs.heymilo.ai/api-reference/webhooks/configuration
x-provenance:
  generated: '2026-07-19'
  method: generated
  source: https://docs.heymilo.ai/api-reference/webhooks/configuration
  spec_type: AsyncAPI
defaultContentType: application/json
channels:
  interviewStarted:
    address: interview_started
    description: Triggered when a candidate begins an interview session.
    messages:
      interviewStarted:
        $ref: '#/components/messages/InterviewStarted'
  interviewCompleted:
    address: interview_completed
    description: Triggered when a candidate finishes all steps of an interview.
    messages:
      interviewCompleted:
        $ref: '#/components/messages/InterviewCompleted'
  reportAvailable:
    address: report_available
    description: >-
      Triggered when the AI-generated interview report is ready. Fires after AI
      analysis completes, which may be seconds to minutes after interview_completed.
    messages:
      reportAvailable:
        $ref: '#/components/messages/ReportAvailable'
operations:
  receiveInterviewStarted:
    action: receive
    channel:
      $ref: '#/channels/interviewStarted'
  receiveInterviewCompleted:
    action: receive
    channel:
      $ref: '#/channels/interviewCompleted'
  receiveReportAvailable:
    action: receive
    channel:
      $ref: '#/channels/reportAvailable'
components:
  messages:
    InterviewStarted:
      name: interview_started
      title: Interview started
      payload:
        $ref: '#/components/schemas/WebhookEvent'
    InterviewCompleted:
      name: interview_completed
      title: Interview completed
      payload:
        $ref: '#/components/schemas/WebhookEvent'
    ReportAvailable:
      name: report_available
      title: Report available
      payload:
        $ref: '#/components/schemas/WebhookEvent'
  schemas:
    WebhookEvent:
      type: object
      description: >-
        HeyMilo webhook payload. The documented event data includes candidate
        information, interview details, and scores; exact field shapes are not
        published in a machine-readable schema, so only the documented envelope
        fields are modeled here.
      properties:
        event_type:
          type: string
          enum: [interview_started, interview_completed, report_available]
        posting_id:
          type: string
          description: The job posting (interviewer) this event belongs to.
        interview_id:
          type: string
          description: The interview the event concerns.

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.
All 92 tools →

Call it yourself

curl for this page
This AsyncAPI spec
curl "https://apis.io/api/v1/asyncapis/heymilo-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 email required.

A second provider on the same verified email joins the account you already have.