---
title: "Quote an operation"
method: POST
path: "/v1/operations/quote"
---

# Quote an operation

`POST /v1/operations/quote`

## Request

- Base URL: `https://api.turos.app`
- URL: `https://api.turos.app/v1/operations/quote`
- Auth: one of:
  - API key in header `x-api-key`
  - HTTP bearer

Prices a channel-neutral operation before you execute it, across API, MCP, CLI, SDK, Excel, and Sheets surfaces. No usage is settled by this call.

## Request body

- object
  - `operationId` string, required
  - `surface` 'api' | 'mcp' | 'cli' | 'excel' | 'sheets' | 'sdk_js' | 'sdk_py' | 'sdk_go' | 'sdk_rust', required
  - `operationSchemaVersion` string, nullable
  - `clientId` string, nullable
  - `workbookInstallationId` string, nullable
  - `sourceKey` string, nullable
  - `evidenceRequirement` string, nullable
  - `artifactClass` string, nullable
  - `planKey` string, nullable
  - `meterClass` string, nullable
  - `path` string, nullable
  - `method` string, nullable
  - `units` number, nullable
  - `idempotencyKey` string, nullable
  - `metadata` object, nullable

## Response `200`

Successful response

- object
  - `object` 'operation_quote', required
  - `quoteId` string, required
  - `settlementMode` 'shadow', required
  - `executable` boolean, required
  - `operationContext` object, required
    - `operationContextId` string, required
    - `operationId` string, required
    - `operationSchemaVersion` string, required
    - `organizationId` string, required
    - `accountId` string, nullable
    - `userId` string, nullable
    - `clientId` string, nullable
    - `surface` 'api' | 'mcp' | 'cli' | 'excel' | 'sheets' | 'sdk_js' | 'sdk_py' | 'sdk_go' | 'sdk_rust', required
    - `workbookInstallationId` string, nullable
    - `sourceKey` string, nullable
    - `artifactClass` string, nullable
    - `evidenceRequirement` string, nullable
    - `priceVersion` string, required
    - `quoteId` string, required
    - `billableUnits` object[], required
      - `meterClass` string, required
      - `meterFamily` string, required
      - `quantity` number, required
      - `amountCents` integer, required
    - `reservedMaximumCredits` integer, required
    - `idempotencyKey` string, nullable, required
    - `idempotencyMode` 'none' | 'deterministic_shadow', required
    - `createdAt` string, required
  - `billingQuote` object, required
    - `object` 'billing_quote', required
    - `planKey` string, required
    - `meterClass` string, required
    - `meterFamily` string, required
    - `units` integer, required
    - `unitAmountUsd` number, required
    - `amountUsd` number, required
    - `amountCents` integer, required
    - `currency` 'usd', required
    - `requestId` string, required
    - `budget` object, required
    - `budgetGate` object, nullable, required
  - `budgetGate` object, nullable, required
  - `requestId` string, required

## Other responses

- `default`: Contract-aware error response

---

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