Callidus Legal AI Oral Argument Simulator API

The Oral Argument Simulator API from Callidus Legal AI — 10 operation(s) for oral argument simulator.

Operations 11

POST /oral_argument_simulator/background_research2 Background Research2 #
POST /oral_argument_simulator/background_research Background Research Legacy #
GET /oral_argument_simulator/feedback/{session_id}/{chat_history_key}/{dataset_id} Stream Feedback For Argument #
GET /oral_argument_simulator/get_argument_session_ids/{session_id}/{dataset_id} Get Argument Session Ids #
GET /oral_argument_simulator/background_research2/{dataset_id} Get background research for dataset #
GET /oral_argument_simulator/background_research/{dataset_id} Get background research for dataset #
GET /oral_argument_simulator/feedback2/{dataset_id} Get all feedbacks for dataset #
POST /oral_argument_simulator/save-task-memory/{dataset_id} Save Case Coach task memory to doc hub #
GET /oral_argument_simulator/feedback/{dataset_id} Get all feedbacks for dataset #
GET /oral_argument_simulator/inputs/{dataset_id} Get saved Case Coach inputs for a dataset #
PUT /oral_argument_simulator/inputs/{dataset_id} Save (full replace) Case Coach inputs for a dataset #

Work with this as data

Every API 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 apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • 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 API
curl "https://apis.io/api/v1/apis/callidus-legal-ai:callidus-legal-ai-oral-argument-simulator-api"
All apis
curl "https://apis.io/api/v1/apis?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.

OpenAPI Specification

callidus-legal-ai-oral-argument-simulator-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: CallidusAI Oral Argument Simulator API
  description: Callidus AI backend API
  version: 0.1.0
