> ## 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.

# Add meeting attendees

> Add one or more attendees to the meeting, then return the full reconciled attendee list fetched from the calendar provider after the additions are applied (not just the attendees from the request). Attendees can only be added while the meeting has not yet started.



## OpenAPI

````yaml /openapi.json post /conversations/meetings/{entityId}/attendees
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}/attendees:
    post:
      tags:
        - Conversation Meetings
      summary: Add meeting attendees
      description: >-
        Add one or more attendees to the meeting, then return the full
        reconciled attendee list fetched from the calendar provider after the
        additions are applied (not just the attendees from the request).
        Attendees can only be added while the meeting has not yet started.
      operationId: addMeetingAttendees
      parameters:
        - $ref: '#/components/parameters/EntityId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddMeetingAttendeesRequest'
      responses:
        '200':
          description: The full attendee list after the additions are applied.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MeetingAttendeesResponse'
        '400':
          description: >-
            `INVALID_REQUEST_BODY` — the request body failed validation (e.g. no
            attendees, more than 30, an invalid email, or an empty name). The
            message describes the specific validation failures.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error: INVALID_REQUEST_BODY
                message: At least one attendee is required.
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/ConversationMeetingNotFound'
        '409':
          $ref: '#/components/responses/CalNotConfigured'
        '422':
          description: >-
            `UNSUPPORTED_ENTITY` — the `entityId` is not a supported
            conversation type (only voice calls are supported today).
            `MEETING_ALREADY_STARTED` — the meeting start time is in the past;
            attendees can only be added before the meeting starts.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                unsupportedEntity:
                  summary: Unsupported conversation entity
                  value:
                    error: UNSUPPORTED_ENTITY
                    message: >-
                      Conversation entity is not supported for meeting
                      attendees: call.abc123
                meetingAlreadyStarted:
                  summary: Meeting already started
                  value:
                    error: MEETING_ALREADY_STARTED
                    message: >-
                      Cannot add attendees to a meeting that has already
                      started.
        '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:
    AddMeetingAttendeesRequest:
      type: object
      required:
        - attendees
      properties:
        attendees:
          type: array
          minItems: 1
          maxItems: 30
          description: Attendees to add (1–30 per request).
          items:
            type: object
            required:
              - email
              - name
            properties:
              email:
                type: string
                format: email
                description: Attendee email address.
                example: guest@example.com
              name:
                type: string
                minLength: 1
                description: Attendee display name.
                example: Jane Doe
              timeZone:
                type: string
                description: >-
                  IANA timezone for the attendee. Defaults to the meeting's
                  timezone when omitted.
                example: America/New_York
              phoneNumber:
                type: string
                description: Attendee phone number in E.164 format.
                example: '+15555550123'
              language:
                type: string
                description: Attendee language code.
                enum:
                  - ar
                  - az
                  - bg
                  - ca
                  - cs
                  - da
                  - de
                  - el
                  - en
                  - es
                  - es-419
                  - et
                  - eu
                  - fi
                  - fr
                  - he
                  - hr
                  - hu
                  - id
                  - it
                  - iw
                  - ja
                  - km
                  - ko
                  - lv
                  - nl
                  - 'no'
                  - pl
                  - pt
                  - pt-BR
                  - ro
                  - ru
                  - sk
                  - sr
                  - sv
                  - ta
                  - th
                  - tr
                  - uk
                  - vi
                  - zh-CN
                  - zh-TW
                example: en
    MeetingAttendeesResponse:
      type: object
      required:
        - entityId
        - bookingUid
        - attendees
      properties:
        entityId:
          type: string
          example: call.abc123
        bookingUid:
          type: string
          description: UID of the calendar booking linked to the conversation.
        attendees:
          type: array
          items:
            $ref: '#/components/schemas/MeetingAttendee'
    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.
    MeetingAttendee:
      type: object
      required:
        - email
      properties:
        email:
          type: string
          format: email
          example: guest@example.com
        name:
          type: string
          description: Included when the calendar provider has a value for it.
          example: Jane Doe
        timeZone:
          type: string
          description: >-
            IANA timezone. Included when the calendar provider has a value for
            it.
          example: America/New_York
        phoneNumber:
          type: string
          description: >-
            E.164 phone number. Included when the calendar provider has a value
            for it.
          example: '+15555550123'
  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.
    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.

````