Amigo Context Graphs API

The Context Graphs API from Amigo — 4 operation(s) for context graphs.

OpenAPI Specification

amigo-context-graphs-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Amigo Account Context Graphs API
  version: 0.1.0
servers:
- url: https://api.amigo.ai
- url: https://internal-api.amigo.ai
- url: https://api-eu-central-1.amigo.ai
- url: https://api-ap-southeast-2.amigo.ai
- url: https://api-ca-central-1.amigo.ai
security:
- Bearer-Authorization: []
  Bearer-Authorization-Organization: []
  Basic: []
tags:
- name: Context Graphs
paths:
  /v1/{workspace_id}/context-graphs:
    post:
      tags:
      - Context Graphs
      summary: Create a context graph
      description: Create a new context graph in a workspace. Requires `ContextGraph.create` permission.
      operationId: create-context_graph
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateContextGraphRequest'
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContextGraphResponse'
        '404':
          description: Not found.
        '409':
          description: Name already taken.
        '403':
          description: Insufficient permissions.
        '401':
          description: Missing or invalid API key.
        '422':
          description: Invalid request body.
      parameters:
      - name: workspace_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Workspace Id
    get:
      tags:
      - Context Graphs
      summary: List context graphs
      description: List context graphs in a workspace with pagination. Requires `ContextGraph.view` permission.
      operationId: list-context_graphs
      parameters:
      - name: workspace_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Workspace Id
      - name: search
        in: query
        required: false
        schema:
          anyOf:
          - $ref: '#/components/schemas/SearchString'
          - type: 'null'
          title: Search
      - name: sort_by
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Sort By
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          maximum: 100
          exclusiveMinimum: 0
          default: 10
          title: Limit
      - name: continuation_token
        in: query
        required: false
        schema:
          type: integer
          default: 0
          title: Continuation Token
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedResponse_ContextGraphResponse_'
        '404':
          description: Not found.
        '403':
          description: Insufficient permissions.
        '401':
          description: Missing or invalid API key.
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/{workspace_id}/context-graphs/{context_graph_id}:
    get:
      tags:
      - Context Graphs
      summary: Get a context graph
      description: Retrieve a context graph by ID. Requires `ContextGraph.view` permission.
      operationId: get-context_graph
      parameters:
      - name: workspace_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Workspace Id
      - name: context_graph_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Context Graph Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContextGraphResponse'
        '404':
          description: Not found.
        '403':
          description: Insufficient permissions.
        '401':
          description: Missing or invalid API key.
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    put:
      tags:
      - Context Graphs
      summary: Update a context graph
      description: Update a context graph's name or description. Requires `ContextGraph.update` permission.
      operationId: update-context_graph
      parameters:
      - name: workspace_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Workspace Id
      - name: context_graph_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Context Graph Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateContextGraphRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContextGraphResponse'
        '404':
          description: Not found.
        '409':
          description: Name already taken.
        '403':
          description: Insufficient permissions.
        '401':
          description: Missing or invalid API key.
        '422':
          description: Invalid request body.
    delete:
      tags:
      - Context Graphs
      summary: Delete a context graph
      description: Delete a context graph. context graph versions are retained. Requires `ContextGraph.delete` permission.
      operationId: delete-context_graph
      parameters:
      - name: workspace_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Workspace Id
      - name: context_graph_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Context Graph Id
      responses:
        '204':
          description: Successful Response
        '404':
          description: Not found.
        '403':
          description: Insufficient permissions.
        '401':
          description: Missing or invalid API key.
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/{workspace_id}/context-graphs/{context_graph_id}/versions:
    post:
      tags:
      - Context Graphs
      summary: Create a context graph version
      description: Create a new version of a context graph. Version number is auto-incremented. Requires `ContextGraph.create` permission for the first version and `ContextGraph.update` permission afterward.
      operationId: create-context_graph-version
      parameters:
      - name: workspace_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Workspace Id
      - name: context_graph_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Context Graph Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateContextGraphVersionRequest'
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContextGraphVersionResponse'
        '404':
          description: Not found.
        '409':
          description: Name already taken.
        '403':
          description: Insufficient permissions.
        '401':
          description: Missing or invalid API key.
        '422':
          description: Invalid request body.
    get:
      tags:
      - Context Graphs
      summary: List context graph versions
      description: List versions of a context graph with pagination. Requires `ContextGraph.view` permission.
      operationId: list-context_graph-versions
      parameters:
      - name: workspace_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Workspace Id
      - name: context_graph_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Context Graph Id
      - name: sort_by
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Sort By
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          maximum: 100
          exclusiveMinimum: 0
          default: 10
          title: Limit
      - name: continuation_token
        in: query
        required: false
        schema:
          type: integer
          default: 0
          title: Continuation Token
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedResponse_ContextGraphVersionResponse_'
        '404':
          description: Not found.
        '403':
          description: Insufficient permissions.
        '401':
          description: Missing or invalid API key.
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/{workspace_id}/context-graphs/{context_graph_id}/versions/{version}:
    get:
      tags:
      - Context Graphs
      summary: Get a context graph version
      description: Retrieve a specific context graph version by number, or 'latest'. Requires `ContextGraph.view` permission.
      operationId: get-context_graph-version
      parameters:
      - name: workspace_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Workspace Id
      - name: context_graph_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Context Graph Id
      - name: version
        in: path
        required: true
        schema:
          anyOf:
          - type: integer
          - type: string
          title: Version
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContextGraphVersionResponse'
        '404':
          description: Not found.
        '403':
          description: Insufficient permissions.
        '401':
          description: Missing or invalid API key.
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    FailureClass:
      type: string
      enum:
      - timeout
      - input_rejected
      - rounds_exhausted
      - generic
      title: FailureClass
      description: 'Why a tool result is a failure — produced by the executor at RUN time.


        Unlike ``ResultDelivery`` (a fixed config-time axis), this is a runtime

        classification the executor knows at the moment of failure. It flavors the

        agent-facing failure wording and the world-event / status-tool observability,

        and it is ALSO an optional routing key: a state x tool binding may set

        ``ToolCallSpec.failure_delivery_by_class`` to deliver differently per class

        (e.g. interrupt on timeout, queue on a generic error). With no per-class map

        (the default), failed results route by the ``failure_delivery`` floor,

        unchanged. Add a member only in the same change that wires a producer for it —

        adding one also widens the per-class routing surface, so it must be a

        deliberate, produced class.'
    AnnotationState:
      properties:
        type:
          type: string
          const: annotation
          title: Type
        name:
          type: string
          title: Name
        inner_thought:
          type: string
          title: Inner Thought
        next_state:
          type: string
          title: Next State
      type: object
      required:
      - type
      - name
      - inner_thought
      - next_state
      title: AnnotationState
      description: Injects a hardcoded inner thought (no LLM call).
    ChannelOverride:
      properties:
        objective:
          anyOf:
          - type: string
          - type: 'null'
          title: Objective
        action_guidelines:
          items:
            type: string
          type: array
          title: Action Guidelines
          default: []
        progress:
          anyOf:
          - $ref: '#/components/schemas/ProgressHint'
          - type: 'null'
      type: object
      title: ChannelOverride
      description: Per-channel behavior override for a state.
    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
    ContextGraphState-Input:
      oneOf:
      - $ref: '#/components/schemas/ActionState-Input'
      - $ref: '#/components/schemas/DecisionState-Input'
      - $ref: '#/components/schemas/AnnotationState'
      - $ref: '#/components/schemas/DataCollectionState-Input'
      discriminator:
        propertyName: type
        mapping:
          action: '#/components/schemas/ActionState-Input'
          annotation: '#/components/schemas/AnnotationState'
          data_collection: '#/components/schemas/DataCollectionState-Input'
          decision: '#/components/schemas/DecisionState-Input'
    ProgressHint:
      properties:
        deterministic:
          type: boolean
          title: Deterministic
          default: false
        phrases:
          anyOf:
          - items:
              type: string
            type: array
            maxItems: 10
            minItems: 1
            description: 'Filler phrases. deterministic=true: played verbatim in order. deterministic=false: used as hints for early attempts.'
          - type: 'null'
          title: Phrases
        trigger_delay_ms:
          anyOf:
          - type: integer
            maximum: 30000.0
            minimum: 0.0
          - type: 'null'
          title: Trigger Delay Ms
        interval_ms:
          anyOf:
          - type: integer
            maximum: 30000.0
            minimum: 100.0
          - type: 'null'
          title: Interval Ms
        mode:
          type: string
          enum:
          - auto
          - silent
          - backchannel
          - verbal
          title: Mode
          default: auto
        progress_class:
          anyOf:
          - type: string
            enum:
            - lookup
            - write
            - external_call
            - compute
            - multi_step
          - type: 'null'
          title: Progress Class
        expected_latency_ms:
          anyOf:
          - type: integer
            maximum: 60000.0
            minimum: 0.0
          - type: 'null'
          title: Expected Latency Ms
        custom_phrase:
          anyOf:
          - type: string
            maxLength: 500
            description: 'Legacy: use phrases instead.'
          - type: 'null'
          title: Custom Phrase
      additionalProperties: false
      type: object
      title: ProgressHint
      description: 'How the agent narrates waiting on a tool.


        ``deterministic=true``: scripted — ``phrases`` play verbatim in order.

        ``deterministic=false``: engine picks — ``phrases`` are hints.

        ``trigger_delay_ms``: milliseconds before first filler (0 = immediate).

        ``interval_ms``: milliseconds between subsequent fillers.'
    ActionState-Input:
      properties:
        type:
          type: string
          const: action
          title: Type
        name:
          type: string
          title: Name
        objective:
          type: string
          title: Objective
        actions:
          items:
            $ref: '#/components/schemas/Action'
          type: array
          title: Actions
        intra_state_navigation_guidelines:
          items:
            type: string
          type: array
          title: Intra State Navigation Guidelines
        action_guidelines:
          items:
            type: string
          type: array
          title: Action Guidelines
        boundary_constraints:
          items:
            type: string
          type: array
          title: Boundary Constraints
        exit_conditions:
          items:
            $ref: '#/components/schemas/ExitCondition'
          type: array
          title: Exit Conditions
        action_tool_call_specs:
          items:
            $ref: '#/components/schemas/ToolCallSpec'
          type: array
          title: Action Tool Call Specs
          default: []
        exit_condition_tool_call_specs:
          items:
            $ref: '#/components/schemas/ToolCallSpec'
          type: array
          title: Exit Condition Tool Call Specs
          default: []
        wait_for:
          anyOf:
          - type: string
            enum:
            - surface_submission
            - human_approval
          - type: 'null'
          title: Wait For
        guardrails:
          items:
            $ref: '#/components/schemas/Guardrail'
          type: array
          title: Guardrails
          default: []
        channel_overrides:
          additionalProperties:
            $ref: '#/components/schemas/ChannelOverride'
          type: object
          title: Channel Overrides
        surface_spec_template:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Surface Spec Template
        turn_policy:
          anyOf:
          - $ref: '#/components/schemas/TurnPolicy'
          - type: 'null'
        preload:
          items:
            $ref: '#/components/schemas/PreloadSpec'
          type: array
          maxItems: 20
          title: Preload
      type: object
      required:
      - type
      - name
      - objective
      - actions
      - intra_state_navigation_guidelines
      - action_guidelines
      - boundary_constraints
      - exit_conditions
      title: ActionState
      description: User-facing engagement state with actions and exit conditions.
    UpdateContextGraphRequest:
      properties:
        name:
          anyOf:
          - $ref: '#/components/schemas/NameString'
          - type: 'null'
        description:
          anyOf:
          - $ref: '#/components/schemas/DescriptionString'
          - type: 'null'
      type: object
      title: UpdateContextGraphRequest
    ExitCondition:
      properties:
        description:
          type: string
          title: Description
        next_state:
          type: string
          title: Next State
        filler_hint:
          anyOf:
          - type: string
          - type: 'null'
          title: Filler Hint
      type: object
      required:
      - description
      - next_state
      title: ExitCondition
    DecisionState-Input:
      properties:
        type:
          type: string
          const: decision
          title: Type
        name:
          type: string
          title: Name
        objective:
          type: string
          title: Objective
        exit_conditions:
          items:
            $ref: '#/components/schemas/ExitCondition'
          type: array
          title: Exit Conditions
        decision_guidelines:
          items:
            type: string
          type: array
          title: Decision Guidelines
          default: []
        tool_call_specs:
          items:
            $ref: '#/components/schemas/ToolCallSpec'
          type: array
          title: Tool Call Specs
          default: []
        wait_for:
          anyOf:
          - type: string
            enum:
            - surface_submission
            - human_approval
          - type: 'null'
          title: Wait For
        guardrails:
          items:
            $ref: '#/components/schemas/Guardrail'
          type: array
          title: Guardrails
          default: []
        channel_overrides:
          additionalProperties:
            $ref: '#/components/schemas/ChannelOverride'
          type: object
          title: Channel Overrides
        turn_policy:
          anyOf:
          - $ref: '#/components/schemas/TurnPolicy'
          - type: 'null'
      type: object
      required:
      - type
      - name
      - objective
      - exit_conditions
      title: DecisionState
      description: Passthrough routing state — Agent picks an exit condition, no user interaction.
    DecisionState-Output:
      properties:
        type:
          type: string
          const: decision
          title: Type
        name:
          type: string
          title: Name
        objective:
          type: string
          title: Objective
        exit_conditions:
          items:
            $ref: '#/components/schemas/ExitCondition'
          type: array
          title: Exit Conditions
        decision_guidelines:
          items:
            type: string
          type: array
          title: Decision Guidelines
          default: []
        tool_call_specs:
          items:
            $ref: '#/components/schemas/ToolCallSpec'
          type: array
          title: Tool Call Specs
          default: []
        wait_for:
          anyOf:
          - type: string
            enum:
            - surface_submission
            - human_approval
          - type: 'null'
          title: Wait For
        guardrails:
          items:
            $ref: '#/components/schemas/Guardrail'
          type: array
          title: Guardrails
          default: []
        channel_overrides:
          additionalProperties:
            $ref: '#/components/schemas/ChannelOverride'
          type: object
          title: Channel Overrides
        turn_policy:
          anyOf:
          - $ref: '#/components/schemas/TurnPolicy'
          - type: 'null'
      type: object
      required:
      - type
      - name
      - objective
      - exit_conditions
      title: DecisionState
      description: Passthrough routing state — Agent picks an exit condition, no user interaction.
    PaginatedResponse_ContextGraphVersionResponse_:
      properties:
        items:
          items:
            $ref: '#/components/schemas/ContextGraphVersionResponse'
          type: array
          title: Items
        has_more:
          type: boolean
          title: Has More
        continuation_token:
          anyOf:
          - type: integer
          - type: 'null'
          title: Continuation Token
        total:
          anyOf:
          - type: integer
          - type: 'null'
          title: Total
      type: object
      required:
      - items
      - has_more
      title: PaginatedResponse[ContextGraphVersionResponse]
    DataCollectionState-Input:
      properties:
        type:
          type: string
          const: data_collection
          title: Type
        name:
          type: string
          title: Name
        objective:
          type: string
          title: Objective
        fields:
          items:
            $ref: '#/components/schemas/CollectionField'
          type: array
          title: Fields
        on_complete:
          type: string
          title: On Complete
        action_guidelines:
          items:
            type: string
          type: array
          title: Action Guidelines
          default: []
        boundary_constraints:
          items:
            type: string
          type: array
          title: Boundary Constraints
          default: []
        surface_fallback:
          type: boolean
          title: Surface Fallback
          default: false
        surface_fallback_after_turns:
          type: integer
          title: Surface Fallback After Turns
          default: 6
        max_turns:
          type: integer
          title: Max Turns
          default: 10
        guardrails:
          items:
            $ref: '#/components/schemas/Guardrail'
          type: array
          title: Guardrails
          default: []
        channel_overrides:
          additionalProperties:
            $ref: '#/components/schemas/ChannelOverride'
          type: object
          title: Channel Overrides
        turn_policy:
          anyOf:
          - $ref: '#/components/schemas/TurnPolicy'
          - type: 'null'
        tool_call_specs:
          items:
            $ref: '#/components/schemas/ToolCallSpec'
          type: array
          title: Tool Call Specs
          default: []
      type: object
      required:
      - type
      - name
      - objective
      - fields
      - on_complete
      title: DataCollectionState
      description: 'Structured voice/text data collection with field tracking.


        The engine presents fields conversationally, tracks completion, and

        optionally falls back to a Surface form after N turns. Each collected

        field produces a world.event with confidence 0.5.'
    DataCollectionState-Output:
      properties:
        type:
          type: string
          const: data_collection
          title: Type
        name:
          type: string
          title: Name
        objective:
          type: string
          title: Objective
        fields:
          items:
            $ref: '#/components/schemas/CollectionField'
          type: array
          title: Fields
        on_complete:
          type: string
          title: On Complete
        action_guidelines:
          items:
            type: string
          type: array
          title: Action Guidelines
          default: []
        boundary_constraints:
          items:
            type: string
          type: array
          title: Boundary Constraints
          default: []
        surface_fallback:
          type: boolean
          title: Surface Fallback
          default: false
        surface_fallback_after_turns:
          type: integer
          title: Surface Fallback After Turns
          default: 6
        max_turns:
          type: integer
          title: Max Turns
          default: 10
        guardrails:
          items:
            $ref: '#/components/schemas/Guardrail'
          type: array
          title: Guardrails
          default: []
        channel_overrides:
          additionalProperties:
            $ref: '#/components/schemas/ChannelOverride'
          type: object
          title: Channel Overrides
        turn_policy:
          anyOf:
          - $ref: '#/components/schemas/TurnPolicy'
          - type: 'null'
        tool_call_specs:
          items:
            $ref: '#/components/schemas/ToolCallSpec'
          type: array
          title: Tool Call Specs
          default: []
      type: object
      required:
      - type
      - name
      - objective
      - fields
      - on_complete
      title: DataCollectionState
      description: 'Structured voice/text data collection with field tracking.


        The engine presents fields conversationally, tracks completion, and

        optionally falls back to a Surface form after N turns. Each collected

        field produces a world.event with confidence 0.5.'
    PaginatedResponse_ContextGraphResponse_:
      properties:
        items:
          items:
            $ref: '#/components/schemas/ContextGraphResponse'
          type: array
          title: Items
        has_more:
          type: boolean
          title: Has More
        continuation_token:
          anyOf:
          - type: integer
          - type: 'null'
          title: Continuation Token
        total:
          anyOf:
          - type: integer
          - type: 'null'
          title: Total
      type: object
      required:
      - items
      - has_more
      title: PaginatedResponse[ContextGraphResponse]
    PreloadSpec:
      properties:
        tool_id:
          type: string
          maxLength: 256
          title: Tool Id
        params:
          additionalProperties: true
          type: object
          maxProperties: 20
          title: Params
      type: object
      required:
      - tool_id
      title: PreloadSpec
      description: 'A tool call executed deterministically by the engine on state entry.


        Unlike LLM-driven tool calls, preloads run before any LLM turn —

        the results appear in the interaction log so the engage LLM sees

        them as pre-loaded context.  All preloads in a state execute in

        parallel.  Param values support ``{caller_mrn}`` and ``{entity_id}``

        template variables resolved from the session''s caller context.'
    ActionState-Output:
      properties:
        type:
          type: string
          const: action
          title: Type
        name:
          type: string
          title: Name
        objective:
          type: string
          title: Objective
        actions:
          items:
            $ref: '#/components/schemas/Action'
          type: array
          title: Actions
        intra_state_navigation_guidelines:
          items:
            type: string
          type: array
          title: Intra State Navigation Guidelines
        action_guidelines:
          items:
            type: string
          type: array
          title: Action Guidelines
        boundary_constraints:
          items:
            type: string
          type: array
          title: Boundary Constraints
        exit_conditions:
          items:
            $ref: '#/components/schemas/ExitCondition'
          type: array
          title: Exit Conditions
        action_tool_call_specs:
          items:
            $ref: '#/components/schemas/ToolCallSpec'
          type: array
          title: Action Tool Call Specs
          default: []
        exit_condition_tool_call_specs:
          items:
            $ref: '#/components/schemas/ToolCallSpec'
          type: array
          title: Exit Condition Tool Call Specs
          default: []
        wait_for:
          anyOf:
          - type: string
            enum:
            - surface_submission
            - human_approval
          - type: 'null'
          title: Wait For
        guardrails:
          items:
            $ref: '#/components/schemas/Guardrail'
          type: array
          title: Guardrails
          default: []
        channel_overrides:
          additionalProperties:
            $ref: '#/components/schemas/ChannelOverride'
          type: object
          title: Channel Overrides
        surface_spec_template:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Surface Spec Template
        turn_policy:
          anyOf:
          - $ref: '#/components/schemas/TurnPolicy'
          - type: 'null'
        preload:
          items:
            $ref: '#/components/schemas/PreloadSpec'
          type: array
          maxItems: 20
          title: Preload
      type: object
      required:
      - type
      - name
      - objective
      - actions
      - intra_state_navigation_guidelines
      - action_guidelines
      - boundary_constraints
      - exit_conditions
      title: ActionState
      description: User-facing engagement state with actions and exit conditions.
    CreateContextGraphRequest:
      properties:
        name:
          $ref: '#/components/schemas/NameString'
        description:
          $ref: '#/components/schemas/DescriptionString'
          default: ''
      type: object
      required:
      - name
      title: CreateContextGraphRequest
    ToolCallSpec:
      properties:
        tool_id:
          type: string
          t

# --- truncated at 32 KB (43 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/amigo/refs/heads/main/openapi/amigo-context-graphs-api-openapi.yml