Skip to main content
POST
/
agent
/
negotiation
Ask whether this agent can handle a task
curl --request POST \
  --url http://localhost:3773/agent/negotiation \
  --header 'Content-Type: application/json' \
  --data '
{
  "task_summary": "Summarize a 4-page PDF in 200 words.",
  "task_details": "Reader is a non-technical manager. Output should be plain English Markdown.",
  "input_mime_types": [
    "application/pdf"
  ],
  "output_mime_types": [
    "text/markdown"
  ],
  "max_latency_ms": 20000,
  "max_cost_amount": "0.05",
  "required_tools": [],
  "forbidden_tools": [],
  "min_score": 0.7,
  "weights": {
    "skill_match": 0.55,
    "io_compatibility": 0.2,
    "performance": 0.15,
    "load": 0.05,
    "cost": 0.05
  }
}
'
{
  "can_handle": true,
  "score": 0.84,
  "reasons": [
    "Skill 'pdf_summarize' matches task summary closely",
    "Output MIME 'text/markdown' within declared modes",
    "Current load at 12%, well below threshold"
  ],
  "estimated_latency_ms": 12000,
  "estimated_cost_amount": "0.02"
}

Body

application/json
task_summary
string
required

One-sentence description of the work.

weights
object
required

How much each factor contributes to the overall score. Must sum to 1.0 (not enforced; callers should normalize).

task_details
string

Longer context, audience, constraints.

input_mime_types
string[]
output_mime_types
string[]
max_latency_ms
integer

Client's latency tolerance.

max_cost_amount
string

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

required_tools
string[]
forbidden_tools
string[]
min_score
number

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

Required range: 0 <= x <= 1

Response

200 - application/json

Negotiation response

can_handle
boolean
required
score
number
required
Required range: 0 <= x <= 1
reasons
string[]

Short bullet rationale for the score.

estimated_latency_ms
integer
estimated_cost_amount
string