{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/cash-app/main/json-schema/cash-app-offers-response-schema.json", "title": "OffersResponse", "description": "Response containing available offers for the consumer", "x-generated": "2026-10-12", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/cash-app-billing-agreements-api-openapi.yml#/components/schemas/OffersResponse", "type": "object", "properties": { "consumerMaskedEmail": { "type": "string", "description": "Masked email address of the consumer" }, "consumerAmount": { "$ref": "#/$defs/Money", "description": "Amount in consumer's currency" }, "offers": { "type": "array", "items": { "$ref": "#/$defs/Offer" }, "description": "List of available offers details" } }, "$defs": { "ConsumerOffers": { "type": "object", "properties": { "noPaymentUpfront": { "$ref": "#/$defs/ConsumerOffersNoPaymentUpfront", "description": "Information about the no payment upfront feature eligibility" } }, "description": "Consumer offers", "title": "ConsumerOffers" }, "ConsumerOffersNoPaymentUpfront": { "type": "object", "properties": { "eligible": { "type": "boolean", "description": "Indicates if the consumer is eligible for no payment upfront" }, "eligibilityLimit": { "$ref": "#/$defs/Money", "description": "The maximum amount eligible for no payment upfront" } }, "required": [ "eligible", "eligibilityLimit" ], "description": "Information about the no payment upfront feature eligibility", "title": "ConsumerOffersNoPaymentUpfront" }, "Money": { "type": "object", "properties": { "amount": { "type": "string", "description": "The amount as a string representation of a decimal number, rounded to 2 decimal places." }, "currency": { "$ref": "#/$defs/MoneyCurrency" } }, "required": [ "amount", "currency" ], "description": "Object containing amount and currency", "title": "Money" }, "MoneyCurrency": { "type": "string", "enum": [ "AUD", "NZD", "USD", "CAD", "GBP" ], "title": "MoneyCurrency" }, "Offer": { "type": "object", "properties": { "type": { "$ref": "#/$defs/OfferType", "description": "Type of the offer" }, "merchantAmount": { "$ref": "#/$defs/Money", "description": "Amount for the merchant" }, "exchangeRate": { "type": "number", "format": "double", "description": "Exchange rate for cross-border transactions" }, "amountDueToday": { "$ref": "#/$defs/Money", "description": "Amount due for immediate payment" }, "payments": { "type": "array", "items": { "$ref": "#/$defs/PaymentSchedule" }, "description": "List of scheduled payments" }, "crossBorder": { "type": "boolean", "description": "Indicates if this is a cross-border transaction" }, "appliedPromotion": { "$ref": "#/$defs/Money", "description": "Amount of promotion applied" }, "consumer": { "$ref": "#/$defs/ConsumerOffers", "description": "Consumer offer details" } }, "description": "Represents an offer with payment details", "title": "Offer" }, "OfferType": { "type": "string", "enum": [ "PAY_IN_4" ], "description": "Type of the offer", "title": "OfferType" }, "PaymentSchedule": { "type": "object", "properties": { "amount": { "$ref": "#/$defs/Money", "description": "Amount for this payment installment" }, "dueDate": { "type": "string", "format": "date", "description": "Due date for this installment" } }, "required": [ "amount", "dueDate" ], "description": "Represents a scheduled payment installment", "title": "PaymentSchedule" } } }