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

# Compile bounded user intent into an editable reviewed configuration



## OpenAPI

````yaml /openapi.json post /api/v1/planning/intents
openapi: 3.1.0
info:
  description: >-
    Durable, authenticated control-plane operations. Mutation responses may
    outlive the requesting client.
  title: InferCrane Control API
  version: 1.0.0
servers:
  - description: Local InferCrane API and gateway
    url: http://127.0.0.1:18000
security: []
tags:
  - name: Admission
  - name: Adoption
  - name: Alerts
  - name: Async inference
  - name: Audit
  - name: Autopilot
  - name: Benchmarks
  - name: Billing
  - name: Billing administration
  - name: Burst Guard
  - name: Capacity intelligence
  - name: Compute
  - name: Context Passport
  - name: Deployments
  - name: Diagnostics
  - name: Endpoints
  - name: External capacity
  - name: FinOps
  - name: Identity
  - name: Inference
  - name: Inference Lab
  - name: Inference decisions
  - name: Inference optimization
  - name: Infrastructure
  - name: Model APIs
  - name: Model artifacts
  - name: Model catalog
  - name: Monitoring
  - name: Operations
  - name: Planning
  - name: Providers
  - name: Recipes
  - name: Release Guard
  - name: Release evidence
  - name: Replay
  - name: Revisions
  - name: Routing
  - name: Sandboxes
  - name: Scaling
  - name: Secrets
  - name: System
  - name: Targets
  - name: Training lineage
paths:
  /api/v1/planning/intents:
    post:
      tags:
        - Planning
      summary: Compile bounded user intent into an editable reviewed configuration
      operationId: planIntent
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IntentPlanRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntentPlanEnvelope'
          description: Success
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
          description: Typed API error
      security:
        - bearerAuth: []
