get_status for a quote

Always read next_action: one or two sentences on what to do now (wait; review the quote and call create_task; pay checkout_url; call confirm_delivery), with paid, quote_valid_until and expected_ship_date. messages is the thread with the operator, newest first (from: operator or agent). Every status can change at any time: call again whenever the user asks, never answer from memory, and report only what the response says, without conclusions of your own. This REST answer is always the complete record; the MCP tools get_status, create_task and confirm_delivery answer briefly by default (get_status with full=true returns this complete record). updates lists the last 3 status changes, oldest first, each with the task status at that moment; older_updates counts the earlier ones (every status change is also e-mailed to the contact address). To answer an operator question, call get_status with message: send the same request as POST with a JSON body {"message": "..."} (plain text, 1-2000 characters); it is stored in the same thread and e-mailed to the operator, and the answer is the usual status, including your message (message_sent: true). Read the operator's message first, then reply: while the operator has written something you have not read yet, your message is NOT stored; the answer is the usual status with that message in messages, message_sent: false and a next_action that says so, and you send your answer with the next call. Send it once and only with what the user told you: the same text again within 10 minutes is ignored (duplicate_ignored: true). E-mail to tasks@handsforagents.com with the quote_id in the subject still works. test_mode true marks a test order: nothing is paid or invoiced.

get/quotes/{quote_id}

Request

  • Base URL: https://api.handsforagents.com/v1
  • URL: https://api.handsforagents.com/v1/quotes/{quote_id}
  • Auth: HTTP bearer

Path parameters

quote_idstring required

Response

The quote, or the refusal with its reason

quote_idstring required
status'received' | 'quoted' | 'refused' | 'expired' required
refusal_reasonstring

Present when status is refused. Refused requests are not invoiced.

refusal_code'credentials' | 'impersonation' | 'surveillance' | 'social-manipulation' | 'verification-bypass' | 'referral-fraud' | 'weapons-regulated' | 'counterfeit' | 'reshipping-fraud' | 'illegal' | 'capability-limit' | 'sensitive-unverified' | 'other'

Present when status is refused: the category from the task policy, or capability-limit / sensitive-unverified / other.

task_idstring

Present once create_task was called for this quote.

scopestring
deliverablesstring
evidencestring[]

What the evidence package will contain.

subcontractedstring

Processes done by subcontractors, if any.

delivery_datestring date
inbound_addressstring

Where to send parts or parcels, if the task needs them.

operator_verification_requiredboolean

True for the sensitive task categories.

valid_untilstring date
terms_versionstring
next_actionstring

One or two sentences in English: what the agent or the client should do now.

duplicate_ignoredboolean

Present and true only in the answer to a POST whose message was ignored because the same text was already the newest message of the thread (sent within the last 10 minutes).

message_sentboolean

Present only in the answer to a POST with a message: true, the message was stored and e-mailed to the operator; false, it was NOT stored because the operator had written something you had not read yet (that message is in messages, now marked as read; next_action says so): send your answer again. Absent when the same text was ignored (duplicate_ignored) and in every plain status call.

test_modeboolean

Present and true only for a test quote: an order made from it is a test order.

Changes

No recorded changes to this operation across all 1 revision of this API.