---
title: "Resolve Capability"
method: POST
path: "/v1/capabilities/resolve"
tags: ["public_api", "external"]
---

# Resolve Capability

`POST /v1/capabilities/resolve`

## Request

- Base URL: `https://api.hydracept.com`
- URL: `https://api.hydracept.com/v1/capabilities/resolve`
- Auth: none required

Resolve semantic suitability, then project authenticated access truth.

## Request body

- CapabilityResolutionRequest
  - `schemaVersion` string
  - `intent` string, required
  - `requirements` CapabilityResolutionRequirements: Supported resolver constraints. Requirements are deliberately small and closed. Hydracept must reject a requirement it cannot honor instead of accepting arbitrary keys that silently disappear. ``runnableNow`` is evaluated only with authenticated workspace context; catalog-only resolution cannot answer it.
    - `modality` 'text' | 'image' | 'video' | 'audio' | 'mesh' | 'embedding' | 'moderation' | 'decision' | 'infrastructure'
    - `executionMode` 'invoke_sync' | 'invoke_stream' | 'job_async'
    - `runnableNow` boolean, nullable

## Response `200`

Successful Response

- CapabilityResolutionResponse
  - `resolution` 'supported' | 'no_match_requestable' | 'no_match_not_requestable', required
  - `matches` CapabilityMatch[]
    - `capabilityKey` string, required
    - `confidence` number, required
    - `pricing` RetailPricingContract
      - `mode` 'free' | 'zero' | 'fixed' | 'metered' | 'hybrid', required
      - `billingCurrency` string, required
      - `display` string, required
      - `estimateRequired` boolean
      - `quoteEndpoint` string, nullable
      - `estimateEndpoint` string, nullable: HTTP alias of quoteEndpoint (same 0.3 retail quote).
      - `pricingVersion` string, required
      - `pricingFactors` PricingFactor[]
        - `key` string, required
        - `display` string, required
        - `kind` 'selection' | 'usage-ceiling' | 'measured-usage' | 'retention'
        - `requiredForEstimate` boolean
      - `startingAt` Money: Hydracept price before transactional tax. ``amountMicros`` is authority.
        - `amountMicros` integer, required
        - `currency` string, required
        - `amountMinor` integer, required
        - `display` string, required
      - `pricingContext` 'catalog_default' | 'account'
      - `authoritativeForExecution` boolean
      - `examples` object[]
      - `status` string, nullable
      - `committedUntil` string, nullable
    - `runHint` object, nullable: Shortest valid way to run this match, projected from the same server-side descriptor as GET /v1/capabilities/{key} (cli/sdk/mcp, requiredInputFields, and a structured --input-file variant when simple sugar cannot express the input). Discovery output must never hand out a command the capability rejects.
    - `accessDecision` CapabilityAccessDecision
      - `capabilityKey` string, required
      - `allowed` boolean, required
      - `runnable` boolean, required
      - `reason` string, nullable
      - `availableBillingModes` string[]
      - `availableCredentialSources` string[]
      - `availableFundingSources` string[]: Funding provenance known at workspace-access time. Managed mixed funding may be reported as unknown until admission seals the exact allocation.
      - `requiredAction` object, nullable
      - `humanGate` object, nullable
  - `requirementsSatisfied` boolean
  - `unmetRequirements` string[]
  - `nextAction` ResolveNextAction
    - `kind` string, required
    - `endpoint` string, required
    - `nonBinding` boolean

## Other responses

- `422`: Validation failure: public envelope plus Pydantic `detail` / `validationErrors`
- `429`: Structured public error envelope (`code`, `message`, `requestId`, …)
- `500`: Structured public error envelope (`code`, `message`, `requestId`, …)
- `502`: Structured public error envelope (`code`, `message`, `requestId`, …)
- `503`: Structured public error envelope (`code`, `message`, `requestId`, …)

---

[API](https://skmtc.dev/hydracept/apis/hydracept-public-api.md) · [All operations](https://skmtc.dev/hydracept/apis/hydracept-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/hydracept/apis/hydracept-public-api/revisions/2d41a8069ede?raw)