components:
  schemas:
    IntentPlanRequest:
      additionalProperties: false
      anyOf:
        - required:
            - intent
        - required:
            - model
      properties:
        compute_mode:
          enum:
            - elastic
            - serverless
          type: string
        gpu:
          maxLength: 128
          type: string
        intent:
          maxLength: 2048
          type: string
        model:
          maxLength: 256
          type: string
        objective:
          enum:
            - interactive
            - latency
            - throughput
            - cost-efficiency
          type: string
        provider:
          maxLength: 64
          type: string
        region:
          maxLength: 128
          type: string
      type: object
    IntentPlanEnvelope:
      additionalProperties: false
      properties:
        capacity_reserved:
          const: false
          type: boolean
        deployment_draft:
          $ref: '#/components/schemas/DeploymentCreate'
        performance_claims:
          const: false
          type: boolean
        plan:
          $ref: '#/components/schemas/IntentPlan'
        provider_mutation:
          const: false
          type: boolean
        selection_boundary:
          type: string
      required:
        - plan
        - provider_mutation
        - capacity_reserved
        - performance_claims
        - selection_boundary
      type: object
    ErrorEnvelope:
      properties:
        error:
          $ref: '#/components/schemas/Error'
      required:
        - error
      type: object
    DeploymentCreate:
      additionalProperties: false
      properties:
        cloud:
          type: string
        compute_mode:
          enum:
            - elastic
            - serverless
          type: string
        endpoint_name:
          description: Stable application endpoint alias. Defaults to the deployment name.
          pattern: ^[a-z0-9](?:[a-z0-9._-]{0,62}[a-z0-9])?$
          type: string
        gpu:
          type: string
        gpu_count:
          default: 1
          description: Accelerators allocated to each runtime replica.
          maximum: 1024
          minimum: 1
          type: integer
        max_replicas:
          minimum: 0
          type: integer
        min_replicas:
          minimum: 0
          type: integer
        model:
          type: string
        model_revision:
          type: string
        name:
          type: string
        port:
          maximum: 65535
          minimum: 1
          type: integer
        provider_adapter:
          description: >-
            Exact provider profile for this immutable revision; omit only when
            the cloud/runtime default is unambiguous.
          type: string
        region:
          type: string
        runtime:
          default: vllm
          enum:
            - vllm
            - sglang
            - custom-oci
          type: string
        runtime_args:
          items:
            type: string
          type: array
        runtime_version:
          type: string
        serving:
          $ref: '#/components/schemas/ServingTopology'
        workload:
          $ref: '#/components/schemas/RuntimeWorkload'
      required:
        - name
        - model
        - cloud
        - gpu
      type: object
    IntentPlan:
      additionalProperties: false
      properties:
        architecture:
          $ref: '#/components/schemas/IntentPlanArchitecture'
        choices:
          items:
            $ref: '#/components/schemas/IntentPlanChoice'
          type: array
        configuration:
          $ref: '#/components/schemas/IntentPlanConfiguration'
        evidence:
          $ref: '#/components/schemas/IntentPlanEvidence'
        interpretation:
          $ref: '#/components/schemas/IntentPlanInterpretation'
        missing_choices:
          items:
            $ref: '#/components/schemas/IntentPlanMissingChoice'
          type: array
        model:
          $ref: '#/components/schemas/IntentPlanModel'
        mutation:
          const: none
          type: string
        schema_version:
          const: infercrane.intent-plan/v1
          type: string
        status:
          enum:
            - ready
            - needs_input
          type: string
        warnings:
          items:
            type: string
          type: array
      required:
        - schema_version
        - status
        - mutation
        - interpretation
        - choices
        - missing_choices
        - architecture
        - evidence
        - warnings
      type: object
    Error:
      properties:
        category:
          type: string
        code:
          type: string
        message:
          type: string
        remediation:
          type: string
        request_id:
          type: string
        retryable:
          type: boolean
      required:
        - code
        - message
      type: object
    ServingTopology:
      additionalProperties: false
      properties:
        autoscaling:
          additionalProperties: false
          properties:
            max:
              maximum: 10000
              minimum: 0
              type: integer
            min:
              maximum: 10000
              minimum: 0
              type: integer
            owner:
              enum:
                - disabled
                - dynamo-planner
                - external
              type: string
          type: object
        backend:
          enum:
            - dynamo
          type: string
        cache:
          additionalProperties: false
          properties:
            backend:
              enum:
                - none
                - kvbm
                - lmcache
                - hicache
              type: string
            configuration_ref:
              type: string
            disk_gib:
              minimum: 0
              type: integer
            host_gib:
              minimum: 0
              type: integer
            memory_gib:
              minimum: 0
              type: integer
            metrics:
              type: boolean
            storage_claim:
              type: string
          type: object
        decode:
          $ref: '#/components/schemas/ServingPool'
        mode:
          enum:
            - aggregated
            - disaggregated
          type: string
        prefill:
          $ref: '#/components/schemas/ServingPool'
        profile:
          enum:
            - baseline
            - custom
          type: string
        routing:
          enum:
            - direct
            - kv-aware
          type: string
        schema_version:
          enum:
            - infercrane.serving/v1
          type: string
        worker:
          $ref: '#/components/schemas/ServingPool'
      type: object
    RuntimeWorkload:
      additionalProperties: false
      properties:
        cancellation:
          enum:
            - http-disconnect
          type: string
        command:
          items:
            type: string
          minItems: 1
          type: array
        drain:
          enum:
            - connection
          type: string
        image:
          pattern: '@sha256:[a-f0-9]{64}$'
          type: string
        metrics_path:
          enum:
            - /metrics
          type: string
        models_path:
          enum:
            - /v1/models
          type: string
        port:
          maximum: 65535
          minimum: 1
          type: integer
        protocol:
          enum:
            - openai
          type: string
        readiness_path:
          enum:
            - /health
          type: string
        shutdown_grace_seconds:
          maximum: 3600
          minimum: 1
          type: integer
      required:
        - image
        - command
        - protocol
        - port
        - readiness_path
        - models_path
        - metrics_path
        - cancellation
        - drain
        - shutdown_grace_seconds
      type: object
    IntentPlanArchitecture:
      additionalProperties: false
      properties:
        edges:
          items:
            $ref: '#/components/schemas/IntentPlanEdge'
          type: array
        nodes:
          items:
            $ref: '#/components/schemas/IntentPlanNode'
          type: array
      required:
        - nodes
        - edges
      type: object
    IntentPlanChoice:
      additionalProperties: false
      properties:
        editable:
          type: boolean
        field:
          type: string
        label:
          type: string
        options:
          items:
            $ref: '#/components/schemas/IntentPlanOption'
          type: array
        required:
          type: boolean
        value:
          oneOf:
            - type: string
            - type: integer
      required:
        - field
        - label
        - editable
        - required
      type: object
    IntentPlanConfiguration:
      additionalProperties: false
      properties:
        compute_mode:
          enum:
            - elastic
            - serverless
          type: string
        gpu:
          type: string
        gpu_count:
          maximum: 1024
          minimum: 1
          type: integer
        max_replicas:
          minimum: 0
          type: integer
        min_replicas:
          minimum: 0
          type: integer
        model:
          type: string
        model_revision:
          type: string
        profile:
          type: string
        provider:
          type: string
        provider_adapter:
          type: string
        region:
          type: string
        routing:
          type: string
        runtime:
          type: string
        runtime_args:
          items:
            type: string
          type: array
        runtime_version:
          type: string
      required:
        - model
        - model_revision
        - runtime
        - runtime_args
        - profile
        - compute_mode
        - gpu
        - gpu_count
        - min_replicas
        - max_replicas
        - routing
      type: object
    IntentPlanEvidence:
      additionalProperties: false
      properties:
        capacity:
          type: string
        configuration:
          type: string
        performance:
          type: string
        price:
          $ref: '#/components/schemas/IntentPlanPriceEvidence'
      required:
        - configuration
        - performance
        - capacity
        - price
      type: object
    IntentPlanInterpretation:
      additionalProperties: false
      properties:
        action:
          enum:
            - deploy
            - optimize
          type: string
        compute_mode:
          enum:
            - elastic
            - serverless
          type: string
        objective:
          enum:
            - interactive
            - latency
            - throughput
            - cost-efficiency
          type: string
      required:
        - action
        - objective
      type: object
    IntentPlanMissingChoice:
      additionalProperties: false
      properties:
        field:
          type: string
        options:
          items:
            $ref: '#/components/schemas/IntentPlanOption'
          type: array
        prompt:
          type: string
        reason:
          type: string
        remediation:
          type: string
      required:
        - field
        - prompt
        - reason
        - remediation
      type: object
    IntentPlanModel:
      additionalProperties: false
      properties:
        display_name:
          type: string
        evidence_class:
          type: string
        evidence_summary:
          type: string
        gated:
          type: boolean
        name:
          type: string
        repository:
          type: string
        revision:
          type: string
        runtime:
          type: string
        tasks:
          items:
            type: string
          type: array
      required:
        - name
        - display_name
        - repository
        - revision
        - runtime
        - tasks
        - gated
        - evidence_class
        - evidence_summary
      type: object
    ServingPool:
      additionalProperties: false
      properties:
        replicas:
          maximum: 10000
          minimum: 0
          type: integer
        tensor_parallelism:
          maximum: 1024
          minimum: 0
          type: integer
      type: object
    IntentPlanEdge:
      additionalProperties: false
      properties:
        from:
          type: string
        label:
          type: string
        to:
          type: string
      required:
        - from
        - to
        - label
      type: object
    IntentPlanNode:
      additionalProperties: false
      properties:
        id:
          type: string
        kind:
          type: string
        label:
          type: string
        state:
          type: string
      required:
        - id
        - kind
        - label
        - state
      type: object
    IntentPlanOption:
      additionalProperties: false
      properties:
        label:
          type: string
        reason:
          type: string
        state:
          type: string
        value:
          type: string
      required:
        - value
        - label
      type: object
    IntentPlanPriceEvidence:
      additionalProperties: false
      properties:
        cost_scope:
          type: string
        currency:
          type: string
        deployment_comparable:
          type: boolean
        hourly_usd_per_replica:
          minimum: 0
          type: number
        observed_at:
          format: date-time
          type: string
        price_authority:
          type: string
        reason:
          type: string
        source:
          type: string
        state:
          enum:
            - current
            - unavailable
          type: string
        valid_until:
          format: date-time
          type: string
      required:
        - state
        - deployment_comparable
        - reason
      type: object
  securitySchemes:
    bearerAuth:
      scheme: bearer
      type: http

````