Open Context Protocol is live! 🚀 Read the launch post

getCoupons

List all coupons

Details

  • Method: GET
  • Path: /v1/coupons
  • Operation ID: GetCoupons

Parameters

{
  "created": {
    "description": "A filter on the list, based on the object `created` field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with a number of different query options.",
    "required": false,
    "location": "query",
    "type": "string"
  },
  "ending_before": {
    "description": "A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
    "required": false,
    "location": "query",
    "type": "string"
  },
  "expand": {
    "description": "Specifies which fields in the response should be expanded.",
    "required": false,
    "location": "query",
    "type": "array"
  },
  "limit": {
    "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
    "required": false,
    "location": "query",
    "type": "integer"
  },
  "starting_after": {
    "description": "A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.",
    "required": false,
    "location": "query",
    "type": "string"
  }
}

Response Schema

{
  "description": "",
  "properties": {
    "data": {
      "items": {
        "description": "A coupon contains information about a percent-off or amount-off discount you\nmight want to apply to a customer. Coupons may be applied to [subscriptions](https://api.stripe.com#subscriptions), [invoices](https://api.stripe.com#invoices),\n[checkout sessions](https://docs.stripe.com/api/checkout/sessions), [quotes](https://api.stripe.com#quotes), and more. Coupons do not work with conventional one-off [charges](https://api.stripe.com#create_charge) or [payment intents](https://docs.stripe.com/api/payment_intents).",
        "properties": {
          "amount_off": {
            "description": "Amount (in the `currency` specified) that will be taken off the subtotal of any invoices for this customer.",
            "nullable": true,
            "type": "integer"
          },
          "applies_to": {
            "description": "",
            "properties": {
              "products": {
                "description": "A list of product IDs this coupon applies to",
                "items": {
                  "maxLength": 5000,
                  "type": "string"
                },
                "type": "array"
              }
            },
            "required": [
              "products"
            ],
            "title": "CouponAppliesTo",
            "type": "object",
            "x-expandableFields": []
          },
          "created": {
            "description": "Time at which the object was created. Measured in seconds since the Unix epoch.",
            "format": "unix-time",
            "type": "integer"
          },
          "currency": {
            "description": "If `amount_off` has been set, the three-letter [ISO code for the currency](https://stripe.com/docs/currencies) of the amount to take off.",
            "format": "currency",
            "nullable": true,
            "type": "string"
          },
          "currency_options": {
            "additionalProperties": {
              "description": "",
              "properties": {
                "amount_off": {
                  "description": "Amount (in the `currency` specified) that will be taken off the subtotal of any invoices for this customer.",
                  "type": "integer"
                }
              },
              "required": [
                "amount_off"
              ],
              "title": "CouponCurrencyOption",
              "type": "object",
              "x-expandableFields": []
            },
            "description": "Coupons defined in each available currency option. 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"
          },
          "duration": {
            "description": "One of `forever`, `once`, or `repeating`. Describes how long a customer who applies this coupon will get the discount.",
            "enum": [
              "forever",
              "once",
              "repeating"
            ],
            "type": "string",
            "x-stripeBypassValidation": true
          },
          "duration_in_months": {
            "description": "If `duration` is `repeating`, the number of months the coupon applies. Null if coupon `duration` is `forever` or `once`.",
            "nullable": true,
            "type": "integer"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "type": "string"
          },
          "livemode": {
            "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.",
            "type": "boolean"
          },
          "max_redemptions": {
            "description": "Maximum number of times this coupon can be redeemed, in total, across all customers, before it is no longer valid.",
            "nullable": true,
            "type": "integer"
          },
          "metadata": {
            "additionalProperties": {
              "maxLength": 500,
              "type": "string"
            },
            "description": "Set of [key-value pairs](https://docs.stripe.com/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.",
            "nullable": true,
            "type": "object"
          },
          "name": {
            "description": "Name of the coupon displayed to customers on for instance invoices or receipts.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": [
              "coupon"
            ],
            "type": "string"
          },
          "percent_off": {
            "description": "Percent that will be taken off the subtotal of any invoices for this customer for the duration of the coupon. For example, a coupon with percent_off of 50 will make a $ (or local equivalent)100 invoice $ (or local equivalent)50 instead.",
            "nullable": true,
            "type": "number"
          },
          "redeem_by": {
            "description": "Date after which the coupon can no longer be redeemed.",
            "format": "unix-time",
            "nullable": true,
            "type": "integer"
          },
          "times_redeemed": {
            "description": "Number of times this coupon has been applied to a customer.",
            "type": "integer"
          },
          "valid": {
            "description": "Taking account of the above properties, whether this coupon can still be applied to a customer.",
            "type": "boolean"
          }
        },
        "required": [
          "created",
          "duration",
          "id",
          "livemode",
          "object",
          "times_redeemed",
          "valid"
        ],
        "title": "Coupon",
        "type": "object",
        "x-expandableFields": [
          "applies_to",
          "currency_options"
        ],
        "x-resourceId": "coupon"
      },
      "type": "array"
    },
    "has_more": {
      "description": "True if this list has another page of items after this one that can be fetched.",
      "type": "boolean"
    },
    "object": {
      "description": "String representing the object's type. Objects of the same type share the same value. Always has the value `list`.",
      "enum": [
        "list"
      ],
      "type": "string"
    },
    "url": {
      "description": "The URL where this list can be accessed.",
      "maxLength": 5000,
      "pattern": "^/v1/coupons",
      "type": "string"
    }
  },
  "required": [
    "data",
    "has_more",
    "object",
    "url"
  ],
  "title": "CouponsResourceCouponList",
  "type": "object",
  "x-expandableFields": [
    "data"
  ]
}

Usage

from ocp_agent import OCPAgent

agent = OCPAgent()
await agent.register_api('stripe')

# Call this tool
result = await agent.call_tool('getCoupons', {
    # Add required parameters here
})