tags:
- name: Oral Argument Simulator
paths:
  /oral_argument_simulator/background_research2:
    post:
      tags:
      - Oral Argument Simulator
      summary: Background Research2
      description: 'Like /background_research, but inputs are DocMetadata UUIDs.


        `blob_names` is a list of doc UUID strings (DocMetadata.id). Document text is

        retrieved from the doc-hub vector store (already extracted), so no OCR/text extraction

        occurs in this route.'
      operationId: background_research2_oral_argument_simulator_background_research2_post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Body_background_research2_oral_argument_simulator_background_research2_post'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /oral_argument_simulator/background_research:
    post:
      tags:
      - Oral Argument Simulator
      summary: Background Research Legacy
      operationId: background_research_legacy_oral_argument_simulator_background_research_post
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Body_background_research_legacy_oral_argument_simulator_background_research_post'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /oral_argument_simulator/feedback/{session_id}/{chat_history_key}/{dataset_id}:
    get:
      tags:
      - Oral Argument Simulator
      summary: Stream Feedback For Argument
      description: 'Stream AI-generated feedback for an oral argument session.


        Retrieves session data from Redis, constructs a prompt, and initiates a streaming

        response using Gemini to provide real-time structured feedback.


        Args:

        session_id (str): The session identifier for the oral argument.


        Returns:

        StreamingResponse on success.'
      operationId: stream_feedback_for_argument_oral_argument_simulator_feedback__session_id___chat_history_key___dataset_id__get
      parameters:
      - name: session_id
        in: path
        required: true
        schema:
          type: string
          title: Session Id
      - name: chat_history_key
        in: path
        required: true
        schema:
          type: string
          title: Chat History Key
      - name: dataset_id
        in: path
        required: true
        schema:
          type: string
          title: Dataset Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /oral_argument_simulator/get_argument_session_ids/{session_id}/{dataset_id}:
    get:
      tags:
      - Oral Argument Simulator
      summary: Get Argument Session Ids
      description: Retrieves and returns all session ids from redis for oral argument simulator to provide feedback for each.
      operationId: get_argument_session_ids_oral_argument_simulator_get_argument_session_ids__session_id___dataset_id__get
      parameters:
      - name: session_id
        in: path
        required: true
        schema:
          type: string
          title: Session Id
      - name: dataset_id
        in: path
        required: true
        schema:
          type: integer
          title: Dataset Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /oral_argument_simulator/background_research2/{dataset_id}:
    get:
      tags:
      - Oral Argument Simulator
      summary: Get background research for dataset
      operationId: get_background_research_oral_argument_simulator_background_research2__dataset_id__get
      parameters:
      - name: dataset_id
        in: path
        required: true
        schema:
          type: integer
          title: Dataset Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /oral_argument_simulator/background_research/{dataset_id}:
    get:
      tags:
      - Oral Argument Simulator
      summary: Get background research for dataset
      operationId: get_background_research_legacy_oral_argument_simulator_background_research__dataset_id__get
      parameters:
      - name: dataset_id
        in: path
        required: true
        schema:
          type: integer
          title: Dataset Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /oral_argument_simulator/feedback2/{dataset_id}:
    get:
      tags:
      - Oral Argument Simulator
      summary: Get all feedbacks for dataset
      operationId: get_feedback_oral_argument_simulator_feedback2__dataset_id__get
      parameters:
      - name: dataset_id
        in: path
        required: true
        schema:
          type: integer
          title: Dataset Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /oral_argument_simulator/save-task-memory/{dataset_id}:
    post:
      tags:
      - Oral Argument Simulator
      summary: Save Case Coach task memory to doc hub
      description: 'Save the current Case Coach session state as a TASK_MEMORY doc.


        Called by the frontend once after the feedback page is fully loaded.

        Captures background research + all feedback sessions into a single

        markdown doc. Triggers INGEST → TASK_MEMORY_SYNTHESIS → matter

        memory regen downstream.


        Best-effort: returns ``saved=false`` on failure rather than raising.'
      operationId: save_case_coach_task_memory_endpoint_oral_argument_simulator_save_task_memory__dataset_id__post
      parameters:
      - name: dataset_id
        in: path
        required: true
        schema:
          type: integer
          title: Dataset Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SaveTaskMemoryResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /oral_argument_simulator/feedback/{dataset_id}:
    get:
      tags:
      - Oral Argument Simulator
      summary: Get all feedbacks for dataset
      operationId: get_feedback_legacy_oral_argument_simulator_feedback__dataset_id__get
      parameters:
      - name: dataset_id
        in: path
        required: true
        schema:
          type: integer
          title: Dataset Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /oral_argument_simulator/inputs/{dataset_id}:
    get:
      tags:
      - Oral Argument Simulator
      summary: Get saved Case Coach inputs for a dataset
      description: 'Return previously saved inputs, or ``result: null`` for new datasets.'
      operationId: get_inputs_oral_argument_simulator_inputs__dataset_id__get
      parameters:
      - name: dataset_id
        in: path
        required: true
        schema:
          type: integer
          title: Dataset Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    put:
      tags:
      - Oral Argument Simulator
      summary: Save (full replace) Case Coach inputs for a dataset
      description: 'Full-replace of all input fields.


        * ``source_files: []`` clears section assignments.

        * ``witness_metadata: null`` clears witness metadata.

        * Validates enums and section uniqueness.

        * No side effects beyond storage.'
      operationId: put_inputs_oral_argument_simulator_inputs__dataset_id__put
      parameters:
      - name: dataset_id
        in: path
        required: true
        schema:
          type: integer
          title: Dataset Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InputsPayload'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    InputsPayload:
      properties:
        role:
          $ref: '#/components/schemas/RoleEnum'
        trial_stage:
          $ref: '#/components/schemas/TrialStageEnum'
        witness_metadata:
          anyOf:
          - $ref: '#/components/schemas/WitnessMetadata'
          - type: 'null'
        source_files:
          items:
            $ref: '#/components/schemas/SourceFileEntry'
          type: array
          title: Source Files
        additional_context_files:
          items:
            $ref: '#/components/schemas/SourceFileEntry'
          type: array
          title: Additional Context Files
      type: object
      required:
      - role
      - trial_stage
      title: InputsPayload
      description: Full-replace payload for PUT /inputs/{dataset_id}.
    TrialStageEnum:
      type: string
      enum:
      - trial
      - deposition
      title: TrialStageEnum
    SourceFileEntry:
      properties:
        section:
          $ref: '#/components/schemas/SectionEnum'
        doc_id:
          type: string
          title: Doc Id
        blob_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Blob Name
        name:
          anyOf:
          - type: string
          - type: 'null'
          title: Name
        size:
          anyOf:
          - type: integer
          - type: 'null'
          title: Size
        context:
          anyOf:
          - type: string
          - type: 'null'
          title: Context
        file_role:
          anyOf:
          - type: string
          - type: 'null'
          title: File Role
      type: object
      required:
      - section
      - doc_id
      title: SourceFileEntry
    Body_background_research2_oral_argument_simulator_background_research2_post:
      properties:
        files_context:
          items:
            type: string
          type: array
          title: Files Context
        blob_names:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Blob Names
        titles:
          items:
            type: string
          type: array
          title: Titles
        dataset_id:
          type: string
          title: Dataset Id
        trial_stage:
          type: string
          title: Trial Stage
        witness_name:
          type: string
          title: Witness Name
        witness_disposition:
          type: string
          title: Witness Disposition
        witness_background:
          type: string
          title: Witness Background
        is_expert:
          type: string
          title: Is Expert
      type: object
      required:
      - files_context
      - titles
      - dataset_id
      - trial_stage
      title: Body_background_research2_oral_argument_simulator_background_research2_post
    SectionEnum:
      type: string
      enum:
      - supporting
      - counterparty
      - context
      - oral
      title: SectionEnum
    WitnessMetadata:
      properties:
        witness_name:
          type: string
          title: Witness Name
        witness_disposition:
          type: string
          title: Witness Disposition
        witness_background:
          type: string
          title: Witness Background
        is_expert:
          type: boolean
          title: Is Expert
      type: object
      required:
      - witness_name
      - witness_disposition
      - witness_background
      - is_expert
      title: WitnessMetadata
    RoleEnum:
      type: string
      enum:
      - judge
      - witness
      title: RoleEnum
    Body_background_research_legacy_oral_argument_simulator_background_research_post:
      properties:
        files_context:
          items:
            type: string
          type: array
          title: Files Context
        blob_names:
          items:
            type: string
          type: array
          title: Blob Names
        dataset_id:
          type: string
          title: Dataset Id
        trial_stage:
          type: string
          title: Trial Stage
        witness_name:
          type: string
          title: Witness Name
        witness_disposition:
          type: string
          title: Witness Disposition
        witness_background:
          type: string
          title: Witness Background
        is_expert:
          type: string
          title: Is Expert
      type: object
      required:
      - files_context
      - blob_names
      - dataset_id
      - trial_stage
      title: Body_background_research_legacy_oral_argument_simulator_background_research_post
    SaveTaskMemoryResponse:
      properties:
        saved:
          type: boolean
          title: Saved
        skipped_reason:
          anyOf:
          - type: string
          - type: 'null'
          title: Skipped Reason
        doc_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Doc Id
      type: object
      required:
      - saved
      title: SaveTaskMemoryResponse
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError