{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/stripe/main/json-schema/stripe-post-coupons-coupon-request-schema.json",
  "title": "PostCouponsCouponRequest",
  "x-generated": "2026-10-12",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/stripe-coupons-api-openapi.yml#/components/schemas/PostCouponsCouponRequest",
  "type": "object",
  "properties": {
    "currency_options": {
      "additionalProperties": {
        "properties": {
          "amount_off": {
            "type": "integer"
          }
        },
        "required": [
          "amount_off"
        ],
        "title": "currency_option",
        "type": "object"
      },
      "description": "Coupons defined in each available currency option (only supported if the coupon is amount-based). Each key must be a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html) and a [supported currency](https://stripe.com/docs/currencies).",
      "type": "object"
    },
    "expand": {
      "description": "Specifies which fields in the response should be expanded.",
      "items": {
        "maxLength": 5000,
        "type": "string"
      },
      "type": "array"
    },
    "metadata": {
      "anyOf": [
        {
          "additionalProperties": {
            "type": "string"
          },
          "type": "object"
        },
        {
          "enum": [
            ""
          ],
          "type": "string"
        }
      ],
      "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
    },
    "name": {
      "description": "Name of the coupon displayed to customers on, for instance invoices, or receipts. By default the `id` is shown if `name` is not set.",
      "maxLength": 40,
      "type": "string"
    }
  }
}