> ## Documentation Index
> Fetch the complete documentation index at: https://docs.julian.11x.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Cancel meeting

> Cancel the meeting linked to a conversation. The request body is optional — send an empty body to cancel with no extra options. Reconciliation of the conversation's stored metadata (such as marking the booking cancelled) is handled asynchronously after the calendar provider confirms the cancellation; it does not happen within this request.



## OpenAPI

````yaml /openapi.json post /conversations/meetings/{entityId}/cancel
openapi: 3.1.0
info:
  title: Julian API
  version: 1.0.0
  description: >-
    API for Julian, 11x's AI calling platform. Programmatically enroll contacts
    into agent calling sequences, manage sequences, and track credit usage. All
    requests are authenticated with an organization API key in the `x-api-key`
    header and rate limited to 10 requests per second per key (HTTP 429 when
    exceeded).
servers:
  - url: https://julian.11x.ai/api/v1
security:
  - apiKeyAuth: []
tags:
  - name: Scheduling
    description: Enroll contacts into an agent's calling sequence.
  - name: Sequences
    description: Manage active sequences.
  - name: Agents
    description: Read agent configuration.
  - name: Conversation Meetings
    description: >-
      Manage the meeting booked during a conversation — list its attendees, add
      attendees before it starts, and cancel it. Every endpoint is addressed by
      an `entityId` that identifies the conversation. Today only voice calls are
      supported, with the form of the call prefix followed by the call ID (e.g.
      `call.abc123`). The meeting is resolved from the calendar booking created
      during the conversation, and the calendar provider remains the source of
      truth.
  - name: Conversation Metadata
    description: >-
      Retrieve completed conversation data asynchronously — designed for batch
      ingestion, backfills, and reconciliation jobs that pull conversation
      metadata instead of receiving it through a webhook.


      **Recommended batch ingestion flow:**


      1. Call `GET /conversations/search/{agentId}` with the time window you
      want to ingest (e.g. yesterday or the last seven days).

      2. Iterate through the returned `sequenceIds`.

      3. For each sequence ID, call `GET /conversations/metadata/{sequenceId}`.

      4. Store the returned `metadata` array in your warehouse.

      5. Use `limit`, `offset`, and `hasMore` to paginate through larger
      backfills.
  - name: Credits
    description: Track credit utilization.
  - name: Webhooks
    description: Events Julian sends to your endpoint.
paths:
  /conversations/meetings/{entityId}/cancel:
    post:
      tags:
        - Conversation Meetings
      summary: Cancel meeting
      description: >-
        Cancel the meeting linked to a conversation. The request body is
        optional — send an empty body to cancel with no extra options.
        Reconciliation of the conversation's stored metadata (such as marking
        the booking cancelled) is handled asynchronously after the calendar
        provider confirms the cancellation; it does not happen within this
        request.
      operationId: cancelMeeting
      parameters:
        - $ref: '#/components/parameters/EntityId'
      requestBody:
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CancelMeetingRequest'
      responses:
        '200':
          description: Meeting cancelled.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CancelMeetingResponse'
        '400':
          description: >-
            `INVALID_REQUEST_BODY` — the request body failed validation. The
            message describes the specific validation failures.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error: INVALID_REQUEST_BODY
                message: Expected boolean, received string
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/ConversationMeetingNotFound'
        '409':
          $ref: '#/components/responses/CalNotConfigured'
        '422':
          $ref: '#/components/responses/UnsupportedConversationEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '502':
          $ref: '#/components/responses/CalApiError'
components:
  parameters:
    EntityId:
      name: entityId
      in: path
      required: true
      description: >-
        ID of the conversation whose meeting you want to manage. Voice calls use
        the call prefix followed by the call ID, e.g. `call.abc123`.
      schema:
        type: string
  schemas:
    CancelMeetingRequest:
      type: object
      description: Optional. Send an empty body to cancel with no extra options.
      properties:
        cancellationReason:
          type: string
          description: >-
            Human-readable reason for the cancellation. May be shared with
            attendees by the calendar provider.
        cancelSubsequentBookings:
          type: boolean
          description: >-
            For recurring (non-seated) bookings only. When `true`, cancels this
            booking and all following occurrences in the series.
    CancelMeetingResponse:
      type: object
      required:
        - entityId
        - bookingUid
        - status
      properties:
        entityId:
          type: string
          example: call.abc123
        bookingUid:
          type: string
        status:
          type: string
          enum:
            - cancelled
          example: cancelled
    Error:
      type: object
      required:
        - error
        - message
      properties:
        error:
          type: string
          description: Machine-readable error code.
          example: INVALID_PHONE_NUMBER
        message:
          type: string
          description: Human-readable explanation.
  responses:
    Unauthorized:
      description: >-
        `UNAUTHORIZED` or `INVALID_API_KEY` — API key missing, invalid, or not
        authorized for this agent's organization.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          examples:
            missingApiKey:
              summary: Missing API key
              value:
                error: UNAUTHORIZED
                message: >-
                  API key is required. Please provide your API key in the
                  x-api-key header.
            invalidApiKey:
              summary: Invalid API key
              value:
                error: INVALID_API_KEY
                message: The provided API key is invalid.
    ConversationMeetingNotFound:
      description: >-
        `ENTITY_NOT_FOUND` — the conversation does not exist or does not belong
        to your organization. `BOOKING_NOT_FOUND` — the conversation exists but
        has no calendar booking linked to it.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          examples:
            entityNotFound:
              summary: Conversation not found
              value:
                error: ENTITY_NOT_FOUND
                message: 'Conversation not found: call.abc123'
            bookingNotFound:
              summary: No booking linked to the conversation
              value:
                error: BOOKING_NOT_FOUND
                message: No Cal.com booking found for conversation call.abc123
    CalNotConfigured:
      description: >-
        `CAL_NOT_CONFIGURED` — the calendar provider is not configured for your
        organization.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error: CAL_NOT_CONFIGURED
            message: Cal.com is not configured for this organization.
    UnsupportedConversationEntity:
      description: >-
        `UNSUPPORTED_ENTITY` — the `entityId` is not a supported conversation
        type. Only voice calls are supported today.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error: UNSUPPORTED_ENTITY
            message: >-
              Conversation entity is not supported for meeting attendees:
              call.abc123
    InternalServerError:
      description: >-
        `INTERNAL_SERVER_ERROR` — unexpected server error. Retry with backoff
        and contact the 11x team if it persists.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error: INTERNAL_SERVER_ERROR
            message: Internal Server Error. Please contact 11x team.
    CalApiError:
      description: >-
        `CAL_API_ERROR` — the calendar provider rejected the request. The
        message includes the provider's error detail.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error: CAL_API_ERROR
            message: 'Failed to add attendee guest@example.com: [provider error detail]'
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: Organization API key. Get it from the 11x team or from the platform.

````