---
title: "Call Harness Model"
method: POST
path: "/api/harness/model"
tags: ["external-harness"]
---

# Call Harness Model

`POST /api/harness/model`

## Request

- Base URL: `https://app.thinqos.com` (the document declares no server; this is the origin it was published from)
- URL: `https://app.thinqos.com/api/harness/model`
- Auth: none declared

Execute a model call authorized entirely by a signed run packet.

## Request body

- HarnessModelRequest: Stateless model request: tool definitions apply only to this request. Omitted or empty tools intentionally offer no new tools, even when replaying completed tool history. Callers must resend the catalog to allow more calls.
  - `packet` HarnessExecutionPacket, required: A signed harness payload ready to cross the platform/runtime boundary.
    - `schema_version` '1'
    - `packet_id` string, uuid, required
    - `run_id` string, uuid, required
    - `objective` string, required
    - `acceptance_criteria` string[]
    - `requester_identity_id` string, uuid, required
    - `acting_identity_id` string, uuid, required
    - `authority_snapshot_ref` string, required
    - `runtime_environment_ref` string, required
    - `working_directory` string, required
    - `skill_snapshot_refs` string[]
    - `instruction_snapshot_refs` string[]
    - `mind_snapshot_ref` string, nullable
    - `profile_snapshot_ref` string, nullable
    - `model_operation_key` string, required
    - `model_budget_policy_ref` string, required
    - `model_budget_ceiling_usd` string, required
    - `mcp_grants` HarnessMcpGrant[]
      - `registration_id` string, uuid, required
      - `allowed_tools` string[], required
      - `expires_at` string, date-time, required
    - `secret_refs` string[]
    - `egress_policy_ref` string, required
    - `resource_policy_ref` string, required
    - `artifact_expectations` string[]
    - `cancellation_token` string, required
    - `correlation_ids` string[]
    - `issued_at` string, date-time, required
    - `expires_at` string, date-time, required
    - `signature_algorithm` 'hmac-sha256'
    - `signature_key_id` string, required
    - `signature` string, required
  - `messages` HarnessModelMessage[], required
    - `role` 'user' | 'assistant' | 'system' | 'tool', required
    - `content` string, nullable
    - `tool_calls` HarnessToolCall[]
      - `id` string, required
      - `type` 'function'
      - `function` HarnessToolFunction, required
        - `name` string, required
        - `arguments` string, required
    - `tool_call_id` string, nullable
  - `system_prompt` string, nullable
  - `temperature` number, nullable
  - `max_tokens` integer, nullable
  - `tools` HarnessToolDefinition[], nullable
    - `type` 'function'
    - `function` HarnessToolSchema, required
      - `name` string, required
      - `description` string
      - `parameters` object, required
  - `tool_choice` 'auto'

## Response `200`

Successful Response

- HarnessModelResponse
  - `content` string, required
  - `input_tokens` integer, required
  - `output_tokens` integer, required
  - `model` string, required
  - `stop_reason` string, required
  - `duration_ms` integer, required
  - `request_id` string, required
  - `tool_calls` HarnessToolCall[]
    - `id` string, required
    - `type` 'function'
    - `function` HarnessToolFunction, required
      - `name` string, required
      - `arguments` string, required

## Other responses

- `422`: Validation Error

---

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