Skip to main content
Glama

Compare offers

compare_offers
Read-onlyIdempotent

Compare two to ten startup credit or deal offers side by side, including value, access requirements, eligibility, freshness, and evidence. Unknown eligibility and unsupported stacking remain explicit.

Input Schema

NameRequiredDescriptionDefault
factsYesKnown typed company facts used only for explicit eligibility evaluation; omit unknown facts.
offersYesTwo to ten exact startup credit or deal offers to compare in this order.

Output Schema

NameRequiredDescriptionDefault
dataYes
stackingYes
release_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changed
    • addedOutput schema / definitions / SourceyEligibilityRule
      Added value: +{
      +  "anyOf": [
      +    {
      +      "anyOf": [
      +        {
      +          "additionalProperties": false,
      +          "properties": {
      +            "criterion_id": {
      +              "pattern": "^[a-z0-9][a-z0-9_-]*$",
      +              "type": "string"
      +            },
      +            "fact": {
      +              "pattern": "^[a-z][a-z0-9_-]*(?:\\.[a-z][a-z0-9_-]*)+$",
      +              "type": "string"
      +            },
      +            "kind": {
      +              "const": "predicate",
      +              "type": "string"
      +            },
      +            "operator": {
      +              "enum": [
      +                "present",
      +                "absent"
      +              ],
      +              "type": "string"
      +            },
      +            "statement": {
      +              "maxLength": 500,
      +              "minLength": 1,
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "kind",
      +            "criterion_id",
      +            "statement",
      +            "fact",
      +            "operator"
      +          ],
      +          "type": "object"
      +        },
      +        {
      +          "additionalProperties": false,
      +          "properties": {
      +            "criterion_id": {
      +              "pattern": "^[a-z0-9][a-z0-9_-]*$",
      +              "type": "string"
      +            },
      +            "fact": {
      +              "pattern": "^[a-z][a-z0-9_-]*(?:\\.[a-z][a-z0-9_-]*)+$",
      +              "type": "string"
      +            },
      +            "kind": {
      +              "const": "predicate",
      +              "type": "string"
      +            },
      +            "operator": {
      +              "enum": [
      +                "eq",
      +                "neq",
      +                "contains"
      +              ],
      +              "type": "string"
      +            },
      +            "statement": {
      +              "maxLength": 500,
      +              "minLength": 1,
      +              "type": "string"
      +            },
      +            "value": {
      +              "oneOf": [
      +                {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "type": {
      +                      "const": "string",
      +                      "type": "string"
      +                    },
      +                    "value": {
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "type",
      +                    "value"
      +                  ],
      +                  "type": "object"
      +                },
      +                {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "type": {
      +                      "const": "number",
      +                      "type": "string"
      +                    },
      +                    "value": {
      +                      "type": "number"
      +                    }
      +                  },
      +                  "required": [
      +                    "type",
      +                    "value"
      +                  ],
      +                  "type": "object"
      +                },
      +                {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "type": {
      +                      "const": "boolean",
      +                      "type": "string"
      +                    },
      +                    "value": {
      +                      "type": "boolean"
      +                    }
      +                  },
      +                  "required": [
      +                    "type",
      +                    "value"
      +                  ],
      +                  "type": "object"
      +                },
      +                {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "type": {
      +                      "const": "date",
      +                      "type": "string"
      +                    },
      +                    "value": {
      +                      "format": "date",
      +                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "type",
      +                    "value"
      +                  ],
      +                  "type": "object"
      +                }
      +              ]
      +            }
      +          },
      +          "required": [
      +            "kind",
      +            "criterion_id",
      +            "statement",
      +            "fact",
      +            "operator",
      +            "value"
      +          ],
      +          "type": "object"
      +        },
      +        {
      +          "additionalProperties": false,
      +          "properties": {
      +            "criterion_id": {
      +              "pattern": "^[a-z0-9][a-z0-9_-]*$",
      +              "type": "string"
      +            },
      +            "fact": {
      +              "pattern": "^[a-z][a-z0-9_-]*(?:\\.[a-z][a-z0-9_-]*)+$",
      +              "type": "string"
      +            },
      +            "kind": {
      +              "const": "predicate",
      +              "type": "string"
      +            },
      +            "operator": {
      +              "const": "in",
      +              "type": "string"
      +            },
      +            "statement": {
      +              "maxLength": 500,
      +              "minLength": 1,
      +              "type": "string"
      +            },
      +            "value": {
      +              "oneOf": [
      +                {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "type": {
      +                      "const": "string-set",
      +                      "type": "string"
      +                    },
      +                    "values": {
      +                      "items": {
      +                        "type": "string"
      +                      },
      +                      "minItems": 1,
      +                      "type": "array"
      +                    }
      +                  },
      +                  "required": [
      +                    "type",
      +                    "values"
      +                  ],
      +                  "type": "object"
      +                },
      +                {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "type": {
      +                      "const": "number-set",
      +                      "type": "string"
      +                    },
      +                    "values": {
      +                      "items": {
      +                        "type": "number"
      +                      },
      +                      "minItems": 1,
      +                      "type": "array"
      +                    }
      +                  },
      +                  "required": [
      +                    "type",
      +                    "values"
      +                  ],
      +                  "type": "object"
      +                }
      +              ]
      +            }
      +          },
      +          "required": [
      +            "kind",
      +            "criterion_id",
      +            "statement",
      +            "fact",
      +            "operator",
      +            "value"
      +          ],
      +          "type": "object"
      +        },
      +        {
      +          "additionalProperties": false,
      +          "properties": {
      +            "criterion_id": {
      +              "pattern": "^[a-z0-9][a-z0-9_-]*$",
      +              "type": "string"
      +            },
      +            "fact": {
      +              "pattern": "^[a-z][a-z0-9_-]*(?:\\.[a-z][a-z0-9_-]*)+$",
      +              "type": "string"
      +            },
      +            "kind": {
      +              "const": "predicate",
      +              "type": "string"
      +            },
      +            "operator": {
      +              "enum": [
      +                "lt",
      +                "lte",
      +                "gt",
      +                "gte"
      +              ],
      +              "type": "string"
      +            },
      +            "statement": {
      +              "maxLength": 500,
      +              "minLength": 1,
      +              "type": "string"
      +            },
      +            "value": {
      +              "oneOf": [
      +                {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "type": {
      +                      "const": "number",
      +                      "type": "string"
      +                    },
      +                    "value": {
      +                      "type": "number"
      +                    }
      +                  },
      +                  "required": [
      +                    "type",
      +                    "value"
      +                  ],
      +                  "type": "object"
      +                },
      +                {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "type": {
      +                      "const": "date",
      +                      "type": "string"
      +                    },
      +                    "value": {
      +                      "format": "date",
      +                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "type",
      +                    "value"
      +                  ],
      +                  "type": "object"
      +                }
      +              ]
      +            }
      +          },
      +          "required": [
      +            "kind",
      +            "criterion_id",
      +            "statement",
      +            "fact",
      +            "operator",
      +            "value"
      +          ],
      +          "type": "object"
      +        }
      +      ]
      +    },
      +    {
      +      "additionalProperties": false,
      +      "properties": {
      +        "criterion_id": {
      +          "pattern": "^[a-z0-9][a-z0-9_-]*$",
      +          "type": "string"
      +        },
      +        "kind": {
      +          "const": "manual",
      +          "type": "string"
      +        },
      +        "reason": {
      +          "enum": [
      +            "vendor-discretion",
      +            "external-verification",
      +            "not-machine-evaluable",
      +            "other"
      +          ],
      +          "type": "string"
      +        },
      +        "statement": {
      +          "maxLength": 500,
      +          "minLength": 1,
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "kind",
      +        "criterion_id",
      +        "statement",
      +        "reason"
      +      ],
      +      "type": "object"
      +    },
      +    {
      +      "additionalProperties": false,
      +      "properties": {
      +        "criterion_id": {
      +          "pattern": "^[a-z0-9][a-z0-9_-]*$",
      +          "type": "string"
      +        },
      +        "kind": {
      +          "const": "constant",
      +          "type": "string"
      +        },
      +        "statement": {
      +          "maxLength": 500,
      +          "minLength": 1,
      +          "type": "string"
      +        },
      +        "value": {
      +          "type": "boolean"
      +        }
      +      },
      +      "required": [
      +        "kind",
      +        "criterion_id",
      +        "statement",
      +        "value"
      +      ],
      +      "type": "object"
      +    },
      +    {
      +      "additionalProperties": false,
      +      "properties": {
      +        "kind": {
      +          "const": "all",
      +          "type": "string"
      +        },
      +        "rules": {
      +          "items": {
      +            "$ref": "#/definitions/SourceyEligibilityRule"
      +          },
      +          "minItems": 1,
      +          "type": "array"
      +        }
      +      },
      +      "required": [
      +        "kind",
      +        "rules"
      +      ],
      +      "type": "object"
      +    },
      +    {
      +      "additionalProperties": false,
      +      "properties": {
      +        "kind": {
      +          "const": "any",
      +          "type": "string"
      +        },
      +        "rules": {
      +          "items": {
      +            "$ref": "#/definitions/SourceyEligibilityRule"
      +          },
      +          "minItems": 1,
      +          "type": "array"
      +        }
      +      },
      +      "required": [
      +        "kind",
      +        "rules"
      +      ],
      +      "type": "object"
      +    },
      +    {
      +      "additionalProperties": false,
      +      "properties": {
      +        "kind": {
      +          "const": "not",
      +          "type": "string"
      +        },
      +        "rule": {
      +          "$ref": "#/definitions/SourceyEligibilityRule"
      +        }
      +      },
      +      "required": [
      +        "kind",
      +        "rule"
      +      ],
      +      "type": "object"
      +    }
      +  ]
      +}
    • changedOutput schema / definitions / __schema0 / anyOf
      Previous value: -[
      -  {
      -    "anyOf": [
      -      {
      -        "additionalProperties": false,
      -        "properties": {
      -          "criterion_id": {
      -            "pattern": "^[a-z0-9][a-z0-9_-]*$",
      -            "type": "string"
      -          },
      -          "fact": {
      -            "pattern": "^[a-z][a-z0-9_-]*(?:\\.[a-z][a-z0-9_-]*)+$",
      -            "type": "string"
      -          },
      -          "kind": {
      -            "const": "predicate",
      -            "type": "string"
      -          },
      -          "operator": {
      -            "enum": [
      -              "present",
      -              "absent"
      -            ],
      -            "type": "string"
      -          },
      -          "statement": {
      -            "maxLength": 500,
      -            "minLength": 1,
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "kind",
      -          "criterion_id",
      -          "statement",
      -          "fact",
      -          "operator"
      -        ],
      -        "type": "object"
      -      },
      -      {
      -        "additionalProperties": false,
      -        "properties": {
      -          "criterion_id": {
      -            "pattern": "^[a-z0-9][a-z0-9_-]*$",
      -            "type": "string"
      -          },
      -          "fact": {
      -            "pattern": "^[a-z][a-z0-9_-]*(?:\\.[a-z][a-z0-9_-]*)+$",
      -            "type": "string"
      -          },
      -          "kind": {
      -            "const": "predicate",
      -            "type": "string"
      -          },
      -          "operator": {
      -            "enum": [
      -              "eq",
      -              "neq",
      -              "contains"
      -            ],
      -            "type": "string"
      -          },
      -          "statement": {
      -            "maxLength": 500,
      -            "minLength": 1,
      -            "type": "string"
      -          },
      -          "value": {
      -            "oneOf": [
      -              {
      -                "additionalProperties": false,
      -                "properties": {
      -                  "type": {
      -                    "const": "string",
      -                    "type": "string"
      -                  },
      -                  "value": {
      -                    "type": "string"
      -                  }
      -                },
      -                "required": [
      -                  "type",
      -                  "value"
      -                ],
      -                "type": "object"
      -              },
      -              {
      -                "additionalProperties": false,
      -                "properties": {
      -                  "type": {
      -                    "const": "number",
      -                    "type": "string"
      -                  },
      -                  "value": {
      -                    "type": "number"
      -                  }
      -                },
      -                "required": [
      -                  "type",
      -                  "value"
      -                ],
      -                "type": "object"
      -              },
      -              {
      -                "additionalProperties": false,
      -                "properties": {
      -                  "type": {
      -                    "const": "boolean",
      -                    "type": "string"
      -                  },
      -                  "value": {
      -                    "type": "boolean"
      -                  }
      -                },
      -                "required": [
      -                  "type",
      -                  "value"
      -                ],
      -                "type": "object"
      -              },
      -              {
      -                "additionalProperties": false,
      -                "properties": {
      -                  "type": {
      -                    "const": "date",
      -                    "type": "string"
      -                  },
      -                  "value": {
      -                    "format": "date",
      -                    "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
      -                    "type": "string"
      -                  }
      -                },
      -                "required": [
      -                  "type",
      -                  "value"
      -                ],
      -                "type": "object"
      -              }
      -            ]
      -          }
      -        },
      -        "required": [
      -          "kind",
      -          "criterion_id",
      -          "statement",
      -          "fact",
      -          "operator",
      -          "value"
      -        ],
      -        "type": "object"
      -      },
      -      {
      -        "additionalProperties": false,
      -        "properties": {
      -          "criterion_id": {
      -            "pattern": "^[a-z0-9][a-z0-9_-]*$",
      -            "type": "string"
      -          },
      -          "fact": {
      -            "pattern": "^[a-z][a-z0-9_-]*(?:\\.[a-z][a-z0-9_-]*)+$",
      -            "type": "string"
      -          },
      -          "kind": {
      -            "const": "predicate",
      -            "type": "string"
      -          },
      -          "operator": {
      -            "const": "in",
      -            "type": "string"
      -          },
      -          "statement": {
      -            "maxLength": 500,
      -            "minLength": 1,
      -            "type": "string"
      -          },
      -          "value": {
      -            "oneOf": [
      -              {
      -                "additionalProperties": false,
      -                "properties": {
      -                  "type": {
      -                    "const": "string-set",
      -                    "type": "string"
      -                  },
      -                  "values": {
      -                    "items": {
      -                      "type": "string"
      -                    },
      -                    "minItems": 1,
      -                    "type": "array"
      -                  }
      -                },
      -                "required": [
      -                  "type",
      -                  "values"
      -                ],
      -                "type": "object"
      -              },
      -              {
      -                "additionalProperties": false,
      -                "properties": {
      -                  "type": {
      -                    "const": "number-set",
      -                    "type": "string"
      -                  },
      -                  "values": {
      -                    "items": {
      -                      "type": "number"
      -                    },
      -                    "minItems": 1,
      -                    "type": "array"
      -                  }
      -                },
      -                "required": [
      -                  "type",
      -                  "values"
      -                ],
      -                "type": "object"
      -              }
      -            ]
      -          }
      -        },
      -        "required": [
      -          "kind",
      -          "criterion_id",
      -          "statement",
      -          "fact",
      -          "operator",
      -          "value"
      -        ],
      -        "type": "object"
      -      },
      -      {
      -        "additionalProperties": false,
      -        "properties": {
      -          "criterion_id": {
      -            "pattern": "^[a-z0-9][a-z0-9_-]*$",
      -            "type": "string"
      -          },
      -          "fact": {
      -            "pattern": "^[a-z][a-z0-9_-]*(?:\\.[a-z][a-z0-9_-]*)+$",
      -            "type": "string"
      -          },
      -          "kind": {
      -            "const": "predicate",
      -            "type": "string"
      -          },
      -          "operator": {
      -            "enum": [
      -              "lt",
      -              "lte",
      -              "gt",
      -              "gte"
      -            ],
      -            "type": "string"
      -          },
      -          "statement": {
      -            "maxLength": 500,
      -            "minLength": 1,
      -            "type": "string"
      -          },
      -          "value": {
      -            "oneOf": [
      -              {
      -                "additionalProperties": false,
      -                "properties": {
      -                  "type": {
      -                    "const": "number",
      -                    "type": "string"
      -                  },
      -                  "value": {
      -                    "type": "number"
      -                  }
      -                },
      -                "required": [
      -                  "type",
      -                  "value"
      -                ],
      -                "type": "object"
      -              },
      -              {
      -                "additionalProperties": false,
      -                "properties": {
      -                  "type": {
      -                    "const": "date",
      -                    "type": "string"
      -                  },
      -                  "value": {
      -                    "format": "date",
      -                    "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
      -                    "type": "string"
      -                  }
      -                },
      -                "required": [
      -                  "type",
      -                  "value"
      -                ],
      -                "type": "object"
      -              }
      -            ]
      -          }
      -        },
      -        "required": [
      -          "kind",
      -          "criterion_id",
      -          "statement",
      -          "fact",
      -          "operator",
      -          "value"
      -        ],
      -        "type": "object"
      -      }
      -    ]
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "criterion_id": {
      -        "pattern": "^[a-z0-9][a-z0-9_-]*$",
      -        "type": "string"
      -      },
      -      "kind": {
      -        "const": "manual",
      -        "type": "string"
      -      },
      -      "reason": {
      -        "enum": [
      -          "vendor-discretion",
      -          "external-verification",
      -          "not-machine-evaluable",
      -          "other"
      -        ],
      -        "type": "string"
      -      },
      -      "statement": {
      -        "maxLength": 500,
      -        "minLength": 1,
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "kind",
      -      "criterion_id",
      -      "statement",
      -      "reason"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "criterion_id": {
      -        "pattern": "^[a-z0-9][a-z0-9_-]*$",
      -        "type": "string"
      -      },
      -      "kind": {
      -        "const": "constant",
      -        "type": "string"
      -      },
      -      "statement": {
      -        "maxLength": 500,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "value": {
      -        "type": "boolean"
      -      }
      -    },
      -    "required": [
      -      "kind",
      -      "criterion_id",
      -      "statement",
      -      "value"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "kind": {
      -        "const": "all",
      -        "type": "string"
      -      },
      -      "rules": {
      -        "items": {
      -          "$ref": "#/definitions/__schema0"
      -        },
      -        "minItems": 1,
      -        "type": "array"
      -      }
      -    },
      -    "required": [
      -      "kind",
      -      "rules"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "kind": {
      -        "const": "any",
      -        "type": "string"
      -      },
      -      "rules": {
      -        "items": {
      -          "$ref": "#/definitions/__schema0"
      -        },
      -        "minItems": 1,
      -        "type": "array"
      -      }
      -    },
      -    "required": [
      -      "kind",
      -      "rules"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "kind": {
      -        "const": "not",
      -        "type": "string"
      -      },
      -      "rule": {
      -        "$ref": "#/definitions/__schema0"
      -      }
      -    },
      -    "required": [
      -      "kind",
      -      "rule"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "kind": {
      +        "enum": [
      +          "all",
      +          "any"
      +        ],
      +        "type": "string"
      +      },
      +      "outcome": {
      +        "enum": [
      +          "met",
      +          "unmet",
      +          "unknown"
      +        ],
      +        "type": "string"
      +      },
      +      "rules": {
      +        "items": {
      +          "$ref": "#/definitions/__schema0"
      +        },
      +        "minItems": 1,
      +        "type": "array"
      +      }
      +    },
      +    "required": [
      +      "kind",
      +      "outcome",
      +      "rules"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "kind": {
      +        "const": "not",
      +        "type": "string"
      +      },
      +      "outcome": {
      +        "enum": [
      +          "met",
      +          "unmet",
      +          "unknown"
      +        ],
      +        "type": "string"
      +      },
      +      "rule": {
      +        "$ref": "#/definitions/__schema0"
      +      }
      +    },
      +    "required": [
      +      "kind",
      +      "outcome",
      +      "rule"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "criterion_id": {
      +        "pattern": "^[a-z0-9][a-z0-9_-]*$",
      +        "type": "string"
      +      },
      +      "kind": {
      +        "enum": [
      +          "predicate",
      +          "manual",
      +          "constant"
      +        ],
      +        "type": "string"
      +      },
      +      "outcome": {
      +        "enum": [
      +          "met",
      +          "unmet",
      +          "unknown"
      +        ],
      +        "type": "string"
      +      },
      +      "statement": {
      +        "maxLength": 500,
      +        "minLength": 1,
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "kind",
      +      "criterion_id",
      +      "statement",
      +      "outcome"
      +    ],
      +    "type": "object"
      +  }
      +]
    • removedOutput schema / definitions / __schema1
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "additionalProperties": false,
      -      "properties": {
      -        "kind": {
      -          "enum": [
      -            "all",
      -            "any"
      -          ],
      -          "type": "string"
      -        },
      -        "outcome": {
      -          "enum": [
      -            "met",
      -            "unmet",
      -            "unknown"
      -          ],
      -          "type": "string"
      -        },
      -        "rules": {
      -          "items": {
      -            "$ref": "#/definitions/__schema1"
      -          },
      -          "minItems": 1,
      -          "type": "array"
      -        }
      -      },
      -      "required": [
      -        "kind",
      -        "outcome",
      -        "rules"
      -      ],
      -      "type": "object"
      -    },
      -    {
      -      "additionalProperties": false,
      -      "properties": {
      -        "kind": {
      -          "const": "not",
      -          "type": "string"
      -        },
      -        "outcome": {
      -          "enum": [
      -            "met",
      -            "unmet",
      -            "unknown"
      -          ],
      -          "type": "string"
      -        },
      -        "rule": {
      -          "$ref": "#/definitions/__schema1"
      -        }
      -      },
      -      "required": [
      -        "kind",
      -        "outcome",
      -        "rule"
      -      ],
      -      "type": "object"
      -    },
      -    {
      -      "additionalProperties": false,
      -      "properties": {
      -        "criterion_id": {
      -          "pattern": "^[a-z0-9][a-z0-9_-]*$",
      -          "type": "string"
      -        },
      -        "kind": {
      -          "enum": [
      -            "predicate",
      -            "manual",
      -            "constant"
      -          ],
      -          "type": "string"
      -        },
      -        "outcome": {
      -          "enum": [
      -            "met",
      -            "unmet",
      -            "unknown"
      -          ],
      -          "type": "string"
      -        },
      -        "statement": {
      -          "maxLength": 500,
      -          "minLength": 1,
      -          "type": "string"
      -        }
      -      },
      -      "required": [
      -        "kind",
      -        "criterion_id",
      -        "statement",
      -        "outcome"
      -      ],
      -      "type": "object"
      -    }
      -  ]
      -}
    • changedOutput schema / properties / data / items / properties / eligibility / properties / trace / $ref
      Previous value: -"#/definitions/__schema1"New value: +"#/definitions/__schema0"
    • changedOutput schema / properties / data / items / properties / offer / properties / eligibility / properties / rule / $ref
      Previous value: -"#/definitions/__schema0"New value: +"#/definitions/SourceyEligibilityRule"
  2. Changed1 schema field changed
    • changedOutput schema / properties / data / items / properties / offer / properties / lifecycle / enum
      Previous value: -[
      -  "active",
      -  "ended",
      -  "withdrawn"
      -]New value: +[
      +  "active",
      +  "paused",
      +  "ended",
      +  "withdrawn"
      +]
  3. Changed3 schema fields changed
    • addedOutput schema / properties / data / items / properties / check
      Added value: +{
      +  "anyOf": [
      +    {
      +      "additionalProperties": false,
      +      "properties": {
      +        "checked_at": {
      +          "format": "date-time",
      +          "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      +          "type": "string"
      +        },
      +        "findings": {
      +          "items": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "page": {
      +                "anyOf": [
      +                  {
      +                    "format": "uri",
      +                    "type": "string"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              },
      +              "path": {
      +                "pattern": "^\\/[^\\s]{0,511}$",
      +                "type": "string"
      +              },
      +              "quote": {
      +                "anyOf": [
      +                  {
      +                    "maxLength": 500,
      +                    "minLength": 1,
      +                    "type": "string"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              },
      +              "status": {
      +                "enum": [
      +                  "contradicted",
      +                  "unsupported",
      +                  "unresolved"
      +                ],
      +                "type": "string"
      +              },
      +              "subject": {
      +                "additionalProperties": false,
      +                "properties": {
      +                  "id": {
      +                    "maxLength": 128,
      +                    "minLength": 1,
      +                    "type": "string"
      +                  },
      +                  "kind": {
      +                    "enum": [
      +                      "entity",
      +                      "program",
      +                      "offer"
      +                    ],
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "kind",
      +                  "id"
      +                ],
      +                "type": "object"
      +              }
      +            },
      +            "required": [
      +              "subject",
      +              "path",
      +              "status",
      +              "page",
      +              "quote"
      +            ],
      +            "type": "object"
      +          },
      +          "maxItems": 32,
      +          "type": "array"
      +        },
      +        "next_due_at": {
      +          "anyOf": [
      +            {
      +              "format": "date-time",
      +              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "proposal": {
      +          "anyOf": [
      +            {
      +              "format": "uri",
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "state": {
      +          "enum": [
      +            "fresh",
      +            "stale"
      +          ],
      +          "type": "string"
      +        },
      +        "succeeded_at": {
      +          "anyOf": [
      +            {
      +              "format": "date-time",
      +              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        }
      +      },
      +      "required": [
      +        "checked_at",
      +        "succeeded_at",
      +        "next_due_at",
      +        "state",
      +        "findings",
      +        "proposal"
      +      ],
      +      "type": "object"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • addedOutput schema / properties / data / items / properties / offer / properties / headline
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "basis": {
      +      "enum": [
      +        "typed",
      +        "described"
      +      ],
      +      "type": "string"
      +    },
      +    "benefit_id": {
      +      "pattern": "^[a-z0-9][a-z0-9_-]*$",
      +      "type": "string"
      +    },
      +    "figure": {
      +      "oneOf": [
      +        {
      +          "additionalProperties": false,
      +          "properties": {
      +            "duration": {
      +              "oneOf": [
      +                {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "kind": {
      +                      "const": "exact",
      +                      "type": "string"
      +                    },
      +                    "value": {
      +                      "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "kind",
      +                    "value"
      +                  ],
      +                  "type": "object"
      +                },
      +                {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "kind": {
      +                      "const": "up-to",
      +                      "type": "string"
      +                    },
      +                    "value": {
      +                      "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "kind",
      +                    "value"
      +                  ],
      +                  "type": "object"
      +                },
      +                {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "kind": {
      +                      "const": "at-least",
      +                      "type": "string"
      +                    },
      +                    "value": {
      +                      "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "kind",
      +                    "value"
      +                  ],
      +                  "type": "object"
      +                },
      +                {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "kind": {
      +                      "const": "range",
      +                      "type": "string"
      +                    },
      +                    "maximum": {
      +                      "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
      +                      "type": "string"
      +                    },
      +                    "minimum": {
      +                      "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "kind",
      +                    "minimum",
      +                    "maximum"
      +                  ],
      +                  "type": "object"
      +                }
      +              ]
      +            },
      +            "kind": {
      +              "const": "credit",
      +              "type": "string"
      +            },
      +            "value": {
      +              "oneOf": [
      +                {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "amount": {
      +                      "additionalProperties": false,
      +                      "properties": {
      +                        "currency": {
      +                          "pattern": "^[A-Z]{3}$",
      +                          "type": "string"
      +                        },
      +                        "minor_units": {
      +                          "maximum": 9007199254740991,
      +                          "minimum": 0,
      +                          "type": "integer"
      +                        }
      +                      },
      +                      "required": [
      +                        "currency",
      +                        "minor_units"
      +                      ],
      +                      "type": "object"
      +                    },
      +                    "kind": {
      +                      "const": "exact",
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "kind",
      +                    "amount"
      +                  ],
      +                  "type": "object"
      +                },
      +                {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "amount": {
      +                      "additionalProperties": false,
      +                      "properties": {
      +                        "currency": {
      +                          "pattern": "^[A-Z]{3}$",
      +                          "type": "string"
      +                        },
      +                        "minor_units": {
      +                          "maximum": 9007199254740991,
      +                          "minimum": 0,
      +                          "type": "integer"
      +                        }
      +                      },
      +                      "required": [
      +                        "currency",
      +                        "minor_units"
      +                      ],
      +                      "type": "object"
      +                    },
      +                    "kind": {
      +                      "const": "up-to",
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "kind",
      +                    "amount"
      +                  ],
      +                  "type": "object"
      +                },
      +                {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "amount": {
      +                      "additionalProperties": false,
      +                      "properties": {
      +                        "currency": {
      +                          "pattern": "^[A-Z]{3}$",
      +                          "type": "string"
      +                        },
      +                        "minor_units": {
      +                          "maximum": 9007199254740991,
      +                          "minimum": 0,
      +                          "type": "integer"
      +                        }
      +                      },
      +                      "required": [
      +                        "currency",
      +                        "minor_units"
      +                      ],
      +                      "type": "object"
      +                    },
      +                    "kind": {
      +                      "const": "at-least",
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "kind",
      +                    "amount"
      +                  ],
      +                  "type": "object"
      +                },
      +                {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "kind": {
      +                      "const": "range",
      +                      "type": "string"
      +                    },
      +                    "maximum": {
      +                      "additionalProperties": false,
      +                      "properties": {
      +                        "currency": {
      +                          "pattern": "^[A-Z]{3}$",
      +                          "type": "string"
      +                        },
      +                        "minor_units": {
      +                          "maximum": 9007199254740991,
      +                          "minimum": 0,
      +                          "type": "integer"
      +                        }
      +                      },
      +                      "required": [
      +                        "currency",
      +                        "minor_units"
      +                      ],
      +                      "type": "object"
      +                    },
      +                    "minimum": {
      +                      "additionalProperties": false,
      +                      "properties": {
      +                        "currency": {
      +                          "pattern": "^[A-Z]{3}$",
      +                          "type": "string"
      +                        },
      +                        "minor_units": {
      +                          "maximum": 9007199254740991,
      +                          "minimum": 0,
      +                          "type": "integer"
      +                        }
      +                      },
      +                      "required": [
      +                        "currency",
      +                        "minor_units"
      +                      ],
      +                      "type": "object"
      +                    }
      +                  },
      +                  "required": [
      +                    "kind",
      +                    "minimum",
      +                    "maximum"
      +                  ],
      +                  "type": "object"
      +                }
      +              ]
      +            }
      +          },
      +          "required": [
      +            "kind",
      +            "value"
      +          ],
      +          "type": "object"
      +        },
      +        {
      +          "additionalProperties": false,
      +          "properties": {
      +            "applies_to": {
      +              "maxLength": 240,
      +              "minLength": 1,
      +              "type": "string"
      +            },
      +            "duration": {
      +              "oneOf": [
      +                {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "kind": {
      +                      "const": "exact",
      +                      "type": "string"
      +                    },
      +                    "value": {
      +                      "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "kind",
      +                    "value"
      +                  ],
      +                  "type": "object"
      +                },
      +                {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "kind": {
      +                      "const": "up-to",
      +                      "type": "string"
      +                    },
      +                    "value": {
      +                      "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "kind",
      +                    "value"
      +                  ],
      +                  "type": "object"
      +                },
      +                {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "kind": {
      +                      "const": "at-least",
      +                      "type": "string"
      +                    },
      +                    "value": {
      +                      "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "kind",
      +                    "value"
      +                  ],
      +                  "type": "object"
      +                },
      +                {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "kind": {
      +                      "const": "range",
      +                      "type": "string"
      +                    },
      +                    "maximum": {
      +                      "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
      +                      "type": "string"
      +                    },
      +                    "minimum": {
      +                      "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "kind",
      +                    "minimum",
      +                    "maximum"
      +                  ],
      +                  "type": "object"
      +                }
      +              ]
      +            },
      +            "kind": {
      +              "const": "discount",
      +              "type": "string"
      +            },
      +            "percentage": {
      +              "oneOf": [
      +                {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "basis_points": {
      +                      "maximum": 10000,
      +                      "minimum": 1,
      +                      "type": "integer"
      +                    },
      +                    "kind": {
      +                      "const": "exact",
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "kind",
      +                    "basis_points"
      +                  ],
      +                  "type": "object"
      +                },
      +                {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "basis_points": {
      +                      "maximum": 10000,
      +                      "minimum": 1,
      +                      "type": "integer"
      +                    },
      +                    "kind": {
      +                      "const": "up-to",
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "kind",
      +                    "basis_points"
      +                  ],
      +                  "type": "object"
      +                },
      +                {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "basis_points": {
      +                      "maximum": 10000,
      +                      "minimum": 1,
      +                      "type": "integer"
      +                    },
      +                    "kind": {
      +                      "const": "at-least",
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "kind",
      +                    "basis_points"
      +                  ],
      +                  "type": "object"
      +                },
      +                {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "kind": {
      +                      "const": "range",
      +                      "type": "string"
      +                    },
      +                    "maximum_basis_points": {
      +                      "maximum": 10000,
      +                      "minimum": 1,
      +                      "type": "integer"
      +                    },
      +                    "minimum_basis_points": {
      +                      "maximum": 10000,
      +                      "minimum": 1,
      +                      "type": "integer"
      +                    }
      +                  },
      +                  "required": [
      +                    "kind",
      +                    "minimum_basis_points",
      +                    "maximum_basis_points"
      +                  ],
      +                  "type": "object"
      +                }
      +              ]
      +            }
      +          },
      +          "required": [
      +            "kind",
      +            "percentage"
      +          ],
      +          "type": "object"
      +        },
      +        {
      +          "additionalProperties": false,
      +          "properties": {
      +            "duration": {
      +              "oneOf": [
      +                {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "kind": {
      +                      "const": "exact",
      +                      "type": "string"
      +                    },
      +                    "value": {
      +                      "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "kind",
      +                    "value"
      +                  ],
      +                  "type": "object"
      +                },
      +                {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "kind": {
      +                      "const": "up-to",
      +                      "type": "string"
      +                    },
      +                    "value": {
      +                      "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "kind",
      +                    "value"
      +                  ],
      +                  "type": "object"
      +                },
      +                {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "kind": {
      +                      "const": "at-least",
      +                      "type": "string"
      +                    },
      +                    "value": {
      +                      "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "kind",
      +                    "value"
      +                  ],
      +                  "type": "object"
      +                },
      +                {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "kind": {
      +                      "const": "range",
      +                      "type": "string"
      +                    },
      +                    "maximum": {
      +                      "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
      +                      "type": "string"
      +                    },
      +                    "minimum": {
      +                      "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "kind",
      +                    "minimum",
      +                    "maximum"
      +                  ],
      +                  "type": "object"
      +                }
      +              ]
      +            },
      +            "kind": {
      +              "const": "cashback",
      +              "type": "string"
      +            },
      +            "value": {
      +              "oneOf": [
      +                {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "kind": {
      +                      "const": "money",
      +                      "type": "string"
      +                    },
      +                    "value": {
      +                      "oneOf": [
      +                        {
      +                          "additionalProperties": false,
      +                          "properties": {
      +                            "amount": {
      +                              "additionalProperties": false,
      +                              "properties": {
      +                                "currency": {
      +                                  "pattern": "^[A-Z]{3}$",
      +                                  "type": "string"
      +                                },
      +                                "minor_units": {
      +                                  "maximum": 9007199254740991,
      +                                  "minimum": 0,
      +                                  "type": "integer"
      +                                }
      +                              },
      +                              "required": [
      +                                "currency",
      +                                "minor_units"
      +                              ],
      +                              "type": "object"
      +                            },
      +                            "kind": {
      +                              "const": "exact",
      +                              "type": "string"
      +                            }
      +                          },
      +                          "required": [
      +                            "kind",
      +                            "amount"
      +                          ],
      +                          "type": "object"
      +                        },
      +                        {
      +                          "additionalProperties": false,
      +                          "properties": {
      +                            "amount": {
      +                              "additionalProperties": false,
      +                              "properties": {
      +                                "currency": {
      +                                  "pattern": "^[A-Z]{3}$",
      +                                  "type": "string"
      +                                },
      +                                "minor_units": {
      +                                  "maximum": 9007199254740991,
      +                                  "minimum": 0,
      +                                  "type": "integer"
      +                                }
      +                              },
      +                              "required": [
      +                                "currency",
      +                                "minor_units"
      +                              ],
      +                              "type": "object"
      +                            },
      +                            "kind": {
      +                              "const": "up-to",
      +                              "type": "string"
      +                            }
      +                          },
      +                          "required": [
      +                            "kind",
      +                            "amount"
      +                          ],
      +                          "type": "object"
      +                        },
      +                        {
      +                          "additionalProperties": false,
      +                          "properties": {
      +                            "amount": {
      +                              "additionalProperties": false,
      +                              "properties": {
      +                                "currency": {
      +                                  "pattern": "^[A-Z]{3}$",
      +                                  "type": "string"
      +                                },
      +                                "minor_units": {
      +                                  "maximum": 9007199254740991,
      +                                  "minimum": 0,
      +                                  "type": "integer"
      +                                }
      +                              },
      +                              "required": [
      +                                "currency",
      +                                "minor_units"
      +                              ],
      +                              "type": "object"
      +                            },
      +                            "kind": {
      +                              "const": "at-least",
      +                              "type": "string"
      +                            }
      +                          },
      +                          "required": [
      +                            "kind",
      +                            "amount"
      +                          ],
      +                          "type": "object"
      +                        },
      +                        {
      +                          "additionalProperties": false,
      +                          "properties": {
      +                            "kind": {
      +                              "const": "range",
      +                              "type": "string"
      +                            },
      +                            "maximum": {
      +                              "additionalProperties": false,
      +                              "properties": {
      +                                "currency": {
      +                                  "pattern": "^[A-Z]{3}$",
      +                                  "type": "string"
      +                                },
      +                                "minor_units": {
      +                                  "maximum": 9007199254740991,
      +                                  "minimum": 0,
      +                                  "type": "integer"
      +                                }
      +                              },
      +                              "required": [
      +                                "currency",
      +                                "minor_units"
      +                              ],
      +                              "type": "object"
      +                            },
      +                            "minimum": {
      +                              "additionalProperties": false,
      +                              "properties": {
      +                                "currency": {
      +                                  "pattern": "^[A-Z]{3}$",
      +                                  "type": "string"
      +                                },
      +                                "minor_units": {
      +                                  "maximum": 9007199254740991,
      +                                  "minimum": 0,
      +                                  "type": "integer"
      +                                }
      +                              },
      +                              "required": [
      +                                "currency",
      +                                "minor_units"
      +                              ],
      +                              "type": "object"
      +                            }
      +                          },
      +                          "required": [
      +                            "kind",
      +                            "minimum",
      +                            "maximum"
      +                          ],
      +                          "type": "object"
      +                        }
      +                      ]
      +                    }
      +                  },
      +                  "required": [
      +                    "kind",
      +                    "value"
      +                  ],
      +                  "type": "object"
      +                },
      +                {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "kind": {
      +                      "const": "percentage",
      +                      "type": "string"
      +                    },
      +                    "value": {
      +                      "oneOf": [
      +                        {
      +                          "additionalProperties": false,
      +                          "properties": {
      +                            "basis_points": {
      +                              "maximum": 10000,
      +                              "minimum": 1,
      +                              "type": "integer"
      +                            },
      +                            "kind": {
      +                              "const": "exact",
      +                              "type": "string"
      +                            }
      +                          },
      +                          "required": [
      +                            "kind",
      +                            "basis_points"
      +                          ],
      +                          "type": "object"
      +                        },
      +                        {
      +                          "additionalProperties": false,
      +                          "properties": {
      +                            "basis_points": {
      +                              "maximum": 10000,
      +                              "minimum": 1,
      +                              "type": "integer"
      +                            },
      +                            "kind": {
      +                              "const": "up-to",
      +                              "type": "string"
      +                            }
      +                          },
      +                          "required": [
      +                            "kind",
      +                            "basis_points"
      +                          ],
      +                          "type": "object"
      +                        },
      +                        {
      +                          "additionalProperties": false,
      +                          "properties": {
      +                            "basis_points": {
      +                              "maximum": 10000,
      +                              "minimum": 1,
      +                              "type": "integer"
      +                            },
      +                            "kind": {
      +                              "const": "at-least",
      +                              "type": "string"
      +                            }
      +                          },
      +                          "required": [
      +                            "kind",
      +                            "basis_points"
      +                          ],
      +                          "type": "object"
      +                        },
      +                        {
      +                          "additionalProperties": false,
      +                          "properties": {
      +                            "kind": {
      +                              "const": "range",
      +                              "type": "string"
      +                            },
      +                            "maximum_basis_points": {
      +                              "maximum": 10000,
      +                              "minimum": 1,
      +                              "type": "integer"
      +                            },
      +                            "minimum_basis_points": {
      +                              "maximum": 10000,
      +                              "minimum": 1,
      +                              "type": "integer"
      +                            }
      +                          },
      +                          "required": [
      +                            "kind",
      +                            "minimum_basis_points",
      +                            "maximum_basis_points"
      +                          ],
      +                          "type": "object"
      +                        }
      +                      ]
      +                    }
      +                  },
      +                  "required": [
      +                    "kind",
      +                    "value"
      +                  ],
      +                  "type": "object"
      +                }
      +              ]
      +            }
      +          },
      +          "required": [
      +            "kind",
      +            "value"
      +          ],
      +          "type": "object"
      +        },
      +        {
      +          "additionalProperties": false,
      +          "properties": {
      +            "duration": {
      +              "oneOf": [
      +                {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "kind": {
      +                      "const": "exact",
      +                      "type": "string"
      +                    },
      +                    "value": {
      +                      "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "kind",
      +                    "value"
      +                  ],
      +                  "type": "object"
      +                },
      +                {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "kind": {
      +                      "const": "up-to",
      +                      "type": "string"
      +                    },
      +                    "value": {
      +                      "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "kind",
      +                    "value"
      +                  ],
      +                  "type": "object"
      +                },
      +                {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "kind": {
      +                      "const": "at-least",
      +                      "type": "string"
      +                    },
      +                    "value": {
      +                      "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "kind",
      +                    "value"
      +                  ],
      +                  "type": "object"
      +                },
      +                {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "kind": {
      +                      "const": "range",
      +                      "type": "string"
      +                    },
      +                    "maximum": {
      +                      "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
      +                      "type": "string"
      +                    },
      +                    "minimum": {
      +                      "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "kind",
      +                    "minimum",
      +                    "maximum"
      +                  ],
      +                  "type": "object"
      +                }
      +              ]
      +            },
      +            "kind": {
      +              "const": "free-service",
      +              "type": "string"
      +            },
      +            "service": {
      +              "maxLength": 240,
      +              "minLength": 1,
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "kind",
      +            "duration"
      +          ],
      +          "type": "object"
      +        },
      +        {
      +          "additionalProperties": false,
      +          "properties": {
      +            "kind": {
      +              "const": "waiver",
      +              "type": "string"
      +            },
      +            "waived_item": {
      +              "maxLength": 240,
      +              "minLength": 1,
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "kind",
      +            "waived_item"
      +          ],
      +          "type": "object"
      +        }
      +      ]
      +    },
      +    "rule": {
      +      "const": "sourcey.offer-headline/v1",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "rule",
      +    "benefit_id",
      +    "basis",
      +    "figure"
      +  ],
      +  "type": "object"
      +}
    • changedOutput schema / properties / data / items / required
      Previous value: -[
      -  "entity",
      -  "offer",
      -  "eligibility",
      -  "unresolved",
      -  "evidence",
      -  "canonical_url"
      -]New value: +[
      +  "entity",
      +  "offer",
      +  "eligibility",
      +  "unresolved",
      +  "evidence",
      +  "check",
      +  "canonical_url"
      +]
  4. Changed1 schema field changed
    • changedOutput schema / properties / data / items / properties / offer / properties / economics / properties / benefits / items / oneOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "benefit_id": {
      -        "pattern": "^[a-z0-9][a-z0-9_-]*$",
      -        "type": "string"
      -      },
      -      "description": {
      -        "maxLength": 500,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "duration": {
      -        "oneOf": [
      -          {
      -            "additionalProperties": false,
      -            "properties": {
      -              "kind": {
      -                "const": "exact",
      -                "type": "string"
      -              },
      -              "value": {
      -                "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
      -                "type": "string"
      -              }
      -            },
      -            "required": [
      -              "kind",
      -              "value"
      -            ],
      -            "type": "object"
      -          },
      -          {
      -            "additionalProperties": false,
      -            "properties": {
      -              "kind": {
      -                "const": "up-to",
      -                "type": "string"
      -              },
      -              "value": {
      -                "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
      -                "type": "string"
      -              }
      -            },
      -            "required": [
      -              "kind",
      -              "value"
      -            ],
      -            "type": "object"
      -          },
      -          {
      -            "additionalProperties": false,
      -            "properties": {
      -              "kind": {
      -                "const": "at-least",
      -                "type": "string"
      -              },
      -              "value": {
      -                "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
      -                "type": "string"
      -              }
      -            },
      -            "required": [
      -              "kind",
      -              "value"
      -            ],
      -            "type": "object"
      -          }
      -        ]
      -      },
      -      "kind": {
      -        "const": "credit",
      -        "type": "string"
      -      },
      -      "value": {
      -        "oneOf": [
      -          {
      -            "additionalProperties": false,
      -            "properties": {
      -              "amount": {
      -                "additionalProperties": false,
      -                "properties": {
      -                  "currency": {
      -                    "pattern": "^[A-Z]{3}$",
      -                    "type": "string"
      -                  },
      -                  "minor_units": {
      -                    "maximum": 9007199254740991,
      -                    "minimum": 0,
      -                    "type": "integer"
      -                  }
      -                },
      -                "required": [
      -                  "currency",
      -                  "minor_units"
      -                ],
      -                "type": "object"
      -              },
      -              "kind": {
      -                "const": "exact",
      -                "type": "string"
      -              }
      -            },
      -            "required": [
      -              "kind",
      -              "amount"
      -            ],
      -            "type": "object"
      -          },
      -          {
      -            "additionalProperties": false,
      -            "properties": {
      -              "amount": {
      -                "additionalProperties": false,
      -                "properties": {
      -                  "currency": {
      -                    "pattern": "^[A-Z]{3}$",
      -                    "type": "string"
      -                  },
      -                  "minor_units": {
      -                    "maximum": 9007199254740991,
      -                    "minimum": 0,
      -                    "type": "integer"
      -                  }
      -                },
      -                "required": [
      -                  "currency",
      -                  "minor_units"
      -                ],
      -                "type": "object"
      -              },
      -              "kind": {
      -                "const": "up-to",
      -                "type": "string"
      -              }
      -            },
      -            "required": [
      -              "kind",
      -              "amount"
      -            ],
      -            "type": "object"
      -          },
      -          {
      -            "additionalProperties": false,
      -            "properties": {
      -              "amount": {
      -                "additionalProperties": false,
      -                "properties": {
      -                  "currency": {
      -                    "pattern": "^[A-Z]{3}$",
      -                    "type": "string"
      -                  },
      -                  "minor_units": {
      -                    "maximum": 9007199254740991,
      -                    "minimum": 0,
      -                    "type": "integer"
      -                  }
      -                },
      -                "required": [
      -                  "currency",
      -                  "minor_units"
      -                ],
      -                "type": "object"
      -              },
      -              "kind": {
      -                "const": "at-least",
      -                "type": "string"
      -              }
      -            },
      -            "required": [
      -              "kind",
      -              "amount"
      -            ],
      -            "type": "object"
      -          },
      -          {
      -            "additionalProperties": false,
      -            "properties": {
      -              "kind": {
      -                "const": "range",
      -                "type": "string"
      -              },
      -              "maximum": {
      -                "additionalProperties": false,
      -                "properties": {
      -                  "currency": {
      -                    "pattern": "^[A-Z]{3}$",
      -                    "type": "string"
      -                  },
      -                  "minor_units": {
      -                    "maximum": 9007199254740991,
      -                    "minimum": 0,
      -                    "type": "integer"
      -                  }
      -                },
      -                "required": [
      -                  "currency",
      -                  "minor_units"
      -                ],
      -                "type": "object"
      -              },
      -              "minimum": {
      -                "additionalProperties": false,
      -                "properties": {
      -                  "currency": {
      -                    "pattern": "^[A-Z]{3}$",
      -                    "type": "string"
      -                  },
      -                  "minor_units": {
      -                    "maximum": 9007199254740991,
      -                    "minimum": 0,
      -                    "type": "integer"
      -                  }
      -                },
      -                "required": [
      -                  "currency",
      -                  "minor_units"
      -                ],
      -                "type": "object"
      -              }
      -            },
      -            "required": [
      -              "kind",
      -              "minimum",
      -              "maximum"
      -            ],
      -            "type": "object"
      -          }
      -        ]
      -      }
      -    },
      -    "required": [
      -      "benefit_id",
      -      "description",
      -      "kind",
      -      "value"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "applies_to": {
      -        "maxLength": 240,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "benefit_id": {
      -        "pattern": "^[a-z0-9][a-z0-9_-]*$",
      -        "type": "string"
      -      },
      -      "description": {
      -        "maxLength": 500,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "duration": {
      -        "oneOf": [
      -          {
      -            "additionalProperties": false,
      -            "properties": {
      -              "kind": {
      -                "const": "exact",
      -                "type": "string"
      -              },
      -              "value": {
      -                "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
      -                "type": "string"
      -              }
      -            },
      -            "required": [
      -              "kind",
      -              "value"
      -            ],
      -            "type": "object"
      -          },
      -          {
      -            "additionalProperties": false,
      -            "properties": {
      -              "kind": {
      -                "const": "up-to",
      -                "type": "string"
      -              },
      -              "value": {
      -                "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
      -                "type": "string"
      -              }
      -            },
      -            "required": [
      -              "kind",
      -              "value"
      -            ],
      -            "type": "object"
      -          },
      -          {
      -            "additionalProperties": false,
      -            "properties": {
      -              "kind": {
      -                "const": "at-least",
      -                "type": "string"
      -              },
      -              "value": {
      -                "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
      -                "type": "string"
      -              }
      -            },
      -            "required": [
      -              "kind",
      -              "value"
      -            ],
      -            "type": "object"
      -          }
      -        ]
      -      },
      -      "kind": {
      -        "const": "discount",
      -        "type": "string"
      -      },
      -      "percentage": {
      -        "oneOf": [
      -          {
      -            "additionalProperties": false,
      -            "properties": {
      -              "basis_points": {
      -                "maximum": 10000,
      -                "minimum": 1,
      -                "type": "integer"
      -              },
      -              "kind": {
      -                "const": "exact",
      -                "type": "string"
      -              }
      -            },
      -            "required": [
      -              "kind",
      -              "basis_points"
      -            ],
      -            "type": "object"
      -          },
      -          {
      -            "additionalProperties": false,
      -            "properties": {
      -              "basis_points": {
      -                "maximum": 10000,
      -                "minimum": 1,
      -                "type": "integer"
      -              },
      -              "kind": {
      -                "const": "up-to",
      -                "type": "string"
      -              }
      -            },
      -            "required": [
      -              "kind",
      -              "basis_points"
      -            ],
      -            "type": "object"
      -          },
      -          {
      -            "additionalProperties": false,
      -            "properties": {
      -              "basis_points": {
      -                "maximum": 10000,
      -                "minimum": 1,
      -                "type": "integer"
      -              },
      -              "kind": {
      -                "const": "at-least",
      -                "type": "string"
      -              }
      -            },
      -            "required": [
      -              "kind",
      -              "basis_points"
      -            ],
      -            "type": "object"
      -          },
      -          {
      -            "additionalProperties": false,
      -            "properties": {
      -              "kind": {
      -                "const": "range",
      -                "type": "string"
      -              },
      -              "maximum_basis_points": {
      -                "maximum": 10000,
      -                "minimum": 1,
      -                "type": "integer"
      -              },
      -              "minimum_basis_points": {
      -                "maximum": 10000,
      -                "minimum": 1,
      -                "type": "integer"
      -              }
      -            },
      -            "required": [
      -              "kind",
      -              "minimum_basis_points",
      -              "maximum_basis_points"
      -            ],
      -            "type": "object"
      -          }
      -        ]
      -      }
      -    },
      -    "required": [
      -      "benefit_id",
      -      "description",
      -      "kind",
      -      "percentage"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "benefit_id": {
      -        "pattern": "^[a-z0-9][a-z0-9_-]*$",
      -        "type": "string"
      -      },
      -      "description": {
      -        "maxLength": 500,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "duration": {
      -        "oneOf": [
      -          {
      -            "additionalProperties": false,
      -            "properties": {
      -              "kind": {
      -                "const": "exact",
      -                "type": "string"
      -              },
      -              "value": {
      -                "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
      -                "type": "string"
      -              }
      -            },
      -            "required": [
      -              "kind",
      -              "value"
      -            ],
      -            "type": "object"
      -          },
      -          {
      -            "additionalProperties": false,
      -            "properties": {
      -              "kind": {
      -                "const": "up-to",
      -                "type": "string"
      -              },
      -              "value": {
      -                "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
      -                "type": "string"
      -              }
      -            },
      -            "required": [
      -              "kind",
      -              "value"
      -            ],
      -            "type": "object"
      -          },
      -          {
      -            "additionalProperties": false,
      -            "properties": {
      -              "kind": {
      -                "const": "at-least",
      -                "type": "string"
      -              },
      -              "value": {
      -                "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
      -                "type": "string"
      -              }
      -            },
      -            "required": [
      -              "kind",
      -              "value"
      -            ],
      -            "type": "object"
      -          }
      -        ]
      -      },
      -      "kind": {
      -        "const": "cashback",
      -        "type": "string"
      -      },
      -      "value": {
      -        "oneOf": [
      -          {
      -            "additionalProperties": false,
      -            "properties": {
      -              "kind": {
      -                "const": "money",
      -                "type": "string"
      -              },
      -              "value": {
      -                "oneOf": [
      -                  {
      -                    "additionalProperties": false,
      -                    "properties": {
      -                      "amount": {
      -                        "additionalProperties": false,
      -                        "properties": {
      -                          "currency": {
      -                            "pattern": "^[A-Z]{3}$",
      -                            "type": "string"
      -                          },
      -                          "minor_units": {
      -                            "maximum": 9007199254740991,
      -                            "minimum": 0,
      -                            "type": "integer"
      -                          }
      -                        },
      -                        "required": [
      -                          "currency",
      -                          "minor_units"
      -                        ],
      -                        "type": "object"
      -                      },
      -                      "kind": {
      -                        "const": "exact",
      -                        "type": "string"
      -                      }
      -                    },
      -                    "required": [
      -                      "kind",
      -                      "amount"
      -                    ],
      -                    "type": "object"
      -                  },
      -                  {
      -                    "additionalProperties": false,
      -                    "properties": {
      -                      "amount": {
      -                        "additionalProperties": false,
      -                        "properties": {
      -                          "currency": {
      -                            "pattern": "^[A-Z]{3}$",
      -                            "type": "string"
      -                          },
      -                          "minor_units": {
      -                            "maximum": 9007199254740991,
      -                            "minimum": 0,
      -                            "type": "integer"
      -                          }
      -                        },
      -                        "required": [
      -                          "currency",
      -                          "minor_units"
      -                        ],
      -                        "type": "object"
      -                      },
      -                      "kind": {
      -                        "const": "up-to",
      -                        "type": "string"
      -                      }
      -                    },
      -                    "required": [
      -                      "kind",
      -                      "amount"
      -                    ],
      -                    "type": "object"
      -                  },
      -                  {
      -                    "additionalProperties": false,
      -                    "properties": {
      -                      "amount": {
      -                        "additionalProperties": false,
      -                        "properties": {
      -                          "currency": {
      -                            "pattern": "^[A-Z]{3}$",
      -                            "type": "string"
      -                          },
      -                          "minor_units": {
      -                            "maximum": 9007199254740991,
      -                            "minimum": 0,
      -                            "type": "integer"
      -                          }
      -                        },
      -                        "required": [
      -                          "currency",
      -                          "minor_units"
      -                        ],
      -                        "type": "object"
      -                      },
      -                      "kind": {
      -                        "const": "at-least",
      -                        "type": "string"
      -                      }
      -                    },
      -                    "required": [
      -                      "kind",
      -                      "amount"
      -                    ],
      -                    "type": "object"
      -                  },
      -                  {
      -                    "additionalProperties": false,
      -                    "properties": {
      -                      "kind": {
      -                        "const": "range",
      -                        "type": "string"
      -                      },
      -                      "maximum": {
      -                        "additionalProperties": false,
      -                        "properties": {
      -                          "currency": {
      -                            "pattern": "^[A-Z]{3}$",
      -                            "type": "string"
      -                          },
      -                          "minor_units": {
      -                            "maximum": 9007199254740991,
      -                            "minimum": 0,
      -                            "type": "integer"
      -                          }
      -                        },
      -                        "required": [
      -                          "currency",
      -                          "minor_units"
      -                        ],
      -                        "type": "object"
      -                      },
      -                      "minimum": {
      -                        "additionalProperties": false,
      -                        "properties": {
      -                          "currency": {
      -                            "pattern": "^[A-Z]{3}$",
      -                            "type": "string"
      -                          },
      -                          "minor_units": {
      -                            "maximum": 9007199254740991,
      -                            "minimum": 0,
      -                            "type": "integer"
      -                          }
      -                        },
      -                        "required": [
      -                          "currency",
      -                          "minor_units"
      -                        ],
      -                        "type": "object"
      -                      }
      -                    },
      -                    "required": [
      -                      "kind",
      -                      "minimum",
      -                      "maximum"
      -                    ],
      -                    "type": "object"
      -                  }
      -                ]
      -              }
      -            },
      -            "required": [
      -              "kind",
      -              "value"
      -            ],
      -            "type": "object"
      -          },
      -          {
      -            "additionalProperties": false,
      -            "properties": {
      -              "kind": {
      -                "const": "percentage",
      -                "type": "string"
      -              },
      -              "value": {
      -                "oneOf": [
      -                  {
      -                    "additionalProperties": false,
      -                    "properties": {
      -                      "basis_points": {
      -                        "maximum": 10000,
      -                        "minimum": 1,
      -                        "type": "integer"
      -                      },
      -                      "kind": {
      -                        "const": "exact",
      -                        "type": "string"
      -                      }
      -                    },
      -                    "required": [
      -                      "kind",
      -                      "basis_points"
      -                    ],
      -                    "type": "object"
      -                  },
      -                  {
      -                    "additionalProperties": false,
      -                    "properties": {
      -                      "basis_points": {
      -                        "maximum": 10000,
      -                        "minimum": 1,
      -                        "type": "integer"
      -                      },
      -                      "kind": {
      -                        "const": "up-to",
      -                        "type": "string"
      -                      }
      -                    },
      -                    "required": [
      -                      "kind",
      -                      "basis_points"
      -                    ],
      -                    "type": "object"
      -                  },
      -                  {
      -                    "additionalProperties": false,
      -                    "properties": {
      -                      "basis_points": {
      -                        "maximum": 10000,
      -                        "minimum": 1,
      -                        "type": "integer"
      -                      },
      -                      "kind": {
      -                        "const": "at-least",
      -                        "type": "string"
      -                      }
      -                    },
      -                    "required": [
      -                      "kind",
      -                      "basis_points"
      -                    ],
      -                    "type": "object"
      -                  },
      -                  {
      -                    "additionalProperties": false,
      -                    "properties": {
      -                      "kind": {
      -                        "const": "range",
      -                        "type": "string"
      -                      },
      -                      "maximum_basis_points": {
      -                        "maximum": 10000,
      -                        "minimum": 1,
      -                        "type": "integer"
      -                      },
      -                      "minimum_basis_points": {
      -                        "maximum": 10000,
      -                        "minimum": 1,
      -                        "type": "integer"
      -                      }
      -                    },
      -                    "required": [
      -                      "kind",
      -                      "minimum_basis_points",
      -                      "maximum_basis_points"
      -                    ],
      -                    "type": "object"
      -                  }
      -                ]
      -              }
      -            },
      -            "required": [
      -              "kind",
      -              "value"
      -            ],
      -            "type": "object"
      -          }
      -        ]
      -      }
      -    },
      -    "required": [
      -      "benefit_id",
      -      "description",
      -      "kind",
      -      "value"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "benefit_id": {
      -        "pattern": "^[a-z0-9][a-z0-9_-]*$",
      -        "type": "string"
      -      },
      -      "description": {
      -        "maxLength": 500,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "kind": {
      -        "const": "waiver",
      -        "type": "string"
      -      },
      -      "waived_item": {
      -        "maxLength": 240,
      -        "minLength": 1,
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "benefit_id",
      -      "description",
      -      "kind",
      -      "waived_item"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "benefit_id": {
      -        "pattern": "^[a-z0-9][a-z0-9_-]*$",
      -        "type": "string"
      -      },
      -      "description": {
      -        "maxLength": 500,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "duration": {
      -        "oneOf": [
      -          {
      -            "additionalProperties": false,
      -            "properties": {
      -              "kind": {
      -                "const": "exact",
      -                "type": "string"
      -              },
      -              "value": {
      -                "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
      -                "type": "string"
      -              }
      -            },
      -            "required": [
      -              "kind",
      -              "value"
      -            ],
      -            "type": "object"
      -          },
      -          {
      -            "additionalProperties": false,
      -            "properties": {
      -              "kind": {
      -                "const": "up-to",
      -                "type": "string"
      -              },
      -              "value": {
      -                "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
      -                "type": "string"
      -              }
      -            },
      -            "required": [
      -              "kind",
      -              "value"
      -            ],
      -            "type": "object"
      -          },
      -          {
      -            "additionalProperties": false,
      -            "properties": {
      -              "kind": {
      -                "const": "at-least",
      -                "type": "string"
      -              },
      -              "value": {
      -                "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
      -                "type": "string"
      -              }
      -            },
      -            "required": [
      -              "kind",
      -              "value"
      -            ],
      -            "type": "object"
      -          }
      -        ]
      -      },
      -      "kind": {
      -        "const": "free-service",
      -        "type": "string"
      -      },
      -      "service": {
      -        "maxLength": 240,
      -        "minLength": 1,
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "benefit_id",
      -      "description",
      -      "kind",
      -      "service"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "benefit_id": {
      -        "pattern": "^[a-z0-9][a-z0-9_-]*$",
      -        "type": "string"
      -      },
      -      "description": {
      -        "maxLength": 500,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "kind": {
      -        "const": "other",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "benefit_id",
      -      "description",
      -      "kind"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "benefit_id": {
      +        "pattern": "^[a-z0-9][a-z0-9_-]*$",
      +        "type": "string"
      +      },
      +      "description": {
      +        "maxLength": 500,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "duration": {
      +        "oneOf": [
      +          {
      +            "additionalProperties": false,
      +            "properties": {
      +              "kind": {
      +                "const": "exact",
      +                "type": "string"
      +              },
      +              "value": {
      +                "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "kind",
      +              "value"
      +            ],
      +            "type": "object"
      +          },
      +          {
      +            "additionalProperties": false,
      +            "properties": {
      +              "kind": {
      +                "const": "up-to",
      +                "type": "string"
      +              },
      +              "value": {
      +                "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "kind",
      +              "value"
      +            ],
      +            "type": "object"
      +          },
      +          {
      +            "additionalProperties": false,
      +            "properties": {
      +              "kind": {
      +                "const": "at-least",
      +                "type": "string"
      +              },
      +              "value": {
      +                "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "kind",
      +              "value"
      +            ],
      +            "type": "object"
      +          },
      +          {
      +            "additionalProperties": false,
      +            "properties": {
      +              "kind": {
      +                "const": "range",
      +                "type": "string"
      +              },
      +              "maximum": {
      +                "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
      +                "type": "string"
      +              },
      +              "minimum": {
      +                "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "kind",
      +              "minimum",
      +              "maximum"
      +            ],
      +            "type": "object"
      +          }
      +        ]
      +      },
      +      "kind": {
      +        "const": "credit",
      +        "type": "string"
      +      },
      +      "value": {
      +        "oneOf": [
      +          {
      +            "additionalProperties": false,
      +            "properties": {
      +              "amount": {
      +                "additionalProperties": false,
      +                "properties": {
      +                  "currency": {
      +                    "pattern": "^[A-Z]{3}$",
      +                    "type": "string"
      +                  },
      +                  "minor_units": {
      +                    "maximum": 9007199254740991,
      +                    "minimum": 0,
      +                    "type": "integer"
      +                  }
      +                },
      +                "required": [
      +                  "currency",
      +                  "minor_units"
      +                ],
      +                "type": "object"
      +              },
      +              "kind": {
      +                "const": "exact",
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "kind",
      +              "amount"
      +            ],
      +            "type": "object"
      +          },
      +          {
      +            "additionalProperties": false,
      +            "properties": {
      +              "amount": {
      +                "additionalProperties": false,
      +                "properties": {
      +                  "currency": {
      +                    "pattern": "^[A-Z]{3}$",
      +                    "type": "string"
      +                  },
      +                  "minor_units": {
      +                    "maximum": 9007199254740991,
      +                    "minimum": 0,
      +                    "type": "integer"
      +                  }
      +                },
      +                "required": [
      +                  "currency",
      +                  "minor_units"
      +                ],
      +                "type": "object"
      +              },
      +              "kind": {
      +                "const": "up-to",
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "kind",
      +              "amount"
      +            ],
      +            "type": "object"
      +          },
      +          {
      +            "additionalProperties": false,
      +            "properties": {
      +              "amount": {
      +                "additionalProperties": false,
      +                "properties": {
      +                  "currency": {
      +                    "pattern": "^[A-Z]{3}$",
      +                    "type": "string"
      +                  },
      +                  "minor_units": {
      +                    "maximum": 9007199254740991,
      +                    "minimum": 0,
      +                    "type": "integer"
      +                  }
      +                },
      +                "required": [
      +                  "currency",
      +                  "minor_units"
      +                ],
      +                "type": "object"
      +              },
      +              "kind": {
      +                "const": "at-least",
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "kind",
      +              "amount"
      +            ],
      +            "type": "object"
      +          },
      +          {
      +            "additionalProperties": false,
      +            "properties": {
      +              "kind": {
      +                "const": "range",
      +                "type": "string"
      +              },
      +              "maximum": {
      +                "additionalProperties": false,
      +                "properties": {
      +                  "currency": {
      +                    "pattern": "^[A-Z]{3}$",
      +                    "type": "string"
      +                  },
      +                  "minor_units": {
      +                    "maximum": 9007199254740991,
      +                    "minimum": 0,
      +                    "type": "integer"
      +                  }
      +                },
      +                "required": [
      +                  "currency",
      +                  "minor_units"
      +                ],
      +                "type": "object"
      +              },
      +              "minimum": {
      +                "additionalProperties": false,
      +                "properties": {
      +                  "currency": {
      +                    "pattern": "^[A-Z]{3}$",
      +                    "type": "string"
      +                  },
      +                  "minor_units": {
      +                    "maximum": 9007199254740991,
      +                    "minimum": 0,
      +                    "type": "integer"
      +                  }
      +                },
      +                "required": [
      +                  "currency",
      +                  "minor_units"
      +                ],
      +                "type": "object"
      +              }
      +            },
      +            "required": [
      +              "kind",
      +              "minimum",
      +              "maximum"
      +            ],
      +            "type": "object"
      +          }
      +        ]
      +      }
      +    },
      +    "required": [
      +      "benefit_id",
      +      "description",
      +      "kind",
      +      "value"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "applies_to": {
      +        "maxLength": 240,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "benefit_id": {
      +        "pattern": "^[a-z0-9][a-z0-9_-]*$",
      +        "type": "string"
      +      },
      +      "description": {
      +        "maxLength": 500,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "duration": {
      +        "oneOf": [
      +          {
      +            "additionalProperties": false,
      +            "properties": {
      +              "kind": {
      +                "const": "exact",
      +                "type": "string"
      +              },
      +              "value": {
      +                "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "kind",
      +              "value"
      +            ],
      +            "type": "object"
      +          },
      +          {
      +            "additionalProperties": false,
      +            "properties": {
      +              "kind": {
      +                "const": "up-to",
      +                "type": "string"
      +              },
      +              "value": {
      +                "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "kind",
      +              "value"
      +            ],
      +            "type": "object"
      +          },
      +          {
      +            "additionalProperties": false,
      +            "properties": {
      +              "kind": {
      +                "const": "at-least",
      +                "type": "string"
      +              },
      +              "value": {
      +                "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "kind",
      +              "value"
      +            ],
      +            "type": "object"
      +          },
      +          {
      +            "additionalProperties": false,
      +            "properties": {
      +              "kind": {
      +                "const": "range",
      +                "type": "string"
      +              },
      +              "maximum": {
      +                "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
      +                "type": "string"
      +              },
      +              "minimum": {
      +                "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "kind",
      +              "minimum",
      +              "maximum"
      +            ],
      +            "type": "object"
      +          }
      +        ]
      +      },
      +      "kind": {
      +        "const": "discount",
      +        "type": "string"
      +      },
      +      "percentage": {
      +        "oneOf": [
      +          {
      +            "additionalProperties": false,
      +            "properties": {
      +              "basis_points": {
      +                "maximum": 10000,
      +                "minimum": 1,
      +                "type": "integer"
      +              },
      +              "kind": {
      +                "const": "exact",
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "kind",
      +              "basis_points"
      +            ],
      +            "type": "object"
      +          },
      +          {
      +            "additionalProperties": false,
      +            "properties": {
      +              "basis_points": {
      +                "maximum": 10000,
      +                "minimum": 1,
      +                "type": "integer"
      +              },
      +              "kind": {
      +                "const": "up-to",
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "kind",
      +              "basis_points"
      +            ],
      +            "type": "object"
      +          },
      +          {
      +            "additionalProperties": false,
      +            "properties": {
      +              "basis_points": {
      +                "maximum": 10000,
      +                "minimum": 1,
      +                "type": "integer"
      +              },
      +              "kind": {
      +                "const": "at-least",
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "kind",
      +              "basis_points"
      +            ],
      +            "type": "object"
      +          },
      +          {
      +            "additionalProperties": false,
      +            "properties": {
      +              "kind": {
      +                "const": "range",
      +                "type": "string"
      +              },
      +              "maximum_basis_points": {
      +                "maximum": 10000,
      +                "minimum": 1,
      +                "type": "integer"
      +              },
      +              "minimum_basis_points": {
      +                "maximum": 10000,
      +                "minimum": 1,
      +                "type": "integer"
      +              }
      +            },
      +            "required": [
      +              "kind",
      +              "minimum_basis_points",
      +              "maximum_basis_points"
      +            ],
      +            "type": "object"
      +          }
      +        ]
      +      }
      +    },
      +    "required": [
      +      "benefit_id",
      +      "description",
      +      "kind",
      +      "percentage"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "benefit_id": {
      +        "pattern": "^[a-z0-9][a-z0-9_-]*$",
      +        "type": "string"
      +      },
      +      "description": {
      +        "maxLength": 500,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "duration": {
      +        "oneOf": [
      +          {
      +            "additionalProperties": false,
      +            "properties": {
      +              "kind": {
      +                "const": "exact",
      +                "type": "string"
      +              },
      +              "value": {
      +                "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "kind",
      +              "value"
      +            ],
      +            "type": "object"
      +          },
      +          {
      +            "additionalProperties": false,
      +            "properties": {
      +              "kind": {
      +                "const": "up-to",
      +                "type": "string"
      +              },
      +              "value": {
      +                "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "kind",
      +              "value"
      +            ],
      +            "type": "object"
      +          },
      +          {
      +            "additionalProperties": false,
      +            "properties": {
      +              "kind": {
      +                "const": "at-least",
      +                "type": "string"
      +              },
      +              "value": {
      +                "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "kind",
      +              "value"
      +            ],
      +            "type": "object"
      +          },
      +          {
      +            "additionalProperties": false,
      +            "properties": {
      +              "kind": {
      +                "const": "range",
      +                "type": "string"
      +              },
      +              "maximum": {
      +                "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
      +                "type": "string"
      +              },
      +              "minimum": {
      +                "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "kind",
      +              "minimum",
      +              "maximum"
      +            ],
      +            "type": "object"
      +          }
      +        ]
      +      },
      +      "kind": {
      +        "const": "cashback",
      +        "type": "string"
      +      },
      +      "value": {
      +        "oneOf": [
      +          {
      +            "additionalProperties": false,
      +            "properties": {
      +              "kind": {
      +                "const": "money",
      +                "type": "string"
      +              },
      +              "value": {
      +                "oneOf": [
      +                  {
      +                    "additionalProperties": false,
      +                    "properties": {
      +                      "amount": {
      +                        "additionalProperties": false,
      +                        "properties": {
      +                          "currency": {
      +                            "pattern": "^[A-Z]{3}$",
      +                            "type": "string"
      +                          },
      +                          "minor_units": {
      +                            "maximum": 9007199254740991,
      +                            "minimum": 0,
      +                            "type": "integer"
      +                          }
      +                        },
      +                        "required": [
      +                          "currency",
      +                          "minor_units"
      +                        ],
      +                        "type": "object"
      +                      },
      +                      "kind": {
      +                        "const": "exact",
      +                        "type": "string"
      +                      }
      +                    },
      +                    "required": [
      +                      "kind",
      +                      "amount"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  {
      +                    "additionalProperties": false,
      +                    "properties": {
      +                      "amount": {
      +                        "additionalProperties": false,
      +                        "properties": {
      +                          "currency": {
      +                            "pattern": "^[A-Z]{3}$",
      +                            "type": "string"
      +                          },
      +                          "minor_units": {
      +                            "maximum": 9007199254740991,
      +                            "minimum": 0,
      +                            "type": "integer"
      +                          }
      +                        },
      +                        "required": [
      +                          "currency",
      +                          "minor_units"
      +                        ],
      +                        "type": "object"
      +                      },
      +                      "kind": {
      +                        "const": "up-to",
      +                        "type": "string"
      +                      }
      +                    },
      +                    "required": [
      +                      "kind",
      +                      "amount"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  {
      +                    "additionalProperties": false,
      +                    "properties": {
      +                      "amount": {
      +                        "additionalProperties": false,
      +                        "properties": {
      +                          "currency": {
      +                            "pattern": "^[A-Z]{3}$",
      +                            "type": "string"
      +                          },
      +                          "minor_units": {
      +                            "maximum": 9007199254740991,
      +                            "minimum": 0,
      +                            "type": "integer"
      +                          }
      +                        },
      +                        "required": [
      +                          "currency",
      +                          "minor_units"
      +                        ],
      +                        "type": "object"
      +                      },
      +                      "kind": {
      +                        "const": "at-least",
      +                        "type": "string"
      +                      }
      +                    },
      +                    "required": [
      +                      "kind",
      +                      "amount"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  {
      +                    "additionalProperties": false,
      +                    "properties": {
      +                      "kind": {
      +                        "const": "range",
      +                        "type": "string"
      +                      },
      +                      "maximum": {
      +                        "additionalProperties": false,
      +                        "properties": {
      +                          "currency": {
      +                            "pattern": "^[A-Z]{3}$",
      +                            "type": "string"
      +                          },
      +                          "minor_units": {
      +                            "maximum": 9007199254740991,
      +                            "minimum": 0,
      +                            "type": "integer"
      +                          }
      +                        },
      +                        "required": [
      +                          "currency",
      +                          "minor_units"
      +                        ],
      +                        "type": "object"
      +                      },
      +                      "minimum": {
      +                        "additionalProperties": false,
      +                        "properties": {
      +                          "currency": {
      +                            "pattern": "^[A-Z]{3}$",
      +                            "type": "string"
      +                          },
      +                          "minor_units": {
      +                            "maximum": 9007199254740991,
      +                            "minimum": 0,
      +                            "type": "integer"
      +                          }
      +                        },
      +                        "required": [
      +                          "currency",
      +                          "minor_units"
      +                        ],
      +                        "type": "object"
      +                      }
      +                    },
      +                    "required": [
      +                      "kind",
      +                      "minimum",
      +                      "maximum"
      +                    ],
      +                    "type": "object"
      +                  }
      +                ]
      +              }
      +            },
      +            "required": [
      +              "kind",
      +              "value"
      +            ],
      +            "type": "object"
      +          },
      +          {
      +            "additionalProperties": false,
      +            "properties": {
      +              "kind": {
      +                "const": "percentage",
      +                "type": "string"
      +              },
      +              "value": {
      +                "oneOf": [
      +                  {
      +                    "additionalProperties": false,
      +                    "properties": {
      +                      "basis_points": {
      +                        "maximum": 10000,
      +                        "minimum": 1,
      +                        "type": "integer"
      +                      },
      +                      "kind": {
      +                        "const": "exact",
      +                        "type": "string"
      +                      }
      +                    },
      +                    "required": [
      +                      "kind",
      +                      "basis_points"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  {
      +                    "additionalProperties": false,
      +                    "properties": {
      +                      "basis_points": {
      +                        "maximum": 10000,
      +                        "minimum": 1,
      +                        "type": "integer"
      +                      },
      +                      "kind": {
      +                        "const": "up-to",
      +                        "type": "string"
      +                      }
      +                    },
      +                    "required": [
      +                      "kind",
      +                      "basis_points"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  {
      +                    "additionalProperties": false,
      +                    "properties": {
      +                      "basis_points": {
      +                        "maximum": 10000,
      +                        "minimum": 1,
      +                        "type": "integer"
      +                      },
      +                      "kind": {
      +                        "const": "at-least",
      +                        "type": "string"
      +                      }
      +                    },
      +                    "required": [
      +                      "kind",
      +                      "basis_points"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  {
      +                    "additionalProperties": false,
      +                    "properties": {
      +                      "kind": {
      +                        "const": "range",
      +                        "type": "string"
      +                      },
      +                      "maximum_basis_points": {
      +                        "maximum": 10000,
      +                        "minimum": 1,
      +                        "type": "integer"
      +                      },
      +                      "minimum_basis_points": {
      +                        "maximum": 10000,
      +                        "minimum": 1,
      +                        "type": "integer"
      +                      }
      +                    },
      +                    "required": [
      +                      "kind",
      +                      "minimum_basis_points",
      +                      "maximum_basis_points"
      +                    ],
      +                    "type": "object"
      +                  }
      +                ]
      +              }
      +            },
      +            "required": [
      +              "kind",
      +              "value"
      +            ],
      +            "type": "object"
      +          }
      +        ]
      +      }
      +    },
      +    "required": [
      +      "benefit_id",
      +      "description",
      +      "kind",
      +      "value"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "benefit_id": {
      +        "pattern": "^[a-z0-9][a-z0-9_-]*$",
      +        "type": "string"
      +      },
      +      "description": {
      +        "maxLength": 500,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "kind": {
      +        "const": "waiver",
      +        "type": "string"
      +      },
      +      "waived_item": {
      +        "maxLength": 240,
      +        "minLength": 1,
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "benefit_id",
      +      "description",
      +      "kind",
      +      "waived_item"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "benefit_id": {
      +        "pattern": "^[a-z0-9][a-z0-9_-]*$",
      +        "type": "string"
      +      },
      +      "description": {
      +        "maxLength": 500,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "duration": {
      +        "oneOf": [
      +          {
      +            "additionalProperties": false,
      +            "properties": {
      +              "kind": {
      +                "const": "exact",
      +                "type": "string"
      +              },
      +              "value": {
      +                "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "kind",
      +              "value"
      +            ],
      +            "type": "object"
      +          },
      +          {
      +            "additionalProperties": false,
      +            "properties": {
      +              "kind": {
      +                "const": "up-to",
      +                "type": "string"
      +              },
      +              "value": {
      +                "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "kind",
      +              "value"
      +            ],
      +            "type": "object"
      +          },
      +          {
      +            "additionalProperties": false,
      +            "properties": {
      +              "kind": {
      +                "const": "at-least",
      +                "type": "string"
      +              },
      +              "value": {
      +                "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "kind",
      +              "value"
      +            ],
      +            "type": "object"
      +          },
      +          {
      +            "additionalProperties": false,
      +            "properties": {
      +              "kind": {
      +                "const": "range",
      +                "type": "string"
      +              },
      +              "maximum": {
      +                "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
      +                "type": "string"
      +              },
      +              "minimum": {
      +                "pattern": "^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$",
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "kind",
      +              "minimum",
      +              "maximum"
      +            ],
      +            "type": "object"
      +          }
      +        ]
      +      },
      +      "kind": {
      +        "const": "free-service",
      +        "type": "string"
      +      },
      +      "service": {
      +        "maxLength": 240,
      +        "minLength": 1,
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "benefit_id",
      +      "description",
      +      "kind",
      +      "service"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "benefit_id": {
      +        "pattern": "^[a-z0-9][a-z0-9_-]*$",
      +        "type": "string"
      +      },
      +      "description": {
      +        "maxLength": 500,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "kind": {
      +        "const": "other",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "benefit_id",
      +      "description",
      +      "kind"
      +    ],
      +    "type": "object"
      +  }
      +]
  5. Changed7 schema fields changed
    • removedOutput schema / properties / data / items / properties / eligibility / properties / eligible / anyOf
      Removed value: -[
      -  {
      -    "type": "boolean"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / data / items / properties / eligibility / properties / eligible / type
      Added value: +[
      +  "boolean",
      +  "null"
      +]
    • changedOutput schema / properties / data / items / properties / entity / properties / identity_assurance / properties / verified_at / pattern
      Previous value: -"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"New value: +"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
    • changedOutput schema / properties / data / items / properties / evidence / properties / vendor_attestation / oneOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "status": {
      -        "const": "none",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "status"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "attested_at": {
      -        "format": "date-time",
      -        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      -        "type": "string"
      -      },
      -      "event_id": {
      -        "pattern": "^sha256:[a-f0-9]{64}$",
      -        "type": "string"
      -      },
      -      "status": {
      -        "const": "current",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "status",
      -      "event_id",
      -      "attested_at"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "status": {
      +        "const": "none",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "status"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "attested_at": {
      +        "format": "date-time",
      +        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      +        "type": "string"
      +      },
      +      "event_id": {
      +        "pattern": "^sha256:[a-f0-9]{64}$",
      +        "type": "string"
      +      },
      +      "status": {
      +        "const": "current",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "status",
      +      "event_id",
      +      "attested_at"
      +    ],
      +    "type": "object"
      +  }
      +]
    • changedOutput schema / properties / data / items / properties / offer / properties / effective_from / pattern
      Previous value: -"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"New value: +"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
    • changedOutput schema / properties / data / items / properties / offer / properties / effective_until / pattern
      Previous value: -"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"New value: +"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
    • changedOutput schema / properties / data / items / properties / offer / properties / terms_assurance / properties / checked_at / pattern
      Previous value: -"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"New value: +"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
  6. Changed6 schema fields changed
    • addedOutput schema / properties / data / items / properties / entity / properties / identity_assurance
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "assurance_id": {
      +      "pattern": "^[a-z0-9][a-z0-9_-]*$",
      +      "type": "string"
      +    },
      +    "coverage_policy_digest": {
      +      "pattern": "^sha256:[a-f0-9]{64}$",
      +      "type": "string"
      +    },
      +    "event_id": {
      +      "pattern": "^sha256:[a-f0-9]{64}$",
      +      "type": "string"
      +    },
      +    "identity_epoch_digest": {
      +      "pattern": "^sha256:[a-f0-9]{64}$",
      +      "type": "string"
      +    },
      +    "method_policy_digest": {
      +      "pattern": "^sha256:[a-f0-9]{64}$",
      +      "type": "string"
      +    },
      +    "receipt_digest": {
      +      "pattern": "^sha256:[a-f0-9]{64}$",
      +      "type": "string"
      +    },
      +    "status": {
      +      "const": "verified",
      +      "type": "string"
      +    },
      +    "verified_at": {
      +      "format": "date-time",
      +      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "status",
      +    "assurance_id",
      +    "verified_at",
      +    "identity_epoch_digest",
      +    "method_policy_digest",
      +    "coverage_policy_digest",
      +    "event_id",
      +    "receipt_digest"
      +  ],
      +  "type": "object"
      +}
    • removedOutput schema / properties / data / items / properties / evidence / properties / basis_event_ids / minItems
      Removed value: -1
    • removedOutput schema / properties / data / items / properties / evidence / properties / tier
      Removed value: -{
      -  "enum": [
      -    "observed",
      -    "signed",
      -    "verified"
      -  ],
      -  "type": "string"
      -}
    • addedOutput schema / properties / data / items / properties / evidence / properties / vendor_attestation
      Added value: +{
      +  "oneOf": [
      +    {
      +      "additionalProperties": false,
      +      "properties": {
      +        "status": {
      +          "const": "none",
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "status"
      +      ],
      +      "type": "object"
      +    },
      +    {
      +      "additionalProperties": false,
      +      "properties": {
      +        "attested_at": {
      +          "format": "date-time",
      +          "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      +          "type": "string"
      +        },
      +        "event_id": {
      +          "pattern": "^sha256:[a-f0-9]{64}$",
      +          "type": "string"
      +        },
      +        "status": {
      +          "const": "current",
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "status",
      +        "event_id",
      +        "attested_at"
      +      ],
      +      "type": "object"
      +    }
      +  ]
      +}
    • changedOutput schema / properties / data / items / properties / evidence / required
      Previous value: -[
      -  "tier",
      -  "freshness",
      -  "dispute",
      -  "basis_event_ids"
      -]New value: +[
      +  "freshness",
      +  "dispute",
      +  "basis_event_ids",
      +  "vendor_attestation"
      +]
    • addedOutput schema / properties / data / items / properties / offer / properties / terms_assurance
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "assurance_id": {
      +      "pattern": "^[a-z0-9][a-z0-9_-]*$",
      +      "type": "string"
      +    },
      +    "checked_at": {
      +      "format": "date-time",
      +      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      +      "type": "string"
      +    },
      +    "coverage_policy_digest": {
      +      "pattern": "^sha256:[a-f0-9]{64}$",
      +      "type": "string"
      +    },
      +    "event_id": {
      +      "pattern": "^sha256:[a-f0-9]{64}$",
      +      "type": "string"
      +    },
      +    "method_policy_digest": {
      +      "pattern": "^sha256:[a-f0-9]{64}$",
      +      "type": "string"
      +    },
      +    "receipt_digest": {
      +      "pattern": "^sha256:[a-f0-9]{64}$",
      +      "type": "string"
      +    },
      +    "revision_digest": {
      +      "pattern": "^sha256:[a-f0-9]{64}$",
      +      "type": "string"
      +    },
      +    "status": {
      +      "const": "checked",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "status",
      +    "assurance_id",
      +    "checked_at",
      +    "revision_digest",
      +    "method_policy_digest",
      +    "coverage_policy_digest",
      +    "event_id",
      +    "receipt_digest"
      +  ],
      +  "type": "object"
      +}
  7. Changed3 schema fields changed
    • addedInput schema / properties / offers / items / properties / entity
      Added value: +{
      +  "description": "Current Entity slug or immutable Entity ID.",
      +  "minLength": 1,
      +  "type": "string"
      +}
    • removedInput schema / properties / offers / items / properties / vendor
      Removed value: -{
      -  "description": "Current vendor slug or immutable entity ID.",
      -  "minLength": 1,
      -  "type": "string"
      -}
    • changedInput schema / properties / offers / items / required
      Previous value: -[
      -  "vendor",
      -  "offer"
      -]New value: +[
      +  "entity",
      +  "offer"
      +]
  8. Added

TDQS

A3.8/5.0
Behavior4/5

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

The annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior, so the safety profile is covered. The description adds a real semantic guarantee beyond them: unknown eligibility and unsupported stacking stay explicit rather than being inferred, which tells the agent how to read the comparison result. It does not say whether the call fails on unknown slugs or how unknowns are flagged, so it stops short of full disclosure.

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

Conciseness5/5

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

Two sentences with zero filler. The core action and its scope lead, and the caveat about unknowns is held back as the closing clause where it belongs.

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

Completeness4/5

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

An output schema exists and annotations carry the safety profile, so the description does not need to explain return values. What it does provide, the compared dimensions and the guarantee that unknown eligibility and unsupported stacking remain explicit, covers the important semantics. It omits error behavior for invalid or unknown offer slugs, which a comparison tool with 2-10 required inputs would benefit from stating.

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 description coverage is 100%: 'offers' documents the 2-10 range and ordering, and 'facts' documents typed company facts used only for explicit eligibility evaluation. The description's phrase 'including value, access requirements, eligibility, freshness, and evidence' loosely maps to what facts feed, but adds no syntax or format meaning beyond the schema. Baseline 3 for a fully described schema.

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

Purpose4/5

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

Names a specific verb and resource ('Compare two to ten startup credit or deal offers side by side') and enumerates the comparison dimensions: value, access requirements, eligibility, freshness, evidence. That clearly separates it from search_offers or inspect_evidence, though those siblings are never named, so the differentiation is implied rather than stated.

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

Usage Guidelines3/5

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

The two-to-ten bound and 'compare in this order' hint at when this tool applies, but there is no explicit guidance on when to use compare_offers instead of search_offers or inspect_evidence, nor any stated prerequisites (for example, that offer slugs must already be known). Usage is inferable but not spelled out.

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.