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

# Evaluate and persist a recommendation



## OpenAPI

````yaml /openapi.json post /api/v1/deployments/{name}/recommendations
openapi: 3.1.0
info:
  description: >-
    Durable, authenticated control-plane operations. Mutation responses may
    outlive the requesting client.
  title: InferCrane Control API
  version: 2.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: Burst Guard
  - name: Capacity intelligence
  - 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: Infrastructure
  - name: Model artifacts
  - name: Monitoring
  - name: Operations
  - 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/deployments/{name}/recommendations:
    post:
      tags:
        - Inference decisions
      summary: Evaluate and persist a recommendation
      operationId: createRecommendation
      parameters:
        - in: path
          name: name
          required: true
          schema:
            minLength: 1
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RecommendationRequest'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecommendationEnvelope'
          description: Created
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
          description: Typed API error
      security:
        - bearerAuth: []
components:
  schemas:
    RecommendationRequest:
      additionalProperties: false
      maxProperties: 0
      type: object
    RecommendationEnvelope:
      properties:
        recommendation:
          $ref: '#/components/schemas/Recommendation'
      required:
        - recommendation
      type: object
    ErrorEnvelope:
      properties:
        error:
          $ref: '#/components/schemas/Error'
      required:
        - error
      type: object
    Recommendation:
      properties:
        algorithm_version:
          type: string
        candidates:
          items:
            $ref: '#/components/schemas/RecommendationCandidate'
          type: array
        created_at:
          format: date-time
          type: string
        id:
          type: string
        input_digest:
          pattern: ^[a-f0-9]{64}$
          type: string
        input_snapshot:
          additionalProperties: true
          type: object
        missing:
          items:
            type: string
          type: array
        reason:
          type: string
        selected_evidence_id:
          type: string
        status:
          enum:
            - recommended
            - no_match
            - unknown
          type: string
      required:
        - id
        - status
        - algorithm_version
        - reason
        - input_snapshot
        - input_digest
        - created_at
      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
    RecommendationCandidate:
      properties:
        capacity_expires_at:
          format: date-time
          type: string
        capacity_observed_at:
          format: date-time
          type: string
        capacity_source:
          type: string
        capacity_state:
          enum:
            - available
            - constrained
            - unavailable
            - unknown
          type: string
        configuration:
          type: string
        disclosures:
          items:
            type: string
          type: array
        eligible:
          type: boolean
        evidence_id:
          type: string
        missing:
          items:
            type: string
          type: array
        qualification_state:
          type: string
        score:
          type: number
        violations:
          items:
            type: string
          type: array
      required:
        - evidence_id
        - configuration
        - eligible
      type: object
  securitySchemes:
    bearerAuth:
      scheme: bearer
      type: http

````