Skip to main content
Glama

Sigo Seguros car insurance quotes

Read car insurance estimates

get_quote
Read-only

Step 3 of 3: read the quote_id start_quote returned, after poll_after_seconds, until more_carriers_pending is false. Never start_quote again to refresh a result.

Reads the estimates for a quote_id returned by start_quote. Carriers answer at different speeds: when more_carriers_pending is true the list is not final and poll_after_seconds says how long to wait before asking again. The list closes within a minute either way, with whatever arrived — a carrier that did not answer is not a price, and there is none to go looking for. Once it is closed, to_final_quote.next_call is what to do next. No price here is final, in any round: the final quote is calculated by Sigo in the link, after the carrier's questions.

Input Schema

NameRequiredDescriptionDefault
localeNoThe language the customer is writing in. Set it from their own messages rather than leaving the default: the estimate's notice comes back in this language, and a notice the customer cannot read discloses nothing. Sigo serves these two languages only.es
quote_idYesThe handle start_quote returned.

Output Schema

NameRequiredDescriptionDefault
stateYes
coversYes
quotesYes
statusYes
contactYes
carriersYes
problemsYes
quote_idYesPass this back to get_quote to read the result again.
asked_forYesLabel each answer with this when comparing two quotes for the same customer, so "con deducible de 1000" is matched to the quote that asked for it.
issued_byYes
quoted_atYes
expires_atYes
applicationYes
firm_pricesYes
pending_noteYesWhat to do while carriers are still answering, in the customer's language. Null once the list is final.
price_leversYes
to_final_quoteYes
personal_use_noteYesPresent when the customer said the vehicle is used for work. Say it with the prices: this quote is personal auto. Null when they said nothing about it, and then the subject is not raised.
poll_after_secondsYesHow long to wait before calling get_quote again.
revised_from_quoteYesTrue when this quote re-quoted the same customer: started with revise_of, or for a customer who already quoted today and was still at their first round. One person, one application, priced again.
more_carriers_pendingYesTrue when more carriers may still return a price; the list is not final.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changed
    • removedOutput schema / properties / cover_first
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "additionalProperties": false,
      -      "properties": {
      -        "chosen_quote_id": {
      -          "description": "The one estimate's quote_id, to pass to carrier_questions. Null when there is none.",
      -          "type": [
      -            "string",
      -            "null"
      -          ]
      -        },
      -        "confirmed_price": {
      -          "anyOf": [
      -            {
      -              "additionalProperties": false,
      -              "properties": {
      -                "currency": {
      -                  "const": "USD",
      -                  "type": "string"
      -                },
      -                "due_today": {
      -                  "type": "number"
      -                },
      -                "monthly_payment": {
      -                  "type": "number"
      -                },
      -                "total_for_term": {
      -                  "type": "number"
      -                }
      -              },
      -              "required": [
      -                "currency",
      -                "due_today",
      -                "monthly_payment",
      -                "total_for_term"
      -              ],
      -              "type": "object"
      -            },
      -            {
      -              "type": "null"
      -            }
      -          ],
      -          "description": "The carrier's confirmed amounts, once confirmed. Still subject to eligibility and state rules."
      -        },
      -        "more_options_offered": {
      -          "description": "True when Sigo offers to look at the other carriers beside a confirmed price. Offer it once; other_carrier_questions is how, and only if the customer wants to compare.",
      -          "type": "boolean"
      -        },
      -        "next_call": {
      -          "description": "Exactly what to call next, with its arguments; null when nothing is.",
      -          "type": [
      -            "string",
      -            "null"
      -          ]
      -        },
      -        "note": {
      -          "description": "What to tell the customer and do next, in their language.",
      -          "type": "string"
      -        },
      -        "poll_after_seconds": {
      -          "anyOf": [
      -            {
      -              "maximum": 9007199254740991,
      -              "minimum": -9007199254740991,
      -              "type": "integer"
      -            },
      -            {
      -              "type": "null"
      -            }
      -          ],
      -          "description": "While confirming: how long to wait before get_quote again."
      -        },
      -        "status": {
      -          "description": "rating: carriers still answering. questions_pending: ask carrier_questions for the one estimate shown. handed_off: the answers are in and the carrier did not confirm here; give the customer next_step's link and stop. confirming: Sigo is confirming the price, read again. confirmed: the price is in confirmed_price and the customer pays in the link. declined / not_available: that option is not the answer; other_carrier_questions follows.",
      -          "enum": [
      -            "rating",
      -            "questions_pending",
      -            "confirming",
      -            "confirmed",
      -            "declined",
      -            "not_available",
      -            "handed_off"
      -          ],
      -          "type": "string"
      -        }
      -      },
      -      "required": [
      -        "status",
      -        "chosen_quote_id",
      -        "confirmed_price",
      -        "more_options_offered",
      -        "poll_after_seconds",
      -        "next_call",
      -        "note"
      -      ],
      -      "type": "object"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ]
      -}
    • addedOutput schema / properties / firm_prices
      Added value: +{
      +  "anyOf": [
      +    {
      +      "additionalProperties": false,
      +      "properties": {
      +        "next_call": {
      +          "description": "Exactly what to call next, with its arguments; null when nothing is.",
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "note": {
      +          "description": "What to tell the customer and do next, in their language.",
      +          "type": "string"
      +        },
      +        "options": {
      +          "description": "The firm prices the customer may pay now, lowest today's payment first. Each is a carrier's confirmed price, still subject to underwriting, eligibility, and state filing, and bought only in the link.",
      +          "items": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "carrier_name": {
      +                "type": "string"
      +              },
      +              "currency": {
      +                "const": "USD",
      +                "type": "string"
      +              },
      +              "due_today": {
      +                "description": "What the customer pays today, broker fee included.",
      +                "type": "number"
      +              },
      +              "excluded_people": {
      +                "description": "How many people the carrier excluded from this price. Say so with the price when it is not zero; who they are is shown in the link, never here.",
      +                "maximum": 9007199254740991,
      +                "minimum": -9007199254740991,
      +                "type": "integer"
      +              },
      +              "installment_amount": {
      +                "description": "Per instalment after today; null for pay-in-full.",
      +                "type": [
      +                  "number",
      +                  "null"
      +                ]
      +              },
      +              "number_of_installments": {
      +                "maximum": 9007199254740991,
      +                "minimum": -9007199254740991,
      +                "type": "integer"
      +              },
      +              "payment_method": {
      +                "description": "The way of paying this price is valid on: card, ach or direct_bill. The customer confirms it in the link.",
      +                "type": "string"
      +              },
      +              "requires_autopay": {
      +                "description": "True when this price is only available with automatic payments. Say so with the price; the customer accepts autopay in the link before paying it.",
      +                "type": "boolean"
      +              },
      +              "roadside_included": {
      +                "description": "Whether roadside assistance is part of this price.",
      +                "type": "boolean"
      +              },
      +              "term_months": {
      +                "anyOf": [
      +                  {
      +                    "maximum": 9007199254740991,
      +                    "minimum": -9007199254740991,
      +                    "type": "integer"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              },
      +              "total_for_term": {
      +                "description": "Today's payment plus the instalments. Stated so it is not worked out.",
      +                "type": "number"
      +              }
      +            },
      +            "required": [
      +              "carrier_name",
      +              "currency",
      +              "due_today",
      +              "installment_amount",
      +              "number_of_installments",
      +              "total_for_term",
      +              "payment_method",
      +              "term_months",
      +              "roadside_included",
      +              "requires_autopay",
      +              "excluded_people"
      +            ],
      +            "type": "object"
      +          },
      +          "type": "array"
      +        },
      +        "poll_after_seconds": {
      +          "anyOf": [
      +            {
      +              "maximum": 9007199254740991,
      +              "minimum": -9007199254740991,
      +              "type": "integer"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ],
      +          "description": "While pricing: how long to wait before get_quote again."
      +        },
      +        "status": {
      +          "description": "rating: carriers still answering. questions_pending: ask carrier_questions with this quote_id and no chosen_quote_id. pricing: the carriers are confirming; options holds what has landed, read again after poll_after_seconds. ready: every price is in options and the customer chooses and pays in the link. agent: no carrier confirmed a price online; a Sigo agent takes it.",
      +          "enum": [
      +            "rating",
      +            "questions_pending",
      +            "pricing",
      +            "ready",
      +            "agent"
      +          ],
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "status",
      +        "options",
      +        "poll_after_seconds",
      +        "next_call",
      +        "note"
      +      ],
      +      "type": "object"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • changedOutput schema / properties / to_final_quote / properties / next_call / description
      Previous value: -"Exactly what to call next, with its arguments: `next_question` with stage second_round while the application is incomplete; `carrier_questions` with `quote_id` (this quote) and `chosen_quote_id` (the `quote_id` of the estimate the customer picked) once it is. Null before there are prices."New value: +"Exactly what to call next, with its arguments: `next_question` with stage second_round while the application is incomplete; `carrier_questions` with `quote_id` (this quote) and `chosen_quote_id` (the `quote_id` of the estimate the customer picked) once it is, or with no `chosen_quote_id` when `firm_prices` is present. Null before there are prices."
    • changedOutput schema / required
      Previous value: -[
      -  "quote_id",
      -  "status",
      -  "more_carriers_pending",
      -  "poll_after_seconds",
      -  "pending_note",
      -  "to_final_quote",
      -  "cover_first",
      -  "application",
      -  "state",
      -  "quoted_at",
      -  "expires_at",
      -  "quotes",
      -  "problems",
      -  "contact",
      -  "covers",
      -  "asked_for",
      -  "revised_from_quote",
      -  "price_levers",
      -  "personal_use_note",
      -  "carriers",
      -  "issued_by"
      -]New value: +[
      +  "quote_id",
      +  "status",
      +  "more_carriers_pending",
      +  "poll_after_seconds",
      +  "pending_note",
      +  "to_final_quote",
      +  "firm_prices",
      +  "application",
      +  "state",
      +  "quoted_at",
      +  "expires_at",
      +  "quotes",
      +  "problems",
      +  "contact",
      +  "covers",
      +  "asked_for",
      +  "revised_from_quote",
      +  "price_levers",
      +  "personal_use_note",
      +  "carriers",
      +  "issued_by"
      +]
  2. Changed1 schema field changed
    • changedOutput schema / properties / cover_first / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "chosen_quote_id": {
      -        "description": "The one estimate's quote_id, to pass to carrier_questions. Null when there is none.",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "confirmed_price": {
      -        "anyOf": [
      -          {
      -            "additionalProperties": false,
      -            "properties": {
      -              "currency": {
      -                "const": "USD",
      -                "type": "string"
      -              },
      -              "due_today": {
      -                "type": "number"
      -              },
      -              "monthly_payment": {
      -                "type": "number"
      -              },
      -              "total_for_term": {
      -                "type": "number"
      -              }
      -            },
      -            "required": [
      -              "currency",
      -              "due_today",
      -              "monthly_payment",
      -              "total_for_term"
      -            ],
      -            "type": "object"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "The carrier's confirmed amounts, once confirmed. Still subject to eligibility and state rules."
      -      },
      -      "more_options_offered": {
      -        "description": "True when Sigo offers to look at the other carriers beside a confirmed price. Offer it once; other_carrier_questions is how, and only if the customer wants to compare.",
      -        "type": "boolean"
      -      },
      -      "next_call": {
      -        "description": "Exactly what to call next, with its arguments; null when nothing is.",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "note": {
      -        "description": "What to tell the customer and do next, in their language.",
      -        "type": "string"
      -      },
      -      "poll_after_seconds": {
      -        "anyOf": [
      -          {
      -            "maximum": 9007199254740991,
      -            "minimum": -9007199254740991,
      -            "type": "integer"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "While confirming: how long to wait before get_quote again."
      -      },
      -      "status": {
      -        "description": "rating: carriers still answering. questions_pending: ask carrier_questions for the one estimate shown. confirming: Sigo is confirming the price, read again. confirmed: the price is in confirmed_price and the customer pays in the link. declined / not_available: that option is not the answer; other_carrier_questions follows.",
      -        "enum": [
      -          "rating",
      -          "questions_pending",
      -          "confirming",
      -          "confirmed",
      -          "declined",
      -          "not_available"
      -        ],
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "status",
      -      "chosen_quote_id",
      -      "confirmed_price",
      -      "more_options_offered",
      -      "poll_after_seconds",
      -      "next_call",
      -      "note"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "chosen_quote_id": {
      +        "description": "The one estimate's quote_id, to pass to carrier_questions. Null when there is none.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "confirmed_price": {
      +        "anyOf": [
      +          {
      +            "additionalProperties": false,
      +            "properties": {
      +              "currency": {
      +                "const": "USD",
      +                "type": "string"
      +              },
      +              "due_today": {
      +                "type": "number"
      +              },
      +              "monthly_payment": {
      +                "type": "number"
      +              },
      +              "total_for_term": {
      +                "type": "number"
      +              }
      +            },
      +            "required": [
      +              "currency",
      +              "due_today",
      +              "monthly_payment",
      +              "total_for_term"
      +            ],
      +            "type": "object"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "The carrier's confirmed amounts, once confirmed. Still subject to eligibility and state rules."
      +      },
      +      "more_options_offered": {
      +        "description": "True when Sigo offers to look at the other carriers beside a confirmed price. Offer it once; other_carrier_questions is how, and only if the customer wants to compare.",
      +        "type": "boolean"
      +      },
      +      "next_call": {
      +        "description": "Exactly what to call next, with its arguments; null when nothing is.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "note": {
      +        "description": "What to tell the customer and do next, in their language.",
      +        "type": "string"
      +      },
      +      "poll_after_seconds": {
      +        "anyOf": [
      +          {
      +            "maximum": 9007199254740991,
      +            "minimum": -9007199254740991,
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "While confirming: how long to wait before get_quote again."
      +      },
      +      "status": {
      +        "description": "rating: carriers still answering. questions_pending: ask carrier_questions for the one estimate shown. handed_off: the answers are in and the carrier did not confirm here; give the customer next_step's link and stop. confirming: Sigo is confirming the price, read again. confirmed: the price is in confirmed_price and the customer pays in the link. declined / not_available: that option is not the answer; other_carrier_questions follows.",
      +        "enum": [
      +          "rating",
      +          "questions_pending",
      +          "confirming",
      +          "confirmed",
      +          "declined",
      +          "not_available",
      +          "handed_off"
      +        ],
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "status",
      +      "chosen_quote_id",
      +      "confirmed_price",
      +      "more_options_offered",
      +      "poll_after_seconds",
      +      "next_call",
      +      "note"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  3. Changed2 schema fields changed
    • addedOutput schema / properties / cover_first
      Added value: +{
      +  "anyOf": [
      +    {
      +      "additionalProperties": false,
      +      "properties": {
      +        "chosen_quote_id": {
      +          "description": "The one estimate's quote_id, to pass to carrier_questions. Null when there is none.",
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "confirmed_price": {
      +          "anyOf": [
      +            {
      +              "additionalProperties": false,
      +              "properties": {
      +                "currency": {
      +                  "const": "USD",
      +                  "type": "string"
      +                },
      +                "due_today": {
      +                  "type": "number"
      +                },
      +                "monthly_payment": {
      +                  "type": "number"
      +                },
      +                "total_for_term": {
      +                  "type": "number"
      +                }
      +              },
      +              "required": [
      +                "currency",
      +                "due_today",
      +                "monthly_payment",
      +                "total_for_term"
      +              ],
      +              "type": "object"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ],
      +          "description": "The carrier's confirmed amounts, once confirmed. Still subject to eligibility and state rules."
      +        },
      +        "more_options_offered": {
      +          "description": "True when Sigo offers to look at the other carriers beside a confirmed price. Offer it once; other_carrier_questions is how, and only if the customer wants to compare.",
      +          "type": "boolean"
      +        },
      +        "next_call": {
      +          "description": "Exactly what to call next, with its arguments; null when nothing is.",
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "note": {
      +          "description": "What to tell the customer and do next, in their language.",
      +          "type": "string"
      +        },
      +        "poll_after_seconds": {
      +          "anyOf": [
      +            {
      +              "maximum": 9007199254740991,
      +              "minimum": -9007199254740991,
      +              "type": "integer"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ],
      +          "description": "While confirming: how long to wait before get_quote again."
      +        },
      +        "status": {
      +          "description": "rating: carriers still answering. questions_pending: ask carrier_questions for the one estimate shown. confirming: Sigo is confirming the price, read again. confirmed: the price is in confirmed_price and the customer pays in the link. declined / not_available: that option is not the answer; other_carrier_questions follows.",
      +          "enum": [
      +            "rating",
      +            "questions_pending",
      +            "confirming",
      +            "confirmed",
      +            "declined",
      +            "not_available"
      +          ],
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "status",
      +        "chosen_quote_id",
      +        "confirmed_price",
      +        "more_options_offered",
      +        "poll_after_seconds",
      +        "next_call",
      +        "note"
      +      ],
      +      "type": "object"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "quote_id",
      -  "status",
      -  "more_carriers_pending",
      -  "poll_after_seconds",
      -  "pending_note",
      -  "to_final_quote",
      -  "application",
      -  "state",
      -  "quoted_at",
      -  "expires_at",
      -  "quotes",
      -  "problems",
      -  "contact",
      -  "covers",
      -  "asked_for",
      -  "revised_from_quote",
      -  "price_levers",
      -  "personal_use_note",
      -  "carriers",
      -  "issued_by"
      -]New value: +[
      +  "quote_id",
      +  "status",
      +  "more_carriers_pending",
      +  "poll_after_seconds",
      +  "pending_note",
      +  "to_final_quote",
      +  "cover_first",
      +  "application",
      +  "state",
      +  "quoted_at",
      +  "expires_at",
      +  "quotes",
      +  "problems",
      +  "contact",
      +  "covers",
      +  "asked_for",
      +  "revised_from_quote",
      +  "price_levers",
      +  "personal_use_note",
      +  "carriers",
      +  "issued_by"
      +]
  4. Changed2 schema fields changed
    • removedOutput schema / properties / cover_first
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "additionalProperties": false,
      -      "properties": {
      -        "chosen_quote_id": {
      -          "description": "The one estimate's quote_id, to pass to carrier_questions. Null when there is none.",
      -          "type": [
      -            "string",
      -            "null"
      -          ]
      -        },
      -        "confirmed_price": {
      -          "anyOf": [
      -            {
      -              "additionalProperties": false,
      -              "properties": {
      -                "currency": {
      -                  "const": "USD",
      -                  "type": "string"
      -                },
      -                "due_today": {
      -                  "type": "number"
      -                },
      -                "monthly_payment": {
      -                  "type": "number"
      -                },
      -                "total_for_term": {
      -                  "type": "number"
      -                }
      -              },
      -              "required": [
      -                "currency",
      -                "due_today",
      -                "monthly_payment",
      -                "total_for_term"
      -              ],
      -              "type": "object"
      -            },
      -            {
      -              "type": "null"
      -            }
      -          ],
      -          "description": "The carrier's confirmed amounts, once confirmed. Still subject to eligibility and state rules."
      -        },
      -        "more_options_offered": {
      -          "description": "True when Sigo offers to look at the other carriers beside a confirmed price. Offer it once; other_carrier_questions is how, and only if the customer wants to compare.",
      -          "type": "boolean"
      -        },
      -        "next_call": {
      -          "description": "Exactly what to call next, with its arguments; null when nothing is.",
      -          "type": [
      -            "string",
      -            "null"
      -          ]
      -        },
      -        "note": {
      -          "description": "What to tell the customer and do next, in their language.",
      -          "type": "string"
      -        },
      -        "poll_after_seconds": {
      -          "anyOf": [
      -            {
      -              "maximum": 9007199254740991,
      -              "minimum": -9007199254740991,
      -              "type": "integer"
      -            },
      -            {
      -              "type": "null"
      -            }
      -          ],
      -          "description": "While confirming: how long to wait before get_quote again."
      -        },
      -        "status": {
      -          "description": "rating: carriers still answering. questions_pending: ask carrier_questions for the one estimate shown. confirming: Sigo is confirming the price, read again. confirmed: the price is in confirmed_price and the customer pays in the link. declined / not_available: that option is not the answer; other_carrier_questions follows.",
      -          "enum": [
      -            "rating",
      -            "questions_pending",
      -            "confirming",
      -            "confirmed",
      -            "declined",
      -            "not_available"
      -          ],
      -          "type": "string"
      -        }
      -      },
      -      "required": [
      -        "status",
      -        "chosen_quote_id",
      -        "confirmed_price",
      -        "more_options_offered",
      -        "poll_after_seconds",
      -        "next_call",
      -        "note"
      -      ],
      -      "type": "object"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ]
      -}
    • changedOutput schema / required
      Previous value: -[
      -  "quote_id",
      -  "status",
      -  "more_carriers_pending",
      -  "poll_after_seconds",
      -  "pending_note",
      -  "to_final_quote",
      -  "cover_first",
      -  "application",
      -  "state",
      -  "quoted_at",
      -  "expires_at",
      -  "quotes",
      -  "problems",
      -  "contact",
      -  "covers",
      -  "asked_for",
      -  "revised_from_quote",
      -  "price_levers",
      -  "personal_use_note",
      -  "carriers",
      -  "issued_by"
      -]New value: +[
      +  "quote_id",
      +  "status",
      +  "more_carriers_pending",
      +  "poll_after_seconds",
      +  "pending_note",
      +  "to_final_quote",
      +  "application",
      +  "state",
      +  "quoted_at",
      +  "expires_at",
      +  "quotes",
      +  "problems",
      +  "contact",
      +  "covers",
      +  "asked_for",
      +  "revised_from_quote",
      +  "price_levers",
      +  "personal_use_note",
      +  "carriers",
      +  "issued_by"
      +]
  5. Changed2 schema fields changed
    • addedOutput schema / properties / cover_first
      Added value: +{
      +  "anyOf": [
      +    {
      +      "additionalProperties": false,
      +      "properties": {
      +        "chosen_quote_id": {
      +          "description": "The one estimate's quote_id, to pass to carrier_questions. Null when there is none.",
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "confirmed_price": {
      +          "anyOf": [
      +            {
      +              "additionalProperties": false,
      +              "properties": {
      +                "currency": {
      +                  "const": "USD",
      +                  "type": "string"
      +                },
      +                "due_today": {
      +                  "type": "number"
      +                },
      +                "monthly_payment": {
      +                  "type": "number"
      +                },
      +                "total_for_term": {
      +                  "type": "number"
      +                }
      +              },
      +              "required": [
      +                "currency",
      +                "due_today",
      +                "monthly_payment",
      +                "total_for_term"
      +              ],
      +              "type": "object"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ],
      +          "description": "The carrier's confirmed amounts, once confirmed. Still subject to eligibility and state rules."
      +        },
      +        "more_options_offered": {
      +          "description": "True when Sigo offers to look at the other carriers beside a confirmed price. Offer it once; other_carrier_questions is how, and only if the customer wants to compare.",
      +          "type": "boolean"
      +        },
      +        "next_call": {
      +          "description": "Exactly what to call next, with its arguments; null when nothing is.",
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "note": {
      +          "description": "What to tell the customer and do next, in their language.",
      +          "type": "string"
      +        },
      +        "poll_after_seconds": {
      +          "anyOf": [
      +            {
      +              "maximum": 9007199254740991,
      +              "minimum": -9007199254740991,
      +              "type": "integer"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ],
      +          "description": "While confirming: how long to wait before get_quote again."
      +        },
      +        "status": {
      +          "description": "rating: carriers still answering. questions_pending: ask carrier_questions for the one estimate shown. confirming: Sigo is confirming the price, read again. confirmed: the price is in confirmed_price and the customer pays in the link. declined / not_available: that option is not the answer; other_carrier_questions follows.",
      +          "enum": [
      +            "rating",
      +            "questions_pending",
      +            "confirming",
      +            "confirmed",
      +            "declined",
      +            "not_available"
      +          ],
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "status",
      +        "chosen_quote_id",
      +        "confirmed_price",
      +        "more_options_offered",
      +        "poll_after_seconds",
      +        "next_call",
      +        "note"
      +      ],
      +      "type": "object"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "quote_id",
      -  "status",
      -  "more_carriers_pending",
      -  "poll_after_seconds",
      -  "pending_note",
      -  "to_final_quote",
      -  "application",
      -  "state",
      -  "quoted_at",
      -  "expires_at",
      -  "quotes",
      -  "problems",
      -  "contact",
      -  "covers",
      -  "asked_for",
      -  "revised_from_quote",
      -  "price_levers",
      -  "personal_use_note",
      -  "carriers",
      -  "issued_by"
      -]New value: +[
      +  "quote_id",
      +  "status",
      +  "more_carriers_pending",
      +  "poll_after_seconds",
      +  "pending_note",
      +  "to_final_quote",
      +  "cover_first",
      +  "application",
      +  "state",
      +  "quoted_at",
      +  "expires_at",
      +  "quotes",
      +  "problems",
      +  "contact",
      +  "covers",
      +  "asked_for",
      +  "revised_from_quote",
      +  "price_levers",
      +  "personal_use_note",
      +  "carriers",
      +  "issued_by"
      +]
  6. First observed

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the read-only, open-world, non-destructive profile, but the description adds genuinely non-obvious behavior: carriers respond at different speeds, the list closes within a minute regardless, missing carriers are not a price to chase, and no returned price is final until Sigo computes it. These are operational facts an agent cannot infer from the structured fields.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the step/sequencing constraint, then the resource, then the polling mechanics. It is longer than strictly necessary and repeats the 'not final / not a price' point in two different places, but nearly every sentence carries operational information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Output schema exists, so return values need not be restated, and the description still supplies the missing flow context: what more_carriers_pending and poll_after_seconds mean, when the list closes, and that to_final_quote.next_call is the next action. Nothing an agent needs to call and correctly loop this tool is absent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so quote_id ('the handle start_quote returned') and locale are already fully documented in the schema. The description reinforces the quote_id provenance and the polling cycle but adds no parameter-level detail (e.g. locale, enum values) beyond what the schema provides, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (read) and resource (car insurance estimates for a quote_id), and positions itself explicitly as 'Step 3 of 3' in a flow anchored to start_quote. An agent can tell it apart from start_quote and the carrier-question siblings without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit sequencing ('Step 3 of 3', read the quote_id start_quote returned), a negative instruction ('Never start_quote again to refresh a result'), and the polling condition (repeat after poll_after_seconds until more_carriers_pending is false). This is about as prescriptive as usage guidance gets.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources