Negotiation

Ask whether this agent can handle a task

Orchestrators use this to pick the best agent for a task before sending a real message/send. The agent returns a capability score (0–1) weighted across skill match, I/O compatibility, performance, load, and cost.

A score below the caller's min_score is interpreted as "decline" — the orchestrator should route the task elsewhere. This endpoint never actually performs the task; it's advisory.

post/agent/negotiation

Request body

task_summarystring required

One-sentence description of the work.

task_detailsstring

Longer context, audience, constraints.

input_mime_typesstring[]
output_mime_typesstring[]
max_latency_msinteger

Client's latency tolerance.

max_cost_amountstring

Client's cost tolerance (currency-agnostic; agreed per-agent).

required_toolsstring[]
forbidden_toolsstring[]
min_scorenumber

Decline threshold. Scores below this are treated as "no".

Response

Negotiation response

can_handleboolean required
scorenumber required
reasonsstring[]

Short bullet rationale for the score.

estimated_latency_msinteger
estimated_cost_amountstring

Changes

Changed in 3 of the 12 revisions of this API.51915

  • 8a22dc1800443176See the full diff
    • the request property weights became required

      request-property-became-required

    • removed the required property accepted from the response with the 200 status

      response-required-property-removed

    • removed the required property confidence from the response with the 200 status

      response-required-property-removed

    • the weights/cost request property's max was set to 1.00

      request-property-max-set

    • the weights/io_compatibility request property's max was set to 1.00

      request-property-max-set

    • the weights/load request property's max was set to 1.00

      request-property-max-set

    • the weights/performance request property's max was set to 1.00

      request-property-max-set

    • the weights/skill_match request property's max was set to 1.00

      request-property-max-set

    • the weights/cost request property's min was set to 0.00

      request-property-min-set

    • the weights/io_compatibility request property's min was set to 0.00

      request-property-min-set

    • the weights/load request property's min was set to 0.00

      request-property-min-set

    • the weights/performance request property's min was set to 0.00

      request-property-min-set

    • the weights/skill_match request property's min was set to 0.00

      request-property-min-set

    • removed the optional property latency_estimate_ms from the response with the 200 status

      response-optional-property-removed

    • removed the optional property matched_capabilities from the response with the 200 status

      response-optional-property-removed

    • removed the optional property matched_tags from the response with the 200 status

      response-optional-property-removed

    • removed the optional property queue_depth from the response with the 200 status

      response-optional-property-removed

    • removed the optional property rejection_reason from the response with the 200 status

      response-optional-property-removed

    • removed the optional property skill_matches from the response with the 200 status

      response-optional-property-removed

    • removed the optional property subscores from the response with the 200 status

      response-optional-property-removed

    • api operation id assessTaskCapability removed and replaced with

      api-operation-id-removed

    • removed the non-success response with the status 400

      response-non-success-status-removed

    • added the optional property estimated_cost_amount to the response with the 200 status

      response-optional-property-added

    • added the optional property estimated_latency_ms to the response with the 200 status

      response-optional-property-added

    • added the optional property reasons to the response with the 200 status

      response-optional-property-added

    • added the required property can_handle to the response with the 200 status

      response-required-property-added

    This revision also has 21 changes that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog

  • 970d68a5c55d228See the full diff
    • the max_cost_amount request property type/format changed from number/ to string/

      request-property-type-changed

    • removed the required property overall_score from the response with the 200 status

      response-required-property-removed

    • removed the optional property reasoning from the response with the 200 status

      response-optional-property-removed

    • removed the optional property scores from the response with the 200 status

      response-optional-property-removed

    • added the optional property latency_estimate_ms to the response with the 200 status

      response-optional-property-added

    • added the optional property matched_capabilities to the response with the 200 status

      response-optional-property-added

    • added the optional property matched_tags to the response with the 200 status

      response-optional-property-added

    • added the optional property queue_depth to the response with the 200 status

      response-optional-property-added

    • added the optional property rejection_reason to the response with the 200 status

      response-optional-property-added

    • added the optional property skill_matches to the response with the 200 status

      response-optional-property-added

    • added the optional property subscores to the response with the 200 status

      response-optional-property-added

    • added the required property score to the response with the 200 status

      response-required-property-added

    • endpoint added

      endpoint-added