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

# Search conversations

> Search for conversation sequence IDs for a specific agent within a scheduled-time window. The window is evaluated against scheduled call-step time using UTC calendar days: `start` is interpreted as `00:00:00.000Z` for that date and `end` as `23:59:59.999Z` for that date. Both must be zero-padded `YYYY-MM-DD` dates. Results are returned as conversation sequence IDs only — use the metadata endpoint to hydrate them.



## OpenAPI

````yaml /openapi.json get /conversations/search/{agentId}
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/search/{agentId}:
    get:
      tags:
        - Conversation Metadata
      summary: Search conversations
      description: >-
        Search for conversation sequence IDs for a specific agent within a
        scheduled-time window. The window is evaluated against scheduled
        call-step time using UTC calendar days: `start` is interpreted as
        `00:00:00.000Z` for that date and `end` as `23:59:59.999Z` for that
        date. Both must be zero-padded `YYYY-MM-DD` dates. Results are returned
        as conversation sequence IDs only — use the metadata endpoint to hydrate
        them.
      operationId: searchConversations
      parameters:
        - $ref: '#/components/parameters/AgentId'
        - name: start
          in: query
          required: true
          description: >-
            UTC start date for the search window in zero-padded `YYYY-MM-DD`
            format (inclusive).
          schema:
            type: string
            format: date
            example: '2026-05-06'
        - name: end
          in: query
          required: true
          description: >-
            UTC end date for the search window in zero-padded `YYYY-MM-DD`
            format (inclusive).
          schema:
            type: string
            format: date
            example: '2026-05-14'
        - name: limit
          in: query
          required: false
          description: Maximum number of sequence IDs to return.
          schema:
            type: integer
            minimum: 1
            maximum: 500
            default: 100
        - name: offset
          in: query
          required: false
          description: Number of matching conversations to skip.
          schema:
            type: integer
            minimum: 0
            default: 0
      responses:
        '200':
          description: Matching conversation sequence IDs.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SearchConversationsResponse'
        '400':
          description: >-
            `INVALID_DATE_RANGE` — `start`/`end` are missing, not in
            `YYYY-MM-DD` format, or `start` is after `end`. `INVALID_PAGINATION`
            — `limit` is outside 1–500 or `offset` is negative.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                invalidDateRange:
                  summary: Missing or malformed dates
                  value:
                    error: INVALID_DATE_RANGE
                    message: >-
                      Both start and end query parameters are required and must
                      use YYYY-MM-DD format.
                startAfterEnd:
                  summary: Start after end
                  value:
                    error: INVALID_DATE_RANGE
                    message: The start query parameter must be before or equal to end.
                invalidPagination:
                  summary: Invalid pagination
                  value:
                    error: INVALID_PAGINATION
                    message: >-
                      limit must be between 1 and 500, and offset must be a
                      non-negative integer.
        '401':
          description: >-
            `UNAUTHORIZED` or `INVALID_API_KEY` — API key missing or invalid.
            Also returned as `INVALID_API_KEY` when the agent does not exist or
            does not belong to your 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.
                invalidApiKeyOrAgentNotFound:
                  summary: Invalid API key or agent not found
                  value:
                    error: INVALID_API_KEY
                    message: >-
                      The provided API key is invalid or the agent was not
                      found.
        '500':
          $ref: '#/components/responses/InternalServerError'
components:
  parameters:
    AgentId:
      name: agentId
      in: path
      required: true
      description: ID of the agent, e.g. `agent.abc123`.
      schema:
        type: string
  schemas:
    SearchConversationsResponse:
      type: object
      required:
        - sequenceIds
        - pagination
      properties:
        sequenceIds:
          type: array
          description: Matching conversation sequence IDs.
          items:
            type: string
          example:
            - call-sequence.abc123
            - call-sequence.def456
        pagination:
          type: object
          required:
            - total
            - limit
            - offset
            - hasMore
          properties:
            total:
              type: integer
              description: Total matching conversations.
              example: 2
            limit:
              type: integer
              example: 100
            offset:
              type: integer
              example: 0
            hasMore:
              type: boolean
              description: Whether more results exist beyond this page.
              example: false
    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:
    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.
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: Organization API key. Get it from the 11x team or from the platform.

````