diff --git a/.travis.yml b/.travis.yml index 3edac9d284..39b20ee664 100644 --- a/.travis.yml +++ b/.travis.yml @@ -15,6 +15,7 @@ php: env: global: - STRIPE_MOCK_VERSION=0.39.0 + - STRIPE_MOCK_PORT=12111 matrix: - AUTOLOAD=1 - AUTOLOAD=0 @@ -37,9 +38,14 @@ before_install: tar -zxf "stripe-mock/stripe-mock_${STRIPE_MOCK_VERSION}_linux_amd64.tar.gz" -C "stripe-mock/stripe-mock_${STRIPE_MOCK_VERSION}/" fi - | - stripe-mock/stripe-mock_${STRIPE_MOCK_VERSION}/stripe-mock > /dev/null & + stripe-mock/stripe-mock_${STRIPE_MOCK_VERSION}/stripe-mock \ + -http-port ${STRIPE_MOCK_PORT} \ + -spec tests/openapi/spec3.json \ + -fixtures tests/openapi/fixtures3.json \ + > /dev/null & STRIPE_MOCK_PID=$! script: ./build.php ${AUTOLOAD} after_script: ./vendor/bin/coveralls -v + \ No newline at end of file diff --git a/init.php b/init.php index 2590305aaf..2f90236c85 100644 --- a/init.php +++ b/init.php @@ -69,6 +69,7 @@ require(dirname(__FILE__) . '/lib/BitcoinTransaction.php'); require(dirname(__FILE__) . '/lib/Card.php'); require(dirname(__FILE__) . '/lib/Charge.php'); +require(dirname(__FILE__) . '/lib/CheckoutSession.php'); require(dirname(__FILE__) . '/lib/Collection.php'); require(dirname(__FILE__) . '/lib/CountrySpec.php'); require(dirname(__FILE__) . '/lib/Coupon.php'); diff --git a/lib/CheckoutSession.php b/lib/CheckoutSession.php new file mode 100644 index 0000000000..cd551d747b --- /dev/null +++ b/lib/CheckoutSession.php @@ -0,0 +1,20 @@ + 'Stripe\\BitcoinTransaction', \Stripe\Card::OBJECT_NAME => 'Stripe\\Card', \Stripe\Charge::OBJECT_NAME => 'Stripe\\Charge', + \Stripe\CheckoutSession::OBJECT_NAME => 'Stripe\\CheckoutSession', \Stripe\CountrySpec::OBJECT_NAME => 'Stripe\\CountrySpec', \Stripe\Coupon::OBJECT_NAME => 'Stripe\\Coupon', \Stripe\Customer::OBJECT_NAME => 'Stripe\\Customer', diff --git a/tests/Stripe/CheckoutSessionTest.php b/tests/Stripe/CheckoutSessionTest.php new file mode 100644 index 0000000000..c80235494e --- /dev/null +++ b/tests/Stripe/CheckoutSessionTest.php @@ -0,0 +1,36 @@ +expectsRequest( + 'post', + '/v1/checkout_sessions' + ); + $resource = CheckoutSession::create([ + 'allowed_source_types' => ['card'], + 'cancel_url' => 'https://stripe.com/cancel', + 'client_reference_id' => '1234', + 'line_items' => [ + [ + 'amount' => 123, + 'currency' => 'usd', + 'description' => 'item 1', + 'images' => [ + 'https://stripe.com/img1', + ], + 'name' => 'name', + 'quantity' => 2, + ], + ], + 'payment_intent_data' => [ + 'receipt_email' => 'test@stripe.com', + ], + 'success_url' => 'https://stripe.com/success' + ]); + $this->assertInstanceOf('Stripe\\CheckoutSession', $resource); + } +} diff --git a/tests/Stripe/CustomerTest.php b/tests/Stripe/CustomerTest.php index 84a2be4c85..e2af6215d6 100644 --- a/tests/Stripe/CustomerTest.php +++ b/tests/Stripe/CustomerTest.php @@ -216,7 +216,6 @@ public function testCanDeleteSource() '/v1/customers/' . self::TEST_RESOURCE_ID . '/sources/' . self::TEST_SOURCE_ID ); $resource = Customer::deleteSource(self::TEST_RESOURCE_ID, self::TEST_SOURCE_ID); - $this->assertInstanceOf("Stripe\\AlipayAccount", $resource); } public function testCanListSources() diff --git a/tests/openapi/fixtures3.json b/tests/openapi/fixtures3.json new file mode 100644 index 0000000000..3479028d16 --- /dev/null +++ b/tests/openapi/fixtures3.json @@ -0,0 +1,2380 @@ +{ + "resources": { + "account": { + "business_logo": null, + "business_name": null, + "business_url": null, + "charges_enabled": false, + "country": "US", + "created": 1234567890, + "debit_negative_balances": true, + "decline_charge_on": { + "avs_failure": true, + "cvc_failure": true + }, + "default_currency": "usd", + "details_submitted": false, + "display_name": null, + "email": "site@stripe.com", + "external_accounts": { + "data": [ + + ], + "has_more": false, + "object": "list", + "total_count": 0, + "url": "/v1/accounts/acct_1DhPlHArWkzC5zpT/external_accounts" + }, + "id": "acct_1DhPlHArWkzC5zpT", + "legal_entity": { + "additional_owners": [ + + ], + "address": { + "city": null, + "country": "US", + "line1": null, + "line2": null, + "postal_code": null, + "state": null + }, + "business_name": null, + "business_tax_id_provided": false, + "dob": { + "day": null, + "month": null, + "year": null + }, + "first_name": null, + "last_name": null, + "personal_address": { + "city": null, + "country": "US", + "line1": null, + "line2": null, + "postal_code": null, + "state": null + }, + "personal_id_number_provided": false, + "ssn_last_4_provided": false, + "type": null, + "verification": { + "details": null, + "details_code": null, + "document": null, + "document_back": null, + "status": "unverified" + } + }, + "metadata": { + }, + "object": "account", + "payout_schedule": { + "delay_days": 2, + "interval": "daily" + }, + "payout_statement_descriptor": null, + "payouts_enabled": false, + "product_description": null, + "statement_descriptor": null, + "support_address": null, + "support_email": null, + "support_phone": null, + "timezone": "Etc/UTC", + "tos_acceptance": { + "date": null, + "ip": null, + "user_agent": null + }, + "type": "standard", + "verification": { + "disabled_reason": "fields_needed", + "due_by": null, + "fields_needed": [ + "business_url", + "external_account", + "legal_entity.address.city", + "legal_entity.address.line1", + "legal_entity.address.postal_code", + "legal_entity.address.state", + "legal_entity.dob.day", + "legal_entity.dob.month", + "legal_entity.dob.year", + "legal_entity.first_name", + "legal_entity.last_name", + "legal_entity.type", + "product_description", + "support_phone", + "tos_acceptance.date", + "tos_acceptance.ip" + ] + } + }, + "account_link": { + "created": 1234567890, + "expires_at": 1234567890, + "object": "account_link", + "url": "https://matt-manage-mydev.dev.stripe.me/hv/zPmVZkQ9T0fx" + }, + "alipay_account": { + "created": 1234567890, + "customer": null, + "fingerprint": "3gTsUDbzBjpyeghV", + "id": "aliacc_1DhPpbArWkzC5zpTAyxE3jwm", + "livemode": false, + "metadata": { + }, + "object": "alipay_account", + "payment_amount": 1000, + "payment_currency": "usd", + "reusable": false, + "used": false, + "username": "test@example.com" + }, + "apple_pay_domain": { + "created": 1234567890, + "domain_name": "example.com", + "id": "apwc_1DhPpbArWkzC5zpT5KacvWBs", + "livemode": true, + "object": "apple_pay_domain" + }, + "application_fee": { + "account": "acct_1DhPlHArWkzC5zpT", + "amount": 100, + "amount_refunded": 0, + "application": "ca_E9jIaUSnwL12PkHeq9UD4S69DD5PpzS7", + "balance_transaction": "txn_1DhPpbArWkzC5zpTqKiuAbKE", + "charge": "ch_1DhPlKArWkzC5zpTqoSD2arK", + "created": 1234567890, + "currency": "usd", + "id": "fee_1DhPpcArWkzC5zpT0C6AM29B", + "livemode": false, + "object": "application_fee", + "originating_transaction": null, + "refunded": false, + "refunds": { + "data": [ + + ], + "has_more": false, + "object": "list", + "total_count": 0, + "url": "/v1/application_fees/fee_1DhPpcArWkzC5zpT0C6AM29B/refunds" + } + }, + "balance": { + "available": [ + { + "amount": 0, + "currency": "usd", + "source_types": { + "card": 0 + } + } + ], + "connect_reserved": [ + { + "amount": 0, + "currency": "usd" + } + ], + "livemode": false, + "object": "balance", + "pending": [ + { + "amount": 0, + "currency": "usd", + "source_types": { + "card": 0 + } + } + ] + }, + "balance_transaction": { + "amount": 100, + "available_on": 1234567890, + "created": 1234567890, + "currency": "usd", + "description": "My First Test Charge (created for API docs)", + "exchange_rate": null, + "fee": 0, + "fee_details": [ + + ], + "id": "txn_1DhPpbArWkzC5zpTqKiuAbKE", + "net": 100, + "object": "balance_transaction", + "source": "ch_1DhPlKArWkzC5zpTqoSD2arK", + "status": "available", + "type": "charge" + }, + "bank_account": { + "account_holder_name": "Jane Austen", + "account_holder_type": "individual", + "bank_name": "STRIPE TEST BANK", + "country": "US", + "currency": "usd", + "customer": null, + "fingerprint": "Kqu3iG3sIQJUKLjW", + "id": "ba_1DhPpbArWkzC5zpTpRLz0iNN", + "last4": "6789", + "metadata": { + }, + "object": "bank_account", + "routing_number": "110000000", + "status": "new" + }, + "bitcoin_receiver": { + "active": false, + "amount": 100, + "amount_received": 0, + "bitcoin_amount": 1757908, + "bitcoin_amount_received": 0, + "bitcoin_uri": "bitcoin:test_7i9Fo4b5wXcUAuoVBFrc7nc9HDxD1?amount=0.01757908", + "created": 1234567890, + "currency": "usd", + "customer": null, + "description": "Receiver for John Doe", + "email": "test@example.com", + "filled": false, + "id": "btcrcv_1DhPlLArWkzC5zpT0lzrc1Wb", + "inbound_address": "test_7i9Fo4b5wXcUAuoVBFrc7nc9HDxD1", + "livemode": false, + "metadata": { + }, + "object": "bitcoin_receiver", + "payment": null, + "refund_address": null, + "transactions": { + "data": [ + + ], + "has_more": false, + "object": "list", + "total_count": 0, + "url": "/v1/bitcoin/receivers/btcrcv_1DhPlLArWkzC5zpT0lzrc1Wb/transactions" + }, + "uncaptured_funds": false, + "used_for_payment": false + }, + "bitcoin_transaction": { + "amount": 100, + "bitcoin_amount": 1757908, + "created": 1234567890, + "currency": "usd", + "id": "btctxn_1DhPpcArWkzC5zpTXQwo4Vtr", + "object": "bitcoin_transaction", + "receiver": "btcrcv_1DhPlLArWkzC5zpT0lzrc1Wb" + }, + "card": { + "address_city": null, + "address_country": null, + "address_line1": null, + "address_line1_check": null, + "address_line2": null, + "address_state": null, + "address_zip": null, + "address_zip_check": null, + "brand": "Visa", + "country": "US", + "customer": null, + "cvc_check": null, + "dynamic_last4": null, + "exp_month": 8, + "exp_year": 2019, + "fingerprint": "MbPKhYF1zPJ6bjh6", + "funding": "unknown", + "id": "card_1DhPlJArWkzC5zpTu4gOT0c2", + "last4": "4242", + "metadata": { + }, + "name": "Jenny Rosen", + "object": "card", + "tokenization_method": null + }, + "charge": { + "amount": 100, + "amount_refunded": 0, + "application": null, + "application_fee": null, + "balance_transaction": "txn_1DhPpbArWkzC5zpTqKiuAbKE", + "captured": false, + "created": 1234567890, + "currency": "usd", + "customer": null, + "description": "My First Test Charge (created for API docs)", + "destination": null, + "dispute": null, + "failure_code": null, + "failure_message": null, + "fraud_details": { + }, + "id": "ch_1DhPlKArWkzC5zpTqoSD2arK", + "invoice": null, + "livemode": false, + "metadata": { + }, + "object": "charge", + "on_behalf_of": null, + "order": null, + "outcome": null, + "paid": true, + "payment_intent": null, + "receipt_email": null, + "receipt_number": null, + "refunded": false, + "refunds": { + "data": [ + + ], + "has_more": false, + "object": "list", + "total_count": 0, + "url": "/v1/charges/ch_1DhPlKArWkzC5zpTqoSD2arK/refunds" + }, + "review": null, + "shipping": null, + "source": { + "address_city": null, + "address_country": null, + "address_line1": null, + "address_line1_check": null, + "address_line2": null, + "address_state": null, + "address_zip": null, + "address_zip_check": null, + "brand": "Visa", + "country": "US", + "customer": null, + "cvc_check": null, + "dynamic_last4": null, + "exp_month": 8, + "exp_year": 2019, + "fingerprint": "MbPKhYF1zPJ6bjh6", + "funding": "unknown", + "id": "card_1DhPlJArWkzC5zpTu4gOT0c2", + "last4": "4242", + "metadata": { + }, + "name": "Jenny Rosen", + "object": "card", + "tokenization_method": null + }, + "source_transfer": null, + "statement_descriptor": null, + "status": "succeeded", + "transfer_group": null + }, + "checkout_session": { + "id": "fWjkqjtOgdYYWyJWdbJiSI7yVwZy8U1XA71QK73IT1UxazGmqeQEh6t9gw5sKWtn", + "livemode": false, + "object": "checkout_session" + }, + "country_spec": { + "default_currency": "usd", + "id": "US", + "object": "country_spec", + "supported_bank_account_currencies": { + "usd": [ + "US" + ] + }, + "supported_payment_currencies": [ + "...", + "aed", + "afn", + "usd" + ], + "supported_payment_methods": [ + "card", + "stripe" + ], + "supported_transfer_countries": [ + "US" + ], + "verification_fields": { + "company": { + "additional": [ + "legal_entity.personal_id_number", + "legal_entity.verification.document" + ], + "minimum": [ + "external_account", + "legal_entity.address.city", + "legal_entity.address.line1", + "legal_entity.address.postal_code", + "legal_entity.address.state", + "legal_entity.business_name", + "legal_entity.business_tax_id", + "legal_entity.dob.day", + "legal_entity.dob.month", + "legal_entity.dob.year", + "legal_entity.first_name", + "legal_entity.last_name", + "legal_entity.ssn_last_4", + "legal_entity.type", + "tos_acceptance.date", + "tos_acceptance.ip" + ] + }, + "individual": { + "additional": [ + "legal_entity.personal_id_number", + "legal_entity.verification.document" + ], + "minimum": [ + "external_account", + "legal_entity.address.city", + "legal_entity.address.line1", + "legal_entity.address.postal_code", + "legal_entity.address.state", + "legal_entity.dob.day", + "legal_entity.dob.month", + "legal_entity.dob.year", + "legal_entity.first_name", + "legal_entity.last_name", + "legal_entity.ssn_last_4", + "legal_entity.type", + "tos_acceptance.date", + "tos_acceptance.ip" + ] + } + } + }, + "coupon": { + "amount_off": null, + "created": 1234567890, + "currency": null, + "duration": "repeating", + "duration_in_months": 3, + "id": "25_5OFF", + "livemode": false, + "max_redemptions": null, + "metadata": { + }, + "name": "25.5% off", + "object": "coupon", + "percent_off": 25.5, + "redeem_by": 1234567890, + "times_redeemed": 0, + "valid": true + }, + "customer": { + "account_balance": 0, + "created": 1234567890, + "currency": "usd", + "default_source": null, + "delinquent": false, + "description": null, + "discount": null, + "email": null, + "id": "cus_E9jDfhDSPTFIIB", + "invoice_prefix": "B4F999D", + "livemode": false, + "metadata": { + }, + "object": "customer", + "shipping": null, + "sources": { + "data": [ + + ], + "has_more": false, + "object": "list", + "total_count": 0, + "url": "/v1/customers/cus_E9jDfhDSPTFIIB/sources" + }, + "subscriptions": { + "data": [ + + ], + "has_more": false, + "object": "list", + "total_count": 0, + "url": "/v1/customers/cus_E9jDfhDSPTFIIB/subscriptions" + }, + "tax_info": null, + "tax_info_verification": null + }, + "deleted_account": { + "deleted": true, + "id": "acct_1DhPlHArWkzC5zpT", + "object": "account" + }, + "deleted_apple_pay_domain": { + "deleted": true, + "id": "apwc_1DhPpbArWkzC5zpT5KacvWBs", + "object": "apple_pay_domain" + }, + "deleted_coupon": { + "deleted": true, + "id": "25_5OFF", + "object": "coupon" + }, + "deleted_customer": { + "deleted": true, + "id": "cus_E9jDfhDSPTFIIB", + "object": "customer" + }, + "deleted_discount": { + "deleted": true, + "object": "discount" + }, + "deleted_external_account": { + "deleted": true, + "id": "ba_1DhPpbArWkzC5zpTpRLz0iNN", + "object": "bank_account" + }, + "deleted_invoice": { + "deleted": true, + "id": "in_1DhPlKArWkzC5zpTY0KoSJCn", + "object": "invoice" + }, + "deleted_invoiceitem": { + "deleted": true, + "id": "ii_1DhPpbArWkzC5zpTFFRSws8d", + "object": "invoiceitem" + }, + "deleted_payment_source": { + "deleted": true, + "id": "aliacc_1DhPpbArWkzC5zpTAyxE3jwm", + "object": "alipay_account" + }, + "deleted_person": { + "deleted": true, + "id": "person_E9jImKgRXAgctq", + "object": "person" + }, + "deleted_plan": { + "deleted": true, + "id": "gold", + "object": "plan" + }, + "deleted_product": { + "deleted": true, + "id": "prod_E9jDBEkJOaHfoF", + "object": "product" + }, + "deleted_radar.value_list": { + "deleted": true, + "id": "rsl_1DhPpdArWkzC5zpTyGha7ed8", + "object": "radar.value_list" + }, + "deleted_radar.value_list_item": { + "deleted": true, + "id": "rsli_1DhPpdArWkzC5zpTQYb0fDMI", + "object": "radar.value_list_item" + }, + "deleted_recipient": { + "deleted": true, + "id": "rp_1DhPpcArWkzC5zpTEs9DS8uh", + "object": "recipient" + }, + "deleted_sku": { + "deleted": true, + "id": "sku_E9jI33WIeXgsrh", + "object": "sku" + }, + "deleted_subscription_item": { + "deleted": true, + "id": "si_E9jIMgEGtYARbb", + "object": "subscription_item" + }, + "deleted_tax_rate_template": { + "deleted": true, + "id": "trt_1DhPpbArWkzC5zpTzRg6yKxy", + "object": "tax_rate_template" + }, + "deleted_webhook_endpoint": { + "deleted": true, + "id": "we_1DhPpcArWkzC5zpTyhsGSWbx", + "object": "webhook_endpoint" + }, + "discount": { + "coupon": { + "amount_off": null, + "created": 1544829151, + "currency": null, + "duration": "repeating", + "duration_in_months": 3, + "id": "25_5OFF", + "livemode": false, + "max_redemptions": null, + "metadata": { + }, + "name": "25.5% off", + "object": "coupon", + "percent_off": 25.5, + "redeem_by": null, + "times_redeemed": 0, + "valid": true + }, + "customer": "cus_E9jDfhDSPTFIIB", + "end": 1234567890, + "object": "discount", + "start": 1234567890, + "subscription": null + }, + "dispute": { + "amount": 1000, + "balance_transactions": [ + + ], + "charge": "ch_1DhPlKArWkzC5zpTqoSD2arK", + "created": 1234567890, + "currency": "usd", + "evidence": { + "access_activity_log": null, + "billing_address": null, + "cancellation_policy": null, + "cancellation_policy_disclosure": null, + "cancellation_rebuttal": null, + "customer_communication": null, + "customer_email_address": null, + "customer_name": null, + "customer_purchase_ip": null, + "customer_signature": null, + "duplicate_charge_documentation": null, + "duplicate_charge_explanation": null, + "duplicate_charge_id": null, + "product_description": null, + "receipt": null, + "refund_policy": null, + "refund_policy_disclosure": null, + "refund_refusal_explanation": null, + "service_date": null, + "service_documentation": null, + "shipping_address": null, + "shipping_carrier": null, + "shipping_date": null, + "shipping_documentation": null, + "shipping_tracking_number": null, + "uncategorized_file": null, + "uncategorized_text": null + }, + "evidence_details": { + "due_by": 1546473599, + "has_evidence": false, + "past_due": false, + "submission_count": 0 + }, + "id": "dp_1DhPpbArWkzC5zpTtUdSTGMy", + "is_charge_refundable": false, + "livemode": false, + "metadata": { + }, + "object": "dispute", + "reason": "general", + "status": "needs_response" + }, + "ephemeral_key": { + "created": 1234567890, + "expires": 1234567890, + "id": "ephkey_1DhPpdArWkzC5zpT0OwObkIn", + "livemode": false, + "object": "ephemeral_key" + }, + "event": { + "api_version": null, + "created": 1234567890, + "data": { + "object": { + "active": true, + "aggregate_usage": null, + "amount": 2000, + "billing_scheme": "per_unit", + "created": 1544828886, + "currency": "usd", + "id": "gold", + "interval": "month", + "interval_count": 1, + "livemode": false, + "metadata": { + }, + "nickname": null, + "object": "plan", + "product": "prod_E9jDBEkJOaHfoF", + "tiers": null, + "tiers_mode": null, + "transform_usage": null, + "trial_period_days": null, + "usage_type": "licensed" + } + }, + "id": "evt_1DhPpcArWkzC5zpTiFDQhYZD", + "livemode": false, + "object": "event", + "pending_webhooks": 0, + "request": { + "id": null, + "idempotency_key": null + }, + "type": "plan.created" + }, + "exchange_rate": { + "id": "gbp", + "object": "exchange_rate", + "rates": { + "aed": 4.8836, + "afn": 90.7871, + "all": 150.567, + "amd": 639.791, + "ang": 2.37433, + "aoa": 220.614, + "ars": 23.0687, + "aud": 1.68656, + "awg": 2.38003, + "azn": 2.24707, + "bam": 2.19721, + "bbd": 2.65926, + "bdt": 107.606, + "bgn": 2.19723, + "bif": 2328.18, + "bmd": 1.32963, + "bnd": 1.7954, + "bob": 9.19113, + "brl": 4.19668, + "bsd": 1.32963, + "bwp": 13.6282, + "bzd": 2.68119, + "cad": 1.66206, + "cdf": 2088.85, + "chf": 1.29558, + "clp": 828.858, + "cny": 8.75116, + "cop": 3903.22, + "crc": 761.955, + "cve": 123.922, + "czk": 29.0282, + "djf": 237.432, + "dkk": 8.36235, + "dop": 63.5164, + "dzd": 151.243, + "egp": 23.4274, + "etb": 36.2324, + "eur": 1.12343, + "fjd": 2.72308, + "fkp": 1.0, + "gel": 3.29436, + "gip": 1.0, + "gmd": 63.0245, + "gnf": 11966.7, + "gtq": 9.77063, + "gyd": 276.084, + "hkd": 10.3813, + "hnl": 31.1136, + "hrk": 8.43622, + "htg": 84.275, + "huf": 346.468, + "idr": 17950.2, + "ils": 4.65663, + "inr": 85.9819, + "isk": 139.594, + "jmd": 170.258, + "jpy": 148.825, + "kes": 137.373, + "kgs": 90.9651, + "khr": 5379.68, + "kmf": 551.823, + "krw": 1496.18, + "kyd": 1.10843, + "kzt": 444.522, + "lak": 11055.9, + "lbp": 2004.44, + "lkr": 204.431, + "lrd": 157.075, + "lsl": 17.7772, + "mad": 12.4971, + "mdl": 23.1543, + "mga": 4067.34, + "mkd": 69.1806, + "mmk": 1801.05, + "mnt": 3265.17, + "mop": 10.6971, + "mro": 485.315, + "mur": 45.1443, + "mvr": 20.4765, + "mwk": 965.185, + "mxn": 25.1314, + "myr": 5.60481, + "mzn": 81.1005, + "nad": 17.7705, + "ngn": 472.019, + "nio": 40.6069, + "nok": 10.4788, + "npr": 138.153, + "nzd": 1.85072, + "pab": 1.32963, + "pen": 4.31916, + "pgk": 4.22802, + "php": 68.1941, + "pkr": 139.99, + "pln": 4.77787, + "pyg": 7505.23, + "qar": 4.97282, + "ron": 5.15311, + "rsd": 133.967, + "rub": 75.9935, + "rwf": 1116.89, + "sar": 4.98608, + "sbd": 10.36, + "scr": 18.1499, + "sek": 10.7713, + "sgd": 1.79569, + "shp": 1.0, + "sll": 10162.4, + "sos": 784.482, + "srd": 9.90308, + "std": 27294.0, + "svc": 11.639, + "szl": 17.7705, + "thb": 43.9489, + "tjs": 11.7052, + "top": 2.98264, + "try": 4.82323, + "ttd": 8.91819, + "twd": 39.9999, + "tzs": 2985.28, + "uah": 35.3216, + "ugx": 4841.71, + "usd": 1.32963, + "uyu": 39.0836, + "uzs": 10710.2, + "vef": 13.3626, + "vnd": 30191.5, + "vuv": 140.724, + "wst": 3.35263, + "xaf": 736.919, + "xcd": 3.59339, + "xof": 736.919, + "xpf": 134.06, + "yer": 332.873, + "zar": 17.6519, + "zmw": 12.8442 + } + }, + "external_account": { + "account_holder_name": "Jane Austen", + "account_holder_type": "individual", + "bank_name": "STRIPE TEST BANK", + "country": "US", + "currency": "usd", + "customer": null, + "fingerprint": "Kqu3iG3sIQJUKLjW", + "id": "ba_1DhPpbArWkzC5zpTpRLz0iNN", + "last4": "6789", + "metadata": { + }, + "object": "bank_account", + "routing_number": "110000000", + "status": "new" + }, + "fee_refund": { + "amount": 100, + "balance_transaction": null, + "created": 1234567890, + "currency": "usd", + "fee": "fee_1DhPpcArWkzC5zpT0C6AM29B", + "id": "fr_1DhPpcArWkzC5zpTy5knJXDW", + "metadata": { + }, + "object": "fee_refund" + }, + "file": { + "created": 1234567890, + "filename": "file_1DhPpXArWkzC5zpTBLQ4TzJn", + "id": "file_1DhPpXArWkzC5zpTBLQ4TzJn", + "links": { + "data": [ + { + "created": 1544829147, + "expired": false, + "expires_at": null, + "file": "file_1DhPpXArWkzC5zpTBLQ4TzJn", + "id": "link_1DhPpXArWkzC5zpTyM21Nsgb", + "livemode": false, + "metadata": { + }, + "object": "file_link", + "url": "https://matt-upload-mydev.dev.stripe.me/links/fl_test_J7PFUTpm7DLQTrEDH3niRf16" + } + ], + "has_more": false, + "object": "list", + "url": "/v1/file_links?file=file_1DhPpXArWkzC5zpTBLQ4TzJn" + }, + "object": "file", + "purpose": "dispute_evidence", + "size": 9863, + "title": null, + "type": "png", + "url": "https://matt-upload-mydev.dev.stripe.me/v1/files/file_1DhPpXArWkzC5zpTBLQ4TzJn/contents" + }, + "file_link": { + "created": 1234567890, + "expired": false, + "expires_at": 1234567890, + "file": "file_1DhPpXArWkzC5zpTBLQ4TzJn", + "id": "link_1DhPpdArWkzC5zpT46zvoke8", + "livemode": false, + "metadata": { + }, + "object": "file_link", + "url": "https://matt-upload-mydev.dev.stripe.me/links/fl_test_4MK1AWRaGBIcjHoTIv0Q8aJl" + }, + "invoice": { + "amount_due": 0, + "amount_paid": 0, + "amount_remaining": 0, + "application_fee": null, + "attempt_count": 0, + "attempted": false, + "auto_advance": true, + "billing": "charge_automatically", + "billing_reason": "manual", + "charge": null, + "currency": "usd", + "customer": "cus_E9jDfhDSPTFIIB", + "date": 1234567890, + "default_source": null, + "description": null, + "discount": null, + "due_date": 1234567890, + "ending_balance": null, + "finalized_at": 1234567890, + "hosted_invoice_url": null, + "id": "in_1DhPlKArWkzC5zpTY0KoSJCn", + "invoice_pdf": null, + "lines": { + "data": [ + { + "amount": 2000, + "currency": "usd", + "description": "1 × Gold Special (at $20.00 / month)", + "discountable": true, + "id": "sli_60ba870a670e60", + "livemode": false, + "metadata": { + }, + "object": "line_item", + "period": { + "end": 1547507551, + "start": 1544829151 + }, + "plan": { + "active": true, + "aggregate_usage": null, + "amount": 2000, + "billing_scheme": "per_unit", + "created": 1544828886, + "currency": "usd", + "id": "gold", + "interval": "month", + "interval_count": 1, + "livemode": false, + "metadata": { + }, + "nickname": null, + "object": "plan", + "product": "prod_E9jDBEkJOaHfoF", + "tiers": null, + "tiers_mode": null, + "transform_usage": null, + "trial_period_days": null, + "usage_type": "licensed" + }, + "proration": false, + "quantity": 1, + "subscription": "sub_E9jIoDk3e1jDCR", + "subscription_item": "si_E9jINeRZBwze3z", + "type": "subscription" + } + ], + "has_more": false, + "object": "list", + "url": "/v1/invoices/in_1DhPlKArWkzC5zpTY0KoSJCn/lines" + }, + "livemode": false, + "metadata": { + }, + "next_payment_attempt": 1234567890, + "number": "B4F999D-0001", + "object": "invoice", + "paid": false, + "period_end": 1234567890, + "period_start": 1234567890, + "receipt_number": null, + "starting_balance": 0, + "statement_descriptor": null, + "status": "draft", + "subscription": null, + "subtotal": 0, + "tax": 0, + "tax_percent": null, + "total": 0, + "webhooks_delivered_at": 1234567890 + }, + "invoiceitem": { + "amount": 1000, + "currency": "usd", + "customer": "cus_E9jDfhDSPTFIIB", + "date": 1234567890, + "description": "My First Invoice Item (created for API docs)", + "discountable": true, + "id": "ii_1DhPpbArWkzC5zpTFFRSws8d", + "invoice": null, + "livemode": false, + "metadata": { + }, + "object": "invoiceitem", + "period": { + "end": 1544829151, + "start": 1544829151 + }, + "plan": null, + "proration": false, + "quantity": 1, + "subscription": null, + "unit_amount": 1000 + }, + "issuer_fraud_record": { + "actionable": true, + "charge": "ch_1234", + "created": 1234567890, + "fraud_type": "misc", + "has_liability_shift": false, + "id": "issfr_123456789", + "livemode": false, + "object": "issuer_fraud_record", + "post_date": 123456789 + }, + "issuing.authorization": { + "approved": true, + "authorization_method": "online", + "authorized_amount": 500, + "authorized_currency": "usd", + "balance_transactions": [ + + ], + "card": { + "authorization_controls": { + "allowed_categories": null, + "blocked_categories": null, + "currency": "usd", + "max_amount": 10000, + "max_approvals": 1 + }, + "brand": "Visa", + "cardholder": { + "billing": { + "address": { + "city": "Beverly Hills", + "country": "US", + "line1": "123 Fake St", + "line2": "Apt 3", + "postal_code": "90210", + "state": "CA" + }, + "name": "Jenny Rosen" + }, + "created": 1544829147, + "email": "jenny@example.com", + "id": "ich_1DhPpXArWkzC5zpTnmOHmy2k", + "is_default": false, + "livemode": false, + "metadata": { + }, + "name": "Jenny Rosen", + "object": "issuing.cardholder", + "phone_number": "+18008675309", + "status": "active", + "type": "individual" + }, + "created": 1544829147, + "currency": "usd", + "exp_month": 8, + "exp_year": 2019, + "id": "ic_1DhPpXArWkzC5zpTRvws4uJk", + "last4": "4242", + "livemode": false, + "metadata": { + }, + "name": "Jenny Rosen", + "object": "issuing.card", + "shipping": null, + "status": "active", + "type": "physical" + }, + "cardholder": null, + "created": 1234567890, + "held_amount": 700, + "held_currency": "usd", + "id": "iauth_1DhPpXArWkzC5zpTs8LTe09Q", + "is_held_amount_controllable": false, + "livemode": false, + "merchant_data": { + "category": "taxicabs_limousines", + "city": "San Francisco", + "country": "US", + "name": "Rocket Rides", + "network_id": "1234567890", + "postal_code": "94107", + "state": "CA" + }, + "metadata": { + }, + "object": "issuing.authorization", + "pending_authorized_amount": 0, + "pending_held_amount": 0, + "request_history": [ + + ], + "status": "pending", + "transactions": [ + { + "amount": -100, + "authorization": "iauth_1DhPpXArWkzC5zpTs8LTe09Q", + "balance_transaction": null, + "card": "ic_1DhPpXArWkzC5zpTRvws4uJk", + "cardholder": null, + "created": 1544829147, + "currency": "usd", + "dispute": null, + "id": "ipi_1DhPpXArWkzC5zpTqxw6hXta", + "livemode": false, + "merchant_data": { + "category": "taxicabs_limousines", + "city": "San Francisco", + "country": "US", + "name": "Rocket Rides", + "network_id": "1234567890", + "postal_code": "94107", + "state": "CA" + }, + "metadata": { + }, + "object": "issuing.transaction", + "type": "capture" + } + ], + "verification_data": { + "address_line1_check": "not_provided", + "address_zip_check": "match", + "cvc_check": "match" + }, + "wallet_provider": null + }, + "issuing.card": { + "authorization_controls": { + "allowed_categories": null, + "blocked_categories": null, + "currency": "usd", + "max_amount": 10000, + "max_approvals": 1 + }, + "brand": "Visa", + "cardholder": { + "billing": { + "address": { + "city": "Beverly Hills", + "country": "US", + "line1": "123 Fake St", + "line2": "Apt 3", + "postal_code": "90210", + "state": "CA" + }, + "name": "Jenny Rosen" + }, + "created": 1544829147, + "email": "jenny@example.com", + "id": "ich_1DhPpXArWkzC5zpTnmOHmy2k", + "is_default": false, + "livemode": false, + "metadata": { + }, + "name": "Jenny Rosen", + "object": "issuing.cardholder", + "phone_number": "+18008675309", + "status": "active", + "type": "individual" + }, + "created": 1234567890, + "currency": "usd", + "exp_month": 8, + "exp_year": 2019, + "id": "ic_1DhPpXArWkzC5zpTRvws4uJk", + "last4": "4242", + "livemode": false, + "metadata": { + }, + "name": "Jenny Rosen", + "object": "issuing.card", + "shipping": null, + "status": "active", + "type": "physical" + }, + "issuing.card_details": { + "card": { + "authorization_controls": { + "allowed_categories": null, + "blocked_categories": null, + "currency": "usd", + "max_amount": 10000, + "max_approvals": 1 + }, + "brand": "Visa", + "cardholder": { + "billing": { + "address": { + "city": "Beverly Hills", + "country": "US", + "line1": "123 Fake St", + "line2": "Apt 3", + "postal_code": "90210", + "state": "CA" + }, + "name": "Jenny Rosen" + }, + "created": 1544829147, + "email": "jenny@example.com", + "id": "ich_1DhPpXArWkzC5zpTnmOHmy2k", + "is_default": false, + "livemode": false, + "metadata": { + }, + "name": "Jenny Rosen", + "object": "issuing.cardholder", + "phone_number": "+18008675309", + "status": "active", + "type": "individual" + }, + "created": 1544829147, + "currency": "usd", + "exp_month": 8, + "exp_year": 2019, + "id": "ic_1DhPpXArWkzC5zpTRvws4uJk", + "last4": "4242", + "livemode": false, + "metadata": { + }, + "name": "Jenny Rosen", + "object": "issuing.card", + "shipping": null, + "status": "active", + "type": "physical" + }, + "cvc": "123", + "exp_month": 8, + "exp_year": 2019, + "number": "4242424242424242", + "object": "issuing.card_details" + }, + "issuing.cardholder": { + "billing": { + "address": { + "city": "Beverly Hills", + "country": "US", + "line1": "123 Fake St", + "line2": "Apt 3", + "postal_code": "90210", + "state": "CA" + }, + "name": "Jenny Rosen" + }, + "created": 1234567890, + "email": "jenny@example.com", + "id": "ich_1DhPpXArWkzC5zpTnmOHmy2k", + "is_default": false, + "livemode": false, + "metadata": { + }, + "name": "Jenny Rosen", + "object": "issuing.cardholder", + "phone_number": "+18008675309", + "status": "active", + "type": "individual" + }, + "issuing.dispute": { + "amount": 100, + "created": 1234567890, + "currency": "usd", + "disputed_transaction": "ipi_1DhPpXArWkzC5zpTqxw6hXta", + "evidence": { + "fraudulent": { + "dispute_explanation": "Fraud; card reported lost on 12/14/2018", + "uncategorized_file": null + }, + "other": null + }, + "id": "idp_1DhPpdArWkzC5zpTOYT1u4te", + "livemode": false, + "metadata": { + }, + "object": "issuing.dispute", + "reason": "fraudulent", + "status": "under_review" + }, + "issuing.transaction": { + "amount": -100, + "authorization": "iauth_1DhPpXArWkzC5zpTs8LTe09Q", + "balance_transaction": null, + "card": "ic_1DhPpXArWkzC5zpTRvws4uJk", + "cardholder": null, + "created": 1234567890, + "currency": "usd", + "dispute": null, + "id": "ipi_1DhPpXArWkzC5zpTqxw6hXta", + "livemode": false, + "merchant_data": { + "category": "taxicabs_limousines", + "city": "San Francisco", + "country": "US", + "name": "Rocket Rides", + "network_id": "1234567890", + "postal_code": "94107", + "state": "CA" + }, + "metadata": { + }, + "object": "issuing.transaction", + "type": "capture" + }, + "issuing.verification": { + "card": "ic_1DhPpXArWkzC5zpTRvws4uJk", + "created": 1234567890, + "expires_at": 1234567890, + "id": "iv_1DhPpXArWkzC5zpTCveCK2hW", + "object": "issuing.verification", + "scope": "pin_retrieve", + "status": "pending", + "verification_method": "sms" + }, + "line_item": { + "amount": 1000, + "currency": "usd", + "description": "My First Invoice Item (created for API docs)", + "discountable": true, + "id": "ii_1DhPpbArWkzC5zpTFFRSws8d", + "invoice_item": "ii_1DhPpbArWkzC5zpTFFRSws8d", + "livemode": false, + "metadata": { + }, + "object": "line_item", + "period": { + "end": 1544829151, + "start": 1544829151 + }, + "plan": null, + "proration": false, + "quantity": 1, + "subscription": null, + "type": "invoiceitem" + }, + "login_link": { + "created": 1234567890, + "object": "login_link", + "url": "https://matt-manage-mydev.dev.stripe.me/express/8ogCtOlXMoLZ" + }, + "logout": { + }, + "order": { + "amount": 1500, + "amount_returned": null, + "application": null, + "application_fee": null, + "charge": null, + "created": 1234567890, + "currency": "usd", + "customer": null, + "email": null, + "id": "or_1DhPpcArWkzC5zpTCXM0hfuN", + "items": [ + { + "amount": 1500, + "currency": "usd", + "description": "Gold Special", + "object": "order_item", + "parent": "sk_1DhPlNArWkzC5zpTmrzWGax6", + "quantity": null, + "type": "sku" + } + ], + "livemode": false, + "metadata": { + }, + "object": "order", + "returns": { + "data": [ + + ], + "has_more": false, + "object": "list", + "total_count": 0, + "url": "/v1/order_returns?order=or_1DhPpcArWkzC5zpTCXM0hfuN" + }, + "selected_shipping_method": null, + "shipping": { + "address": { + "city": "San Francisco", + "country": "US", + "line1": "1234 Fake Street", + "line2": null, + "postal_code": "94102", + "state": null + }, + "carrier": null, + "name": "Jenny Rosen", + "phone": null, + "tracking_number": null + }, + "shipping_methods": null, + "status": "created", + "status_transitions": { + "canceled": null, + "fulfiled": null, + "paid": null, + "returned": null + }, + "updated": 1234567890 + }, + "order_return": { + "amount": 1500, + "created": 1234567890, + "currency": "usd", + "id": "orret_1DhPpcArWkzC5zpTHmjAqEy5", + "items": [ + { + "amount": 1500, + "currency": "usd", + "description": "Gold Special", + "object": "order_item", + "parent": "sk_1DhPpcArWkzC5zpT3GL9uZud", + "quantity": null, + "type": "sku" + } + ], + "livemode": false, + "object": "order_return", + "order": "or_1DhPpcArWkzC5zpTAJiGphyy", + "refund": "re_1DhPpcArWkzC5zpT36i4ht82" + }, + "payment_intent": { + "allowed_source_types": [ + "card" + ], + "amount": 1000, + "amount_capturable": 1000, + "amount_received": 0, + "application": null, + "application_fee_amount": null, + "canceled_at": 1234567890, + "cancellation_reason": null, + "capture_method": "automatic", + "charges": { + "data": [ + + ], + "has_more": false, + "object": "list", + "total_count": 0, + "url": "/v1/charges?payment_intent=pi_Aabcxyz01aDfoo" + }, + "client_secret": null, + "confirmation_method": "publishable", + "created": 1234567890, + "currency": "usd", + "customer": null, + "description": "PaymentIntent Description", + "id": "pi_Aabcxyz01aDfoo", + "last_payment_error": null, + "livemode": false, + "metadata": { + "order_id": "123456789" + }, + "next_source_action": null, + "object": "payment_intent", + "on_behalf_of": null, + "receipt_email": "jenny@example.com", + "review": null, + "shipping": { + "address": { + "city": "San Francisco", + "country": "US", + "line1": "1234 Fake Street", + "line2": null, + "postal_code": "94102", + "state": null + }, + "carrier": null, + "name": "Jenny Rosen", + "phone": null, + "tracking_number": null + }, + "source": "src_1DhPpcArWkzC5zpT9aGWEZFc", + "statement_descriptor": "PaymentIntent Statement Descriptor", + "status": "succeeded", + "transfer_data": null, + "transfer_group": null + }, + "payment_source": { + "business_logo": null, + "business_name": null, + "business_url": null, + "charges_enabled": false, + "country": "US", + "created": 1544828883, + "debit_negative_balances": true, + "decline_charge_on": { + "avs_failure": true, + "cvc_failure": true + }, + "default_currency": "usd", + "details_submitted": false, + "display_name": null, + "email": "site@stripe.com", + "external_accounts": { + "data": [ + + ], + "has_more": false, + "object": "list", + "total_count": 0, + "url": "/v1/accounts/acct_1DhPlHArWkzC5zpT/external_accounts" + }, + "id": "acct_1DhPlHArWkzC5zpT", + "legal_entity": { + "additional_owners": [ + + ], + "address": { + "city": null, + "country": "US", + "line1": null, + "line2": null, + "postal_code": null, + "state": null + }, + "business_name": null, + "business_tax_id_provided": false, + "dob": { + "day": null, + "month": null, + "year": null + }, + "first_name": null, + "last_name": null, + "personal_address": { + "city": null, + "country": "US", + "line1": null, + "line2": null, + "postal_code": null, + "state": null + }, + "personal_id_number_provided": false, + "ssn_last_4_provided": false, + "type": null, + "verification": { + "details": null, + "details_code": null, + "document": null, + "document_back": null, + "status": "unverified" + } + }, + "metadata": { + }, + "object": "account", + "payout_schedule": { + "delay_days": 2, + "interval": "daily" + }, + "payout_statement_descriptor": null, + "payouts_enabled": false, + "product_description": null, + "statement_descriptor": null, + "support_address": null, + "support_email": null, + "support_phone": null, + "timezone": "Etc/UTC", + "tos_acceptance": { + "date": null, + "ip": null, + "user_agent": null + }, + "type": "standard", + "verification": { + "disabled_reason": "fields_needed", + "due_by": null, + "fields_needed": [ + "business_url", + "external_account", + "legal_entity.address.city", + "legal_entity.address.line1", + "legal_entity.address.postal_code", + "legal_entity.address.state", + "legal_entity.dob.day", + "legal_entity.dob.month", + "legal_entity.dob.year", + "legal_entity.first_name", + "legal_entity.last_name", + "legal_entity.type", + "product_description", + "support_phone", + "tos_acceptance.date", + "tos_acceptance.ip" + ] + } + }, + "payout": { + "amount": 1100, + "arrival_date": 1234567890, + "automatic": true, + "balance_transaction": "txn_1DhPpbArWkzC5zpTqKiuAbKE", + "created": 1234567890, + "currency": "usd", + "description": "STRIPE PAYOUT", + "destination": "ba_1DhPpcArWkzC5zpTUSbEiWkF", + "failure_balance_transaction": null, + "failure_code": null, + "failure_message": null, + "id": "po_1DhPpcArWkzC5zpTyRx4rEs6", + "livemode": false, + "metadata": { + }, + "method": "standard", + "object": "payout", + "source_type": "card", + "statement_descriptor": null, + "status": "in_transit", + "type": "bank_account" + }, + "person": { + "account": "acct_1DhPlHArWkzC5zpT", + "created": 1234567890, + "dob": { + "day": null, + "month": null, + "year": null + }, + "first_name": null, + "id": "person_E9jImKgRXAgctq", + "last_name": null, + "metadata": { + }, + "object": "person", + "relationship": { + "account_opener": false, + "director": false, + "executive": false, + "owner": false, + "percent_ownership": null, + "title": null + }, + "requirements": { + "currently_due": [ + + ], + "eventually_due": [ + + ], + "past_due": [ + + ] + }, + "ssn_last_4_provided": false, + "verification": { + "details": null, + "details_code": null, + "document": null, + "document_back": null, + "status": "unverified" + } + }, + "plan": { + "active": true, + "aggregate_usage": null, + "amount": 2000, + "billing_scheme": "per_unit", + "created": 1234567890, + "currency": "usd", + "id": "gold", + "interval": "month", + "interval_count": 1, + "livemode": false, + "metadata": { + }, + "nickname": null, + "object": "plan", + "product": "prod_E9jDBEkJOaHfoF", + "tiers": null, + "tiers_mode": null, + "transform_usage": null, + "trial_period_days": null, + "usage_type": "licensed" + }, + "product": { + "active": true, + "attributes": [ + + ], + "caption": null, + "created": 1234567890, + "deactivate_on": [ + + ], + "description": null, + "id": "prod_E9jDBEkJOaHfoF", + "images": [ + + ], + "livemode": false, + "metadata": { + }, + "name": "Gold Special", + "object": "product", + "package_dimensions": null, + "shippable": null, + "statement_descriptor": null, + "type": "service", + "unit_label": null, + "updated": 1234567890, + "url": null + }, + "radar.value_list": { + "alias": "custom_ip_blocklist", + "created": 1234567890, + "created_by": "jenny@example.com", + "id": "rsl_1DhPpdArWkzC5zpTyGha7ed8", + "item_type": "ip_address", + "list_items": { + "data": [ + + ], + "has_more": false, + "object": "list", + "total_count": 0, + "url": "/v1/radar/value_list_items?value_list=rsl_1DhPpdArWkzC5zpTyGha7ed8" + }, + "livemode": false, + "metadata": { + }, + "name": "Custom IP Blocklist", + "object": "radar.value_list", + "updated": 1234567890, + "updated_by": "jenny@example.com" + }, + "radar.value_list_item": { + "created": 1234567890, + "created_by": "jenny@example.com", + "id": "rsli_1DhPpdArWkzC5zpTQYb0fDMI", + "livemode": false, + "object": "radar.value_list_item", + "value": "1.2.3.4", + "value_list": "rsl_1DhPpdArWkzC5zpTc4OPlPMG" + }, + "recipient": { + "active_account": null, + "cards": { + "data": [ + + ], + "has_more": false, + "object": "list", + "total_count": 0, + "url": "/v1/recipients/rp_1DhPpcArWkzC5zpTEs9DS8uh/cards" + }, + "created": 1234567890, + "default_card": null, + "description": "Recipient for John Doe", + "email": "test@example.com", + "id": "rp_1DhPpcArWkzC5zpTEs9DS8uh", + "livemode": false, + "metadata": { + }, + "migrated_to": null, + "name": "John Doe", + "object": "recipient", + "type": "individual" + }, + "refund": { + "amount": 100, + "balance_transaction": null, + "charge": "ch_1DhPlKArWkzC5zpTqoSD2arK", + "created": 1234567890, + "currency": "usd", + "id": "re_1DhPpbArWkzC5zpTqnDUBsvM", + "metadata": { + }, + "object": "refund", + "reason": null, + "receipt_number": null, + "source_transfer_reversal": null, + "status": "succeeded", + "transfer_reversal": null + }, + "reporting.report_run": { + "created": 1234567890, + "error": null, + "id": "frr_1DhPpdArWkzC5zpTYNAUUPUB", + "livemode": true, + "object": "reporting.report_run", + "parameters": { + "interval_end": 1525132800, + "interval_start": 1522540800 + }, + "report_type": "balance.summary.1", + "result": { + "created": 1544829147, + "filename": "file_1DhPpXArWkzC5zpT5g5UYMTn", + "id": "file_1DhPpXArWkzC5zpT5g5UYMTn", + "links": { + "data": [ + + ], + "has_more": false, + "object": "list", + "url": "/v1/file_links?file=file_1DhPpXArWkzC5zpT5g5UYMTn" + }, + "object": "file", + "purpose": "finance_report_run", + "size": 16890, + "title": null, + "type": "csv", + "url": "https://matt-upload-mydev.dev.stripe.me/v1/files/file_1DhPpXArWkzC5zpT5g5UYMTn/contents" + }, + "status": "succeeded", + "succeeded_at": 1234567890 + }, + "reporting.report_type": { + "data_available_end": 1234567890, + "data_available_start": 1234567890, + "id": "balance.summary.1", + "name": "Balance summary", + "object": "reporting.report_type", + "updated": 1234567890, + "version": 1 + }, + "review": { + "charge": "ch_1DhPlKArWkzC5zpTqoSD2arK", + "created": 1234567890, + "id": "prv_1DhPpdArWkzC5zpTrRnTRE34", + "livemode": false, + "object": "review", + "open": true, + "reason": "rule" + }, + "scheduled_query_run": { + "created": 1234567890, + "data_load_time": 1234567890, + "file": { + "created": 1544829147, + "filename": "path", + "id": "file_1DhPpXArWkzC5zpTixQowrPi", + "links": { + "data": [ + + ], + "has_more": false, + "object": "list", + "url": "/v1/file_links?file=file_1DhPpXArWkzC5zpTixQowrPi" + }, + "object": "file", + "purpose": "sigma_scheduled_query", + "size": 500, + "title": null, + "type": "csv", + "url": "https://matt-upload-mydev.dev.stripe.me/v1/files/file_1DhPpXArWkzC5zpTixQowrPi/contents" + }, + "id": "sqr_1DhPpdArWkzC5zpTP280BInd", + "livemode": false, + "object": "scheduled_query_run", + "result_available_until": 1234567890, + "sql": "SELECT count(*) from charges", + "status": "completed", + "title": "Count all charges" + }, + "sku": { + "active": true, + "attributes": { + "gender": "Unisex", + "size": "Medium" + }, + "created": 1234567890, + "currency": "usd", + "id": "sku_E9jI33WIeXgsrh", + "image": null, + "inventory": { + "quantity": 50, + "type": "finite", + "value": null + }, + "livemode": false, + "metadata": { + }, + "object": "sku", + "package_dimensions": null, + "price": 1500, + "product": "prod_E9jDBEkJOaHfoF", + "updated": 1234567890 + }, + "source": { + "ach_credit_transfer": { + "account_number": "test_52796e3294dc", + "bank_name": "TEST BANK", + "fingerprint": "ecpwEzmBOSMOqQTL", + "routing_number": "110000000", + "swift_code": "TSTEZ122" + }, + "amount": null, + "client_secret": "src_client_secret_E9jIisPuyemqf20LjAz07vus", + "created": 1234567890, + "currency": "usd", + "flow": "receiver", + "id": "src_1DhPpcArWkzC5zpTyX21llP8", + "livemode": false, + "metadata": { + }, + "object": "source", + "owner": { + "address": null, + "email": "jenny.rosen@example.com", + "name": null, + "phone": null, + "verified_address": null, + "verified_email": null, + "verified_name": null, + "verified_phone": null + }, + "receiver": { + "address": "121042882-38381234567890123", + "amount_charged": 0, + "amount_received": 0, + "amount_returned": 0, + "refund_attributes_method": "email", + "refund_attributes_status": "missing" + }, + "statement_descriptor": null, + "status": "pending", + "type": "ach_credit_transfer", + "usage": "reusable" + }, + "source_mandate_notification": { + "amount": 2000, + "created": 1234567890, + "id": "srcmn_1DhPpcArWkzC5zpTzWdqLR3E", + "livemode": false, + "object": "source_mandate_notification", + "reason": "debit_initiated", + "sepa_debit": { + "creditor_identifier": "TEST42ZZZ0000424242", + "last4": "3000", + "mandate_reference": "FFU45BAKH9LWLMM0" + }, + "source": { + "ach_credit_transfer": { + "account_number": "test_52796e3294dc", + "bank_name": "TEST BANK", + "fingerprint": "ecpwEzmBOSMOqQTL", + "routing_number": "110000000", + "swift_code": "TSTEZ122" + }, + "amount": null, + "client_secret": "src_client_secret_E9jIBFLWoonvXZrBqXZsDF57", + "created": 1544829152, + "currency": "usd", + "flow": "receiver", + "id": "src_1DhPpcArWkzC5zpT9aGWEZFc", + "livemode": false, + "metadata": { + }, + "object": "source", + "owner": { + "address": null, + "email": "jenny.rosen@example.com", + "name": null, + "phone": null, + "verified_address": null, + "verified_email": null, + "verified_name": null, + "verified_phone": null + }, + "receiver": { + "address": "121042882-38381234567890123", + "amount_charged": 0, + "amount_received": 0, + "amount_returned": 0, + "refund_attributes_method": "email", + "refund_attributes_status": "missing" + }, + "statement_descriptor": null, + "status": "pending", + "type": "ach_credit_transfer", + "usage": "reusable" + }, + "status": "submitted", + "type": "sepa_debit" + }, + "source_transaction": { + "ach_credit_transfer": { + }, + "amount": 500, + "created": 1234567890, + "currency": "usd", + "id": "srctxn_1DhPpcArWkzC5zpTkeKkL36K", + "livemode": false, + "object": "source_transaction", + "source": "src_1DhPpcArWkzC5zpTyX21llP8", + "status": "succeeded", + "type": "ach_credit_transfer" + }, + "subscription": { + "application_fee_percent": null, + "billing": "charge_automatically", + "billing_cycle_anchor": 1234567890, + "cancel_at_period_end": false, + "canceled_at": 1234567890, + "created": 1234567890, + "current_period_end": 1234567890, + "current_period_start": 1234567890, + "customer": "cus_E9jDfhDSPTFIIB", + "days_until_due": null, + "default_source": null, + "discount": null, + "ended_at": 1234567890, + "id": "sub_E9jIoDk3e1jDCR", + "items": { + "data": [ + { + "created": 1544829152, + "id": "si_E9jINeRZBwze3z", + "metadata": { + }, + "object": "subscription_item", + "plan": { + "active": true, + "aggregate_usage": null, + "amount": 2000, + "billing_scheme": "per_unit", + "created": 1544828886, + "currency": "usd", + "id": "gold", + "interval": "month", + "interval_count": 1, + "livemode": false, + "metadata": { + }, + "nickname": null, + "object": "plan", + "product": "prod_E9jDBEkJOaHfoF", + "tiers": null, + "tiers_mode": null, + "transform_usage": null, + "trial_period_days": null, + "usage_type": "licensed" + }, + "quantity": 1, + "subscription": "sub_E9jIoDk3e1jDCR" + } + ], + "has_more": false, + "object": "list", + "total_count": 1, + "url": "/v1/subscription_items?subscription=sub_E9jIoDk3e1jDCR" + }, + "livemode": false, + "metadata": { + }, + "object": "subscription", + "plan": { + "active": true, + "aggregate_usage": null, + "amount": 2000, + "billing_scheme": "per_unit", + "created": 1544828886, + "currency": "usd", + "id": "gold", + "interval": "month", + "interval_count": 1, + "livemode": false, + "metadata": { + }, + "nickname": null, + "object": "plan", + "product": "prod_E9jDBEkJOaHfoF", + "tiers": null, + "tiers_mode": null, + "transform_usage": null, + "trial_period_days": null, + "usage_type": "licensed" + }, + "quantity": 1, + "start": 1234567890, + "status": "active", + "tax_percent": null, + "trial_end": 1234567890, + "trial_start": 1234567890 + }, + "subscription_item": { + "created": 1544829152, + "id": "si_E9jIMgEGtYARbb", + "metadata": { + }, + "object": "subscription_item", + "plan": { + "active": true, + "aggregate_usage": null, + "amount": 2000, + "billing_scheme": "per_unit", + "created": 1544828886, + "currency": "usd", + "id": "gold", + "interval": "month", + "interval_count": 1, + "livemode": false, + "metadata": { + }, + "nickname": null, + "object": "plan", + "product": "prod_E9jDBEkJOaHfoF", + "tiers": null, + "tiers_mode": null, + "transform_usage": null, + "trial_period_days": null, + "usage_type": "licensed" + }, + "quantity": 1, + "subscription": "sub_E9jIg8z3MtaNh0" + }, + "tax_rate_template": { + "id": "trt_1DhPpbArWkzC5zpTzRg6yKxy", + "object": "tax_rate_template" + }, + "terminal.connection_token": { + "object": "terminal.connection_token", + "secret": "pst_test_wKXW1H44hpJQkCIRHfhXHWZ" + }, + "terminal.location": { + "address": { + "city": "San Francisco", + "country": "US", + "line1": "1234 Fake Street", + "line2": null, + "postal_code": "94102", + "state": null + }, + "display_name": "My First Store", + "id": "loc_DXemf1EElgTbcFnxvniVbrVl", + "object": "terminal.location" + }, + "terminal.reader": { + "device_sw_version": null, + "device_type": "verifone_P400", + "id": "ds_P400-123-456-789", + "ip_address": "192.168.2.2", + "label": "Blue Rabbit", + "location": null, + "object": "terminal.reader", + "serial_number": "123-456-789", + "status": "online" + }, + "three_d_secure": { + "amount": 1500, + "authenticated": false, + "card": { + "address_city": null, + "address_country": null, + "address_line1": null, + "address_line1_check": null, + "address_line2": null, + "address_state": null, + "address_zip": null, + "address_zip_check": null, + "brand": "Visa", + "country": "US", + "customer": null, + "cvc_check": null, + "dynamic_last4": null, + "exp_month": 8, + "exp_year": 2019, + "fingerprint": "MbPKhYF1zPJ6bjh6", + "funding": "unknown", + "id": "card_1DhPlJArWkzC5zpTu4gOT0c2", + "last4": "4242", + "metadata": { + }, + "name": "Jenny Rosen", + "object": "card", + "tokenization_method": null + }, + "created": 1234567890, + "currency": "usd", + "id": "tdsrc_1DhPpdArWkzC5zpT4yNUe80K", + "livemode": false, + "object": "three_d_secure", + "redirect_url": "https://matt-marlin-mydev.dev.stripe.me/3d_secure/authenticate/tdsrc_1DhPpdArWkzC5zpT4yNUe80K", + "status": "redirect_pending" + }, + "token": { + "card": { + "address_city": null, + "address_country": null, + "address_line1": null, + "address_line1_check": null, + "address_line2": null, + "address_state": null, + "address_zip": null, + "address_zip_check": null, + "brand": "Visa", + "country": "US", + "cvc_check": null, + "dynamic_last4": null, + "exp_month": 8, + "exp_year": 2019, + "fingerprint": "MbPKhYF1zPJ6bjh6", + "funding": "unknown", + "id": "card_1DhPpbArWkzC5zpTgiA1hhkk", + "last4": "4242", + "metadata": { + }, + "name": null, + "object": "card", + "tokenization_method": null + }, + "client_ip": null, + "created": 1234567890, + "id": "tok_1DhPpbArWkzC5zpTFlYDzptM", + "livemode": false, + "object": "token", + "type": "card", + "used": false + }, + "topup": { + "amount": 1000, + "balance_transaction": null, + "created": 1234567890, + "currency": "usd", + "description": "Top-up description", + "expected_availability_date": 123456789, + "failure_code": null, + "failure_message": null, + "id": "tu_123456789", + "livemode": false, + "metadata": { + "order_id": "12345678" + }, + "object": "topup", + "source": { + "ach_debit": { + "bank_name": "STRIPE TEST BANK", + "country": "US", + "fingerprint": "5Wh4KBcfDrz5IOnx", + "last4": "6789", + "routing_number": "110000000", + "type": "individual" + }, + "amount": null, + "client_secret": "src_client_secret_E9jIeBvuz33sQw5QYo3PXayV", + "created": 1544829152, + "currency": "usd", + "flow": "code_verification", + "id": "src_1DhPpcArWkzC5zpTiT2mHRx0", + "livemode": false, + "metadata": { + }, + "object": "source", + "owner": { + "address": null, + "email": "jenny.rosen@example.com", + "name": "Jenny Rosen", + "phone": null, + "verified_address": null, + "verified_email": null, + "verified_name": null, + "verified_phone": null + }, + "statement_descriptor": null, + "status": "pending", + "type": "ach_debit", + "usage": "reusable" + }, + "statement_descriptor": null, + "status": "pending", + "transfer_group": null + }, + "transfer": { + "amount": 1100, + "amount_reversed": 0, + "balance_transaction": "txn_1DhPpbArWkzC5zpTqKiuAbKE", + "created": 1234567890, + "currency": "usd", + "description": null, + "destination": "acct_1DhPlHArWkzC5zpT", + "destination_payment": "py_E9jISNjMhVvyqp", + "id": "tr_1DhPpcArWkzC5zpT61Ls43tN", + "livemode": false, + "metadata": { + }, + "object": "transfer", + "reversals": { + "data": [ + + ], + "has_more": false, + "object": "list", + "total_count": 0, + "url": "/v1/transfers/tr_1DhPpcArWkzC5zpT61Ls43tN/reversals" + }, + "reversed": false, + "source_transaction": null, + "source_type": "card", + "transfer_group": null + }, + "transfer_reversal": { + "amount": 1100, + "balance_transaction": null, + "created": 1234567890, + "currency": "usd", + "destination_payment_refund": null, + "id": "trr_1DhPpcArWkzC5zpTmygJjdSi", + "metadata": { + }, + "object": "transfer_reversal", + "source_refund": null, + "transfer": "tr_1DhPpcArWkzC5zpT61Ls43tN" + }, + "usage_record": { + "id": "mbur_1DhPpbArWkzC5zpTpJ4lgDDR", + "livemode": false, + "object": "usage_record", + "quantity": 100, + "subscription_item": "si_E9jIv812yoy28W", + "timestamp": 1234567890 + }, + "usage_record_summary": { + "id": "sis_1DhPlKArWkzC5zpT6lPsElrl", + "invoice": "in_1DhPlKArWkzC5zpTY0KoSJCn", + "livemode": false, + "object": "usage_record_summary", + "period": { + "end": 1544828886, + "start": null + }, + "subscription_item": "si_E9jD4i56eHehEl", + "total_usage": 123 + }, + "webhook_endpoint": { + "application": null, + "created": 1234567890, + "enabled_events": [ + "charge.failed", + "charge.succeeded" + ], + "id": "we_1DhPpcArWkzC5zpTyhsGSWbx", + "livemode": false, + "object": "webhook_endpoint", + "status": "enabled", + "url": "https://example.com/my/webhook/endpoint" + } + } +} \ No newline at end of file diff --git a/tests/openapi/spec3.json b/tests/openapi/spec3.json new file mode 100644 index 0000000000..115bcbc7bd --- /dev/null +++ b/tests/openapi/spec3.json @@ -0,0 +1,52549 @@ +{ + "components": { + "schemas": { + "account": { + "properties": { + "application_icon": { + "maxLength": 5000, + "type": "string" + }, + "application_logo": { + "maxLength": 5000, + "type": "string" + }, + "application_name": { + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "application_url": { + "maxLength": 5000, + "type": "string" + }, + "business_logo": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/file" + } + ], + "description": "(ID of a [file upload](https://stripe.com/docs/guides/file-upload)) A logo for this account (at least 128px x 128px).", + "nullable": true, + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/file" + } + ] + } + }, + "business_name": { + "description": "The publicly visible name of the business.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "business_url": { + "description": "The publicly visible website of the business.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "charges_enabled": { + "description": "Whether the account can create live charges.", + "type": "boolean" + }, + "country": { + "description": "The account's country.", + "maxLength": 5000, + "type": "string" + }, + "created": { + "description": "Time at which the object was created. Measured in seconds since the Unix epoch.", + "format": "unix-time", + "type": "integer" + }, + "debit_negative_balances": { + "description": "A Boolean indicating if Stripe should try to reclaim negative balances from an attached bank account. See our [Understanding Connect Account Balances](/docs/connect/account-balances) documentation for details.", + "nullable": true, + "type": "boolean" + }, + "decline_charge_on": { + "anyOf": [ + { + "$ref": "#/components/schemas/account_decline_charge_on" + } + ], + "description": "Account-level settings to automatically decline certain types of charges regardless of the decision of the card issuer.", + "nullable": true + }, + "default_currency": { + "description": "Three-letter ISO currency code representing the default currency for the account. This must be a currency that [Stripe supports in the account's country](https://stripe.com/docs/payouts).", + "maxLength": 5000, + "type": "string" + }, + "details_submitted": { + "description": "Whether account details have been submitted. Standard accounts cannot receive payouts before this is true.", + "type": "boolean" + }, + "display_name": { + "description": "The display name for this account. This is used on the Stripe Dashboard to differentiate between accounts.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "email": { + "description": "The primary user's email address.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "external_accounts": { + "description": "External accounts (bank accounts and debit cards) currently attached to this account", + "properties": { + "data": { + "description": "The list contains all external accounts that have been attached to the Stripe account. These may be bank accounts or cards.", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/bank_account" + }, + { + "$ref": "#/components/schemas/card" + } + ], + "title": "Polymorphic" + }, + "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, + "type": "string" + } + }, + "required": [ + "data", + "has_more", + "object", + "url" + ], + "title": "ExternalAccountList", + "type": "object", + "x-expandableFields": [ + "data" + ] + }, + "id": { + "description": "Unique identifier for the object.", + "maxLength": 5000, + "type": "string" + }, + "keys": { + "additionalProperties": { + "maxLength": 5000, + "type": "string" + }, + "type": "object" + }, + "legal_entity": { + "anyOf": [ + { + "$ref": "#/components/schemas/legal_entity" + } + ], + "description": "Information about the legal entity itself, including about the associated account representative.", + "nullable": true + }, + "metadata": { + "additionalProperties": { + "maxLength": 500, + "type": "string" + }, + "description": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.", + "type": "object" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "account" + ], + "type": "string" + }, + "payout_schedule": { + "anyOf": [ + { + "$ref": "#/components/schemas/transfer_schedule" + } + ], + "description": "Details on when funds from charges are available, and when they are paid out to an external account. See our [Setting Bank and Debit Card Payouts](/docs/connect/bank-transfers#payout-information) documentation for details.", + "nullable": true + }, + "payout_statement_descriptor": { + "description": "The text that appears on the bank account statement for payouts. If not set, this defaults to the platform's bank descriptor as set in the Dashboard.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "payouts_enabled": { + "description": "Whether Stripe can send payouts to this account.", + "type": "boolean" + }, + "product_description": { + "description": "Internal-only description of the product sold or service provided by the business. It's used by Stripe for risk and underwriting purposes.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "statement_descriptor": { + "description": "The default text that appears on credit card statements when a charge is made [directly on the account](/docs/connect/direct-charges).", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "support_address": { + "anyOf": [ + { + "$ref": "#/components/schemas/address" + } + ], + "description": "A publicly shareable support mailing address for the business.", + "nullable": true + }, + "support_email": { + "description": "A publicly shareable support email address for the business.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "support_phone": { + "description": "A publicly shareable support phone number for the business.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "timezone": { + "description": "The timezone used in the Stripe Dashboard for this account. A list of possible time zone values is maintained at the [IANA Time Zone Database](http://www.iana.org/time-zones).", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "tos_acceptance": { + "$ref": "#/components/schemas/account_tos_acceptance" + }, + "type": { + "description": "The Stripe account type. Can be `standard`, `express`, or `custom`.", + "maxLength": 5000, + "type": "string" + }, + "verification": { + "$ref": "#/components/schemas/account_requirements" + } + }, + "required": [ + "id", + "object" + ], + "title": "Account", + "type": "object", + "x-expandableFields": [ + "business_logo", + "decline_charge_on", + "external_accounts", + "legal_entity", + "payout_schedule", + "support_address", + "tos_acceptance", + "verification" + ], + "x-resourceId": "account" + }, + "account_decline_charge_on": { + "properties": { + "avs_failure": { + "description": "Whether Stripe automatically declines charges with an incorrect ZIP or postal code. This setting only applies when a ZIP or postal code is provided and they fail bank verification.", + "type": "boolean" + }, + "cvc_failure": { + "description": "Whether Stripe automatically declines charges with an incorrect CVC. This setting only applies when a CVC is provided and it fails bank verification.", + "type": "boolean" + } + }, + "required": [ + "avs_failure", + "cvc_failure" + ], + "title": "AccountDeclineChargeOn", + "type": "object", + "x-expandableFields": [ + + ] + }, + "account_link": { + "properties": { + "created": { + "description": "Time at which the object was created. Measured in seconds since the Unix epoch.", + "format": "unix-time", + "type": "integer" + }, + "expires_at": { + "description": "The timestamp at which this account link will expire.", + "format": "unix-time", + "type": "integer" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "account_link" + ], + "type": "string" + }, + "url": { + "description": "The URL for the account link.", + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "created", + "expires_at", + "object", + "url" + ], + "title": "AccountLink", + "type": "object", + "x-expandableFields": [ + + ], + "x-resourceId": "account_link" + }, + "account_requirements": { + "properties": { + "disabled_reason": { + "description": "If the account is disabled, this string describes why the account can’t create charges or receive payouts. Can be `rejected.fraud`, `rejected.terms_of_service`, `rejected.listed`, `rejected.other`, `fields_needed`, `listed`, `under_review`, or `other`.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "due_by": { + "description": "By what time the `fields_needed` must be provided. If this date is in the past, the account is already in bad standing, and providing `fields_needed` is necessary to re-enable payouts and prevent other consequences. If this date is in the future, `fields_needed` must be provided to ensure the account remains in good standing.", + "format": "unix-time", + "nullable": true, + "type": "integer" + }, + "fields_needed": { + "description": "Field names that need to be provided for the account to remain in good standing. Nested fields are separated by `.` (for example, `legal_entity.first_name`).", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "fields_needed" + ], + "title": "AccountRequirements", + "type": "object", + "x-expandableFields": [ + + ] + }, + "account_tos_acceptance": { + "properties": { + "date": { + "description": "The Unix timestamp marking when the Stripe Services Agreement was accepted by the account representative", + "format": "unix-time", + "nullable": true, + "type": "integer" + }, + "ip": { + "description": "The IP address from which the Stripe Services Agreement was accepted by the account representative", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "user_agent": { + "description": "The user agent of the browser from which the Stripe Services Agreement was accepted by the account representative", + "maxLength": 5000, + "nullable": true, + "type": "string" + } + }, + "title": "AccountTOSAcceptance", + "type": "object", + "x-expandableFields": [ + + ] + }, + "address": { + "properties": { + "city": { + "description": "City/District/Suburb/Town/Village.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "country": { + "description": "2-letter country code.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "line1": { + "description": "Address line 1 (Street address/PO Box/Company name).", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "line2": { + "description": "Address line 2 (Apartment/Suite/Unit/Building).", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "postal_code": { + "description": "ZIP or postal code.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "state": { + "description": "State/County/Province/Region.", + "maxLength": 5000, + "nullable": true, + "type": "string" + } + }, + "title": "Address", + "type": "object", + "x-expandableFields": [ + + ] + }, + "alipay_account": { + "properties": { + "created": { + "description": "Time at which the object was created. Measured in seconds since the Unix epoch.", + "format": "unix-time", + "type": "integer" + }, + "customer": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/customer" + }, + { + "$ref": "#/components/schemas/deleted_customer" + } + ], + "nullable": true, + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/customer" + }, + { + "$ref": "#/components/schemas/deleted_customer" + } + ] + } + }, + "fingerprint": { + "description": "Uniquely identifies the account and will be the same across all Alipay account objects that are linked to the same Alipay account.", + "maxLength": 5000, + "type": "string" + }, + "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" + }, + "metadata": { + "additionalProperties": { + "maxLength": 500, + "type": "string" + }, + "description": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.", + "type": "object" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "alipay_account" + ], + "type": "string" + }, + "payment_amount": { + "description": "If the Alipay account object is not reusable, the exact amount that you can create a charge for.", + "nullable": true, + "type": "integer" + }, + "payment_currency": { + "description": "If the Alipay account object is not reusable, the exact currency that you can create a charge for.", + "maxLength": 3, + "nullable": true, + "type": "string" + }, + "reusable": { + "description": "True if you can create multiple payments using this account. If the account is reusable, then you can freely choose the amount of each payment.", + "type": "boolean" + }, + "used": { + "description": "Whether this Alipay account object has ever been used for a payment.", + "type": "boolean" + }, + "username": { + "description": "The username for the Alipay account.", + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "created", + "fingerprint", + "id", + "livemode", + "object", + "reusable", + "used", + "username" + ], + "title": "AlipayAccount", + "type": "object", + "x-expandableFields": [ + "customer" + ], + "x-resourceId": "alipay_account" + }, + "api_errors": { + "properties": { + "charge": { + "description": "For card errors, the ID of the failed charge.", + "maxLength": 5000, + "type": "string" + }, + "code": { + "description": "For some errors that could be handled programmatically, a short string indicating the [error code](/docs/error-codes) reported.", + "maxLength": 5000, + "type": "string" + }, + "decline_code": { + "description": "For card errors resulting from a card issuer decline, a short string indicating the [card issuer's reason for the decline](/docs/declines#issuer-declines) if they provide one.", + "maxLength": 5000, + "type": "string" + }, + "doc_url": { + "description": "A URL to more information about the [error code](/docs/error-codes) reported.", + "maxLength": 5000, + "type": "string" + }, + "message": { + "description": "A human-readable message providing more details about the error. For card errors, these messages can be shown to your users.", + "maxLength": 40000, + "type": "string" + }, + "param": { + "description": "If the error is parameter-specific, the parameter related to the error. For example, you can use this to display a message near the correct form field.", + "maxLength": 5000, + "type": "string" + }, + "source": { + "anyOf": [ + { + "$ref": "#/components/schemas/card" + }, + { + "$ref": "#/components/schemas/payment_method" + }, + { + "$ref": "#/components/schemas/source" + } + ], + "description": "The source object for errors returned on a request involving a source." + }, + "type": { + "description": "The type of error returned. One of `api_connection_error`, `api_error`, `authentication_error`, `card_error`, `idempotency_error`, `invalid_request_error`, or `rate_limit_error`", + "enum": [ + "api_connection_error", + "api_error", + "authentication_error", + "card_error", + "idempotency_error", + "invalid_request_error", + "rate_limit_error" + ], + "type": "string" + } + }, + "required": [ + "type" + ], + "title": "APIErrors", + "type": "object", + "x-expandableFields": [ + "source" + ] + }, + "apple_pay_domain": { + "properties": { + "created": { + "description": "Time at which the object was created. Measured in seconds since the Unix epoch.", + "format": "unix-time", + "type": "integer" + }, + "domain_name": { + "maxLength": 5000, + "type": "string" + }, + "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" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "apple_pay_domain" + ], + "type": "string" + } + }, + "required": [ + "created", + "domain_name", + "id", + "livemode", + "object" + ], + "title": "ApplePayDomain", + "type": "object", + "x-expandableFields": [ + + ], + "x-resourceId": "apple_pay_domain" + }, + "application": { + "properties": { + "id": { + "description": "Unique identifier for the object.", + "maxLength": 5000, + "type": "string" + }, + "name": { + "description": "The name of the application.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "application" + ], + "type": "string" + } + }, + "required": [ + "id", + "object" + ], + "title": "Application", + "type": "object", + "x-expandableFields": [ + + ] + }, + "application_fee": { + "properties": { + "account": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/account" + } + ], + "description": "ID of the Stripe account this fee was taken from.", + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/account" + } + ] + } + }, + "amount": { + "description": "Amount earned, in %s.", + "type": "integer" + }, + "amount_refunded": { + "description": "Amount in %s refunded (can be less than the amount attribute on the fee if a partial refund was issued)", + "type": "integer" + }, + "application": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/application" + } + ], + "description": "ID of the Connect application that earned the fee.", + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/application" + } + ] + } + }, + "balance_transaction": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/balance_transaction" + } + ], + "description": "Balance transaction that describes the impact of this collected application fee on your account balance (not including refunds).", + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/balance_transaction" + } + ] + } + }, + "charge": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/charge" + } + ], + "description": "ID of the charge that the application fee was taken from.", + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/charge" + } + ] + } + }, + "created": { + "description": "Time at which the object was created. Measured in seconds since the Unix epoch.", + "format": "unix-time", + "type": "integer" + }, + "currency": { + "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).", + "maxLength": 3, + "type": "string" + }, + "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" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "application_fee" + ], + "type": "string" + }, + "originating_transaction": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/charge" + } + ], + "description": "ID of the corresponding charge on the platform account, if this fee was the result of a charge using the `destination` parameter.", + "nullable": true, + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/charge" + } + ] + } + }, + "refunded": { + "description": "Whether the fee has been fully refunded. If the fee is only partially refunded, this attribute will still be false.", + "type": "boolean" + }, + "refunds": { + "description": "A list of refunds that have been applied to the fee.", + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/fee_refund" + }, + "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, + "type": "string" + } + }, + "required": [ + "data", + "has_more", + "object", + "url" + ], + "title": "FeeRefundList", + "type": "object", + "x-expandableFields": [ + "data" + ] + } + }, + "required": [ + "account", + "amount", + "amount_refunded", + "application", + "balance_transaction", + "charge", + "created", + "currency", + "id", + "livemode", + "object", + "refunded", + "refunds" + ], + "title": "PlatformFee", + "type": "object", + "x-expandableFields": [ + "account", + "application", + "balance_transaction", + "charge", + "originating_transaction", + "refunds" + ], + "x-resourceId": "application_fee" + }, + "balance": { + "properties": { + "available": { + "description": "Funds that are available to be paid out, whether automatically by Stripe or explicitly via the [transfers API](#transfers). The available balance for each currency and payment type can be found in the `source_types` property.", + "items": { + "$ref": "#/components/schemas/balance_amount" + }, + "type": "array" + }, + "connect_reserved": { + "description": "Funds held due to negative balances on connected Custom accounts. The connect reserve balance for each currency and payment type can be found in the `source_types` property.", + "items": { + "$ref": "#/components/schemas/balance_amount" + }, + "type": "array" + }, + "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" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "balance" + ], + "type": "string" + }, + "pending": { + "description": "Funds that are not yet available in the balance, due to the 7-day rolling pay cycle. The pending balance for each currency, and for each payment type, can be found in the `source_types` property.", + "items": { + "$ref": "#/components/schemas/balance_amount" + }, + "type": "array" + } + }, + "required": [ + "available", + "livemode", + "object", + "pending" + ], + "title": "Balance", + "type": "object", + "x-expandableFields": [ + "available", + "connect_reserved", + "pending" + ], + "x-resourceId": "balance" + }, + "balance_amount": { + "properties": { + "amount": { + "description": "Balance amount.", + "type": "integer" + }, + "currency": { + "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).", + "maxLength": 3, + "type": "string" + }, + "source_types": { + "$ref": "#/components/schemas/balance_amount_by_source_type" + } + }, + "required": [ + "amount", + "currency" + ], + "title": "BalanceAmount", + "type": "object", + "x-expandableFields": [ + "source_types" + ] + }, + "balance_amount_by_source_type": { + "properties": { + "bank_account": { + "description": "Amount for bank account.", + "type": "integer" + }, + "card": { + "description": "Amount for card.", + "type": "integer" + } + }, + "title": "BalanceAmountBySourceType", + "type": "object", + "x-expandableFields": [ + + ] + }, + "balance_transaction": { + "properties": { + "amount": { + "description": "Gross amount of the transaction, in %s.", + "type": "integer" + }, + "available_on": { + "description": "The date the transaction's net funds will become available in the Stripe balance.", + "format": "unix-time", + "type": "integer" + }, + "created": { + "description": "Time at which the object was created. Measured in seconds since the Unix epoch.", + "format": "unix-time", + "type": "integer" + }, + "currency": { + "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).", + "maxLength": 3, + "type": "string" + }, + "description": { + "description": "An arbitrary string attached to the object. Often useful for displaying to users.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "exchange_rate": { + "nullable": true, + "type": "number" + }, + "fee": { + "description": "Fees (in %s) paid for this transaction.", + "type": "integer" + }, + "fee_details": { + "description": "Detailed breakdown of fees (in %s) paid for this transaction.", + "items": { + "$ref": "#/components/schemas/fee" + }, + "type": "array" + }, + "id": { + "description": "Unique identifier for the object.", + "maxLength": 5000, + "type": "string" + }, + "net": { + "description": "Net amount of the transaction, in %s.", + "type": "integer" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "balance_transaction" + ], + "type": "string" + }, + "source": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/application_fee" + }, + { + "$ref": "#/components/schemas/bitcoin_transaction" + }, + { + "$ref": "#/components/schemas/charge" + }, + { + "$ref": "#/components/schemas/connect_collection_transfer" + }, + { + "$ref": "#/components/schemas/dispute" + }, + { + "$ref": "#/components/schemas/fee_refund" + }, + { + "$ref": "#/components/schemas/issuing.authorization" + }, + { + "$ref": "#/components/schemas/issuing.transaction" + }, + { + "$ref": "#/components/schemas/payout" + }, + { + "$ref": "#/components/schemas/recipient_transfer" + }, + { + "$ref": "#/components/schemas/refund" + }, + { + "$ref": "#/components/schemas/reserve_transaction" + }, + { + "$ref": "#/components/schemas/topup" + }, + { + "$ref": "#/components/schemas/transfer" + }, + { + "$ref": "#/components/schemas/transfer_reversal" + } + ], + "description": "The Stripe object to which this transaction is related.", + "nullable": true, + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/application_fee" + }, + { + "$ref": "#/components/schemas/bitcoin_transaction" + }, + { + "$ref": "#/components/schemas/charge" + }, + { + "$ref": "#/components/schemas/connect_collection_transfer" + }, + { + "$ref": "#/components/schemas/dispute" + }, + { + "$ref": "#/components/schemas/fee_refund" + }, + { + "$ref": "#/components/schemas/issuing.authorization" + }, + { + "$ref": "#/components/schemas/issuing.transaction" + }, + { + "$ref": "#/components/schemas/payout" + }, + { + "$ref": "#/components/schemas/recipient_transfer" + }, + { + "$ref": "#/components/schemas/refund" + }, + { + "$ref": "#/components/schemas/reserve_transaction" + }, + { + "$ref": "#/components/schemas/topup" + }, + { + "$ref": "#/components/schemas/transfer" + }, + { + "$ref": "#/components/schemas/transfer_reversal" + } + ] + } + }, + "status": { + "description": "If the transaction's net funds are available in the Stripe balance yet. Either `available` or `pending`.", + "maxLength": 5000, + "type": "string" + }, + "type": { + "description": "Transaction type: `adjustment`, `advance`, `advance_funding`, `application_fee`, `application_fee_refund`, `charge`, `connect_collection_transfer`, `issuing_authorization_hold`, `issuing_authorization_release`, `issuing_transaction`, `payment`, `payment_failure_refund`, `payment_refund`, `payout`, `payout_cancel`, `payout_failure`, `refund`, `refund_failure`, `reserve_transaction`, `reserved_funds`, `stripe_fee`, `stripe_fx_fee`, `tax_fee`, `topup`, `topup_reversal`, `transfer`, `transfer_cancel`, `transfer_failure`, or `transfer_refund`. [Learn more](https://stripe.com/docs/reporting/balance-transaction-types) about balance transaction types and what they represent.", + "enum": [ + "adjustment", + "advance", + "advance_funding", + "application_fee", + "application_fee_refund", + "charge", + "connect_collection_transfer", + "issuing_authorization_hold", + "issuing_authorization_release", + "issuing_transaction", + "payment", + "payment_failure_refund", + "payment_refund", + "payout", + "payout_cancel", + "payout_failure", + "refund", + "refund_failure", + "reserve_transaction", + "reserved_funds", + "stripe_fee", + "stripe_fx_fee", + "tax_fee", + "topup", + "topup_reversal", + "transfer", + "transfer_cancel", + "transfer_failure", + "transfer_refund" + ], + "type": "string" + } + }, + "required": [ + "amount", + "available_on", + "created", + "currency", + "fee", + "fee_details", + "id", + "net", + "object", + "status", + "type" + ], + "title": "BalanceTransaction", + "type": "object", + "x-expandableFields": [ + "fee_details", + "source" + ], + "x-resourceId": "balance_transaction" + }, + "bank_account": { + "properties": { + "account": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/account" + } + ], + "nullable": true, + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/account" + } + ] + } + }, + "account_holder_name": { + "description": "The name of the person or business that owns the bank account.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "account_holder_type": { + "description": "The type of entity that holds the account. This can be either `individual` or `company`.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "bank_name": { + "description": "Name of the bank associated with the routing number (e.g., `WELLS FARGO`).", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "country": { + "description": "Two-letter ISO code representing the country the bank account is located in.", + "maxLength": 5000, + "type": "string" + }, + "currency": { + "description": "Three-letter [ISO code for the currency](https://stripe.com/docs/payouts) paid out to the bank account.", + "maxLength": 3, + "type": "string" + }, + "customer": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/customer" + }, + { + "$ref": "#/components/schemas/deleted_customer" + } + ], + "nullable": true, + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/customer" + }, + { + "$ref": "#/components/schemas/deleted_customer" + } + ] + } + }, + "fingerprint": { + "description": "Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "id": { + "description": "Unique identifier for the object.", + "maxLength": 5000, + "type": "string" + }, + "last4": { + "maxLength": 5000, + "type": "string" + }, + "metadata": { + "additionalProperties": { + "maxLength": 500, + "type": "string" + }, + "description": "Set of key-value pairs 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" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "bank_account" + ], + "type": "string" + }, + "routing_number": { + "description": "The routing transit number for the bank account.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "status": { + "description": "Possible values are `new`, `validated`, `verified`, `verification_failed`, or `errored`. A bank account that hasn't had any activity or validation performed is `new`. If Stripe can determine that the bank account exists, its status will be `validated`. Note that there often isn’t enough information to know (e.g., for smaller credit unions), and the validation is not always run. If customer bank account verification has succeeded, the bank account status will be `verified`. If the verification failed for any reason, such as microdeposit failure, the status will be `verification_failed`. If a transfer sent to this bank account fails, we'll set the status to `errored` and will not continue to send transfers until the bank details are updated.", + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "country", + "currency", + "id", + "last4", + "object", + "status" + ], + "title": "BankAccount", + "type": "object", + "x-expandableFields": [ + "account", + "customer" + ], + "x-resourceId": "bank_account" + }, + "bitcoin_receiver": { + "properties": { + "active": { + "description": "True when this bitcoin receiver has received a non-zero amount of bitcoin.", + "type": "boolean" + }, + "amount": { + "description": "The amount of `currency` that you are collecting as payment.", + "type": "integer" + }, + "amount_received": { + "description": "The amount of `currency` to which `bitcoin_amount_received` has been converted.", + "type": "integer" + }, + "bitcoin_amount": { + "description": "The amount of bitcoin that the customer should send to fill the receiver. The `bitcoin_amount` is denominated in Satoshi: there are 10^8 Satoshi in one bitcoin.", + "type": "integer" + }, + "bitcoin_amount_received": { + "description": "The amount of bitcoin that has been sent by the customer to this receiver.", + "type": "integer" + }, + "bitcoin_uri": { + "description": "This URI can be displayed to the customer as a clickable link (to activate their bitcoin client) or as a QR code (for mobile wallets).", + "maxLength": 5000, + "type": "string" + }, + "created": { + "description": "Time at which the object was created. Measured in seconds since the Unix epoch.", + "format": "unix-time", + "type": "integer" + }, + "currency": { + "description": "Three-letter [ISO code for the currency](https://stripe.com/docs/currencies) to which the bitcoin will be converted.", + "maxLength": 3, + "type": "string" + }, + "customer": { + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "description": { + "description": "An arbitrary string attached to the object. Often useful for displaying to users.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "email": { + "description": "The customer's email address, set by the API call that creates the receiver.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "filled": { + "description": "This flag is initially false and updates to true when the customer sends the `bitcoin_amount` to this receiver.", + "type": "boolean" + }, + "id": { + "description": "Unique identifier for the object.", + "maxLength": 5000, + "type": "string" + }, + "inbound_address": { + "description": "A bitcoin address that is specific to this receiver. The customer can send bitcoin to this address to fill the receiver.", + "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" + }, + "metadata": { + "additionalProperties": { + "maxLength": 500, + "type": "string" + }, + "description": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.", + "type": "object" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "bitcoin_receiver" + ], + "type": "string" + }, + "payment": { + "description": "The ID of the payment created from the receiver, if any. Hidden when viewing the receiver with a publishable key.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "refund_address": { + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "transactions": { + "description": "A list with one entry for each time that the customer sent bitcoin to the receiver. Hidden when viewing the receiver with a publishable key.", + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/bitcoin_transaction" + }, + "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, + "type": "string" + } + }, + "required": [ + "data", + "has_more", + "object", + "url" + ], + "title": "BitcoinTransactionList", + "type": "object", + "x-expandableFields": [ + "data" + ] + }, + "uncaptured_funds": { + "description": "This receiver contains uncaptured funds that can be used for a payment or refunded.", + "type": "boolean" + }, + "used_for_payment": { + "nullable": true, + "type": "boolean" + } + }, + "required": [ + "active", + "amount", + "amount_received", + "bitcoin_amount", + "bitcoin_amount_received", + "bitcoin_uri", + "created", + "currency", + "filled", + "id", + "inbound_address", + "livemode", + "metadata", + "object", + "uncaptured_funds" + ], + "title": "BitcoinReceiver", + "type": "object", + "x-expandableFields": [ + "transactions" + ], + "x-resourceId": "bitcoin_receiver" + }, + "bitcoin_transaction": { + "properties": { + "amount": { + "description": "The amount of `currency` that the transaction was converted to in real-time.", + "type": "integer" + }, + "bitcoin_amount": { + "description": "The amount of bitcoin contained in the transaction.", + "type": "integer" + }, + "created": { + "description": "Time at which the object was created. Measured in seconds since the Unix epoch.", + "format": "unix-time", + "type": "integer" + }, + "currency": { + "description": "Three-letter [ISO code for the currency](https://stripe.com/docs/currencies) to which this transaction was converted.", + "maxLength": 3, + "type": "string" + }, + "id": { + "description": "Unique identifier for the object.", + "maxLength": 5000, + "type": "string" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "bitcoin_transaction" + ], + "type": "string" + }, + "receiver": { + "description": "The receiver to which this transaction was sent.", + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "amount", + "bitcoin_amount", + "created", + "currency", + "id", + "object", + "receiver" + ], + "title": "BitcoinTransaction", + "type": "object", + "x-expandableFields": [ + + ], + "x-resourceId": "bitcoin_transaction" + }, + "card": { + "properties": { + "account": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/account" + } + ], + "description": "The account this card belongs to. This attribute will not be in the card object if the card belongs to a customer or recipient instead.", + "nullable": true, + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/account" + } + ] + } + }, + "address_city": { + "description": "City/District/Suburb/Town/Village.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "address_country": { + "description": "Billing address country, if provided when creating card.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "address_line1": { + "description": "Address line 1 (Street address/PO Box/Company name).", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "address_line1_check": { + "description": "If `address_line1` was provided, results of the check: `pass`, `fail`, `unavailable`, or `unchecked`.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "address_line2": { + "description": "Address line 2 (Apartment/Suite/Unit/Building).", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "address_state": { + "description": "State/County/Province/Region.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "address_zip": { + "description": "ZIP or postal code.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "address_zip_check": { + "description": "If `address_zip` was provided, results of the check: `pass`, `fail`, `unavailable`, or `unchecked`.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "available_payout_methods": { + "description": "A set of available payout methods for this card. Will be either `[\"standard\"]` or `[\"standard\", \"instant\"]`. Only values from this set should be passed as the `method` when creating a transfer.", + "items": { + "type": "string" + }, + "nullable": true, + "type": "array" + }, + "brand": { + "description": "Card brand. Can be `American Express`, `Diners Club`, `Discover`, `JCB`, `MasterCard`, `UnionPay`, `Visa`, or `Unknown`.", + "maxLength": 5000, + "type": "string" + }, + "country": { + "description": "Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "currency": { + "maxLength": 3, + "nullable": true, + "type": "string" + }, + "customer": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/customer" + }, + { + "$ref": "#/components/schemas/deleted_customer" + } + ], + "description": "The customer that this card belongs to. This attribute will not be in the card object if the card belongs to an account or recipient instead.", + "nullable": true, + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/customer" + }, + { + "$ref": "#/components/schemas/deleted_customer" + } + ] + } + }, + "cvc_check": { + "description": "If a CVC was provided, results of the check: `pass`, `fail`, `unavailable`, or `unchecked`.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "default_for_currency": { + "description": "Only applicable on accounts (not customers or recipients). This indicates whether this card is the default external account for its currency.", + "nullable": true, + "type": "boolean" + }, + "dynamic_last4": { + "description": "(For tokenized numbers only.) The last four digits of the device account number.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "exp_month": { + "description": "Two-digit number representing the card's expiration month.", + "type": "integer" + }, + "exp_year": { + "description": "Four-digit number representing the card's expiration year.", + "type": "integer" + }, + "fingerprint": { + "description": "Uniquely identifies this particular card number. You can use this attribute to check whether two customers who've signed up with you are using the same card number, for example.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "funding": { + "description": "Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`.", + "maxLength": 5000, + "type": "string" + }, + "id": { + "description": "Unique identifier for the object.", + "maxLength": 5000, + "type": "string" + }, + "last4": { + "description": "The last four digits of the card.", + "maxLength": 5000, + "type": "string" + }, + "metadata": { + "additionalProperties": { + "maxLength": 500, + "type": "string" + }, + "description": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.", + "type": "object" + }, + "name": { + "description": "Cardholder name.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "card" + ], + "type": "string" + }, + "recipient": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/recipient" + } + ], + "description": "The recipient that this card belongs to. This attribute will not be in the card object if the card belongs to a customer or account instead.", + "nullable": true, + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/recipient" + } + ] + } + }, + "tokenization_method": { + "description": "If the card number is tokenized, this is the method that was used. Can be `apple_pay` or `google_pay`.", + "maxLength": 5000, + "nullable": true, + "type": "string" + } + }, + "required": [ + "brand", + "exp_month", + "exp_year", + "funding", + "id", + "last4", + "metadata", + "object" + ], + "title": "Card", + "type": "object", + "x-expandableFields": [ + "account", + "customer", + "recipient" + ], + "x-resourceId": "card" + }, + "charge": { + "properties": { + "amount": { + "description": "A positive integer in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal) (e.g., 100 cents to charge $1.00 or 100 to charge ¥100, a zero-decimal currency) representing how much to charge. The minimum amount is $0.50 US or [equivalent in charge currency](https://support.stripe.com/questions/what-is-the-minimum-amount-i-can-charge-with-stripe).", + "type": "integer" + }, + "amount_refunded": { + "description": "Amount in %s refunded (can be less than the amount attribute on the charge if a partial refund was issued).", + "type": "integer" + }, + "application": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/application" + } + ], + "description": "ID of the Connect application that created the charge.", + "nullable": true, + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/application" + } + ] + } + }, + "application_fee": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/application_fee" + } + ], + "description": "The application fee (if any) for the charge. [See the Connect documentation](/docs/connect/direct-charges#collecting-fees) for details.", + "nullable": true, + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/application_fee" + } + ] + } + }, + "balance_transaction": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/balance_transaction" + } + ], + "description": "ID of the balance transaction that describes the impact of this charge on your account balance (not including refunds or disputes).", + "nullable": true, + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/balance_transaction" + } + ] + } + }, + "captured": { + "description": "If the charge was created without capturing, this Boolean represents whether it is still uncaptured or has since been captured.", + "type": "boolean" + }, + "created": { + "description": "Time at which the object was created. Measured in seconds since the Unix epoch.", + "format": "unix-time", + "type": "integer" + }, + "currency": { + "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).", + "maxLength": 3, + "type": "string" + }, + "customer": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/customer" + }, + { + "$ref": "#/components/schemas/deleted_customer" + } + ], + "description": "ID of the customer this charge is for if one exists.", + "nullable": true, + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/customer" + }, + { + "$ref": "#/components/schemas/deleted_customer" + } + ] + } + }, + "description": { + "description": "An arbitrary string attached to the object. Often useful for displaying to users.", + "maxLength": 40000, + "nullable": true, + "type": "string" + }, + "destination": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/account" + } + ], + "description": "The account (if any) the charge was made on behalf of, with an automatic transfer. [See the Connect documentation](/docs/connect/destination-charges) for details.", + "nullable": true, + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/account" + } + ] + } + }, + "dispute": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/dispute" + } + ], + "description": "Details about the dispute if the charge has been disputed.", + "nullable": true, + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/dispute" + } + ] + } + }, + "failure_code": { + "description": "Error code explaining reason for charge failure if available (see [the errors section](/docs/api#errors) for a list of codes).", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "failure_message": { + "description": "Message to user further explaining reason for charge failure if available.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "fraud_details": { + "anyOf": [ + { + "$ref": "#/components/schemas/charge_fraud_details" + } + ], + "description": "Information on fraud assessments for the charge.", + "nullable": true + }, + "id": { + "description": "Unique identifier for the object.", + "maxLength": 5000, + "type": "string" + }, + "invoice": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/invoice" + } + ], + "description": "ID of the invoice this charge is for if one exists.", + "nullable": true, + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/invoice" + } + ] + } + }, + "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" + }, + "metadata": { + "additionalProperties": { + "maxLength": 500, + "type": "string" + }, + "description": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.", + "type": "object" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "charge" + ], + "type": "string" + }, + "on_behalf_of": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/account" + } + ], + "description": "The account (if any) the charge was made on behalf of without triggering an automatic transfer. See the [Connect documentation](/docs/connect/charges-transfers) for details.", + "nullable": true, + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/account" + } + ] + } + }, + "order": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/order" + } + ], + "description": "ID of the order this charge is for if one exists.", + "nullable": true, + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/order" + } + ] + } + }, + "outcome": { + "anyOf": [ + { + "$ref": "#/components/schemas/charge_outcome" + } + ], + "description": "Details about whether the payment was accepted, and why. See [understanding declines](/docs/declines) for details.", + "nullable": true + }, + "paid": { + "description": "`true` if the charge succeeded, or was successfully authorized for later capture.", + "type": "boolean" + }, + "payment_intent": { + "description": "ID of the PaymentIntent associated with this charge, if one exists.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "receipt_email": { + "description": "This is the email address that the receipt for this charge was sent to.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "receipt_number": { + "description": "This is the transaction number that appears on email receipts sent for this charge. This attribute will be `null` until a receipt has been sent.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "refunded": { + "description": "Whether the charge has been fully refunded. If the charge is only partially refunded, this attribute will still be false.", + "type": "boolean" + }, + "refunds": { + "description": "A list of refunds that have been applied to the charge.", + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/refund" + }, + "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, + "type": "string" + } + }, + "required": [ + "data", + "has_more", + "object", + "url" + ], + "title": "RefundList", + "type": "object", + "x-expandableFields": [ + "data" + ] + }, + "review": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/review" + } + ], + "description": "ID of the review associated with this charge if one exists.", + "nullable": true, + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/review" + } + ] + } + }, + "shipping": { + "anyOf": [ + { + "$ref": "#/components/schemas/shipping" + } + ], + "description": "Shipping information for the charge.", + "nullable": true + }, + "source": { + "anyOf": [ + { + "$ref": "#/components/schemas/account" + }, + { + "$ref": "#/components/schemas/alipay_account" + }, + { + "$ref": "#/components/schemas/bank_account" + }, + { + "$ref": "#/components/schemas/bitcoin_receiver" + }, + { + "$ref": "#/components/schemas/card" + }, + { + "$ref": "#/components/schemas/source" + } + ], + "description": "For most Stripe users, the source of every charge is a credit or debit card. This hash is then the [card object](#card_object) describing that card." + }, + "source_transfer": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/transfer" + } + ], + "description": "The transfer ID which created this charge. Only present if the charge came from another Stripe account. [See the Connect documentation](/docs/connect/destination-charges) for details.", + "nullable": true, + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/transfer" + } + ] + } + }, + "statement_descriptor": { + "description": "Extra information about a charge. This will appear on your customer's credit card statement. It must contain at least one letter.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "status": { + "description": "The status of the payment is either `succeeded`, `pending`, or `failed`.", + "maxLength": 5000, + "type": "string" + }, + "transfer": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/transfer" + } + ], + "description": "ID of the transfer to the `destination` account (only applicable if the charge was created using the `destination` parameter).", + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/transfer" + } + ] + } + }, + "transfer_group": { + "description": "A string that identifies this transaction as part of a group. See the [Connect documentation](/docs/connect/charges-transfers#grouping-transactions) for details.", + "maxLength": 5000, + "nullable": true, + "type": "string" + } + }, + "required": [ + "amount", + "amount_refunded", + "captured", + "created", + "currency", + "id", + "livemode", + "metadata", + "object", + "paid", + "refunded", + "refunds", + "source", + "status" + ], + "title": "Charge", + "type": "object", + "x-expandableFields": [ + "application", + "application_fee", + "balance_transaction", + "customer", + "destination", + "dispute", + "fraud_details", + "invoice", + "on_behalf_of", + "order", + "outcome", + "refunds", + "review", + "shipping", + "source", + "source_transfer", + "transfer" + ], + "x-resourceId": "charge" + }, + "charge_fraud_details": { + "properties": { + "stripe_report": { + "description": "Assessments from Stripe. If set, the value is `fraudulent`.", + "maxLength": 5000, + "type": "string" + }, + "user_report": { + "description": "Assessments reported by you. If set, possible values of are `safe` and `fraudulent`.", + "maxLength": 5000, + "type": "string" + } + }, + "title": "ChargeFraudDetails", + "type": "object", + "x-expandableFields": [ + + ] + }, + "charge_outcome": { + "properties": { + "network_status": { + "description": "Possible values are `approved_by_network`, `declined_by_network`, `not_sent_to_network`, and `reversed_after_approval`. The value `reversed_after_approval` indicates the payment was [blocked by Stripe](/docs/declines#blocked-payments) after bank authorization, and may temporarily appear as \"pending\" on a cardholder's statement.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "reason": { + "description": "An enumerated value providing a more detailed explanation of the outcome's `type`. Charges blocked by Radar's default block rule have the value `highest_risk_level`. Charges placed in review by Radar's default review rule have the value `elevated_risk_level`. Charges authorized, blocked, or placed in review by custom rules have the value `rule`. See [understanding declines](/docs/declines) for more details.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "risk_level": { + "description": "Stripe's evaluation of the riskiness of the payment. Possible values for evaluated payments are `normal`, `elevated`, `highest`. For non-card payments, and card-based payments predating the public assignment of risk levels, this field will have the value `not_assessed`. In the event of an error in the evaluation, this field will have the value `unknown`.", + "maxLength": 5000, + "type": "string" + }, + "risk_score": { + "description": "Stripe's evaluation of the riskiness of the payment. Possible values for evaluated payments are between 0 and 100. For non-card payments, card-based payments predating the public assignment of risk scores, or in the event of an error during evaluation, this field will not be present. This field is only available with Radar for Fraud Teams.", + "type": "integer" + }, + "rule": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/rule" + } + ], + "description": "The ID of the Radar rule that matched the payment, if applicable.", + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/rule" + } + ] + } + }, + "seller_message": { + "description": "A human-readable description of the outcome type and reason, designed for you (the recipient of the payment), not your customer.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "type": { + "description": "Possible values are `authorized`, `manual_review`, `issuer_declined`, `blocked`, and `invalid`. See [understanding declines](/docs/declines) and [Radar reviews](radar/review) for details.", + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "type" + ], + "title": "ChargeOutcome", + "type": "object", + "x-expandableFields": [ + "rule" + ] + }, + "checkout_session": { + "properties": { + "id": { + "maxLength": 5000, + "type": "string" + }, + "livemode": { + "type": "boolean" + }, + "object": { + "enum": [ + "checkout_session" + ], + "type": "string" + } + }, + "required": [ + "id", + "livemode", + "object" + ], + "title": "CheckoutSession", + "type": "object", + "x-expandableFields": [ + + ], + "x-resourceId": "checkout_session" + }, + "connect_collection_transfer": { + "properties": { + "amount": { + "description": "Amount transferred, in %s.", + "type": "integer" + }, + "currency": { + "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).", + "maxLength": 3, + "type": "string" + }, + "destination": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/account" + } + ], + "description": "ID of the account that funds are being collected for.", + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/account" + } + ] + } + }, + "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" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "connect_collection_transfer" + ], + "type": "string" + } + }, + "required": [ + "amount", + "currency", + "destination", + "id", + "livemode", + "object" + ], + "title": "ConnectCollectionTransfer", + "type": "object", + "x-expandableFields": [ + "destination" + ] + }, + "country_spec": { + "properties": { + "default_currency": { + "description": "The default currency for this country. This applies to both payment methods and bank accounts.", + "maxLength": 5000, + "type": "string" + }, + "id": { + "description": "Unique identifier for the object. Represented as the ISO country code for this country.", + "maxLength": 5000, + "type": "string" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "country_spec" + ], + "type": "string" + }, + "supported_bank_account_currencies": { + "additionalProperties": { + "items": { + "type": "string" + }, + "type": "array" + }, + "description": "Currencies that can be accepted in the specific country (for transfers).", + "type": "object" + }, + "supported_payment_currencies": { + "description": "Currencies that can be accepted in the specified country (for payments).", + "items": { + "type": "string" + }, + "type": "array" + }, + "supported_payment_methods": { + "description": "Payment methods available in the specified country. You may need to enable some payment methods (e.g., [ACH](https://stripe.com/docs/ach)) on your account before they appear in this list. The `stripe` payment method refers to [charging through your platform](https://stripe.com/docs/connect/destination-charges).", + "items": { + "type": "string" + }, + "type": "array" + }, + "supported_transfer_countries": { + "description": "Countries that can accept transfers from the specified country.", + "items": { + "type": "string" + }, + "type": "array" + }, + "verification_fields": { + "$ref": "#/components/schemas/country_spec_verification_fields" + } + }, + "required": [ + "default_currency", + "id", + "object", + "supported_bank_account_currencies", + "supported_payment_currencies", + "supported_payment_methods", + "supported_transfer_countries", + "verification_fields" + ], + "title": "CountrySpec", + "type": "object", + "x-expandableFields": [ + "verification_fields" + ], + "x-resourceId": "country_spec" + }, + "country_spec_verification_field_details": { + "properties": { + "additional": { + "description": "Additional fields which are only required for some users.", + "items": { + "type": "string" + }, + "type": "array" + }, + "minimum": { + "description": "Fields which every account must eventually provide.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "additional", + "minimum" + ], + "title": "CountrySpecVerificationFieldDetails", + "type": "object", + "x-expandableFields": [ + + ] + }, + "country_spec_verification_fields": { + "properties": { + "company": { + "$ref": "#/components/schemas/country_spec_verification_field_details" + }, + "individual": { + "$ref": "#/components/schemas/country_spec_verification_field_details" + } + }, + "required": [ + "company", + "individual" + ], + "title": "CountrySpecVerificationFields", + "type": "object", + "x-expandableFields": [ + "company", + "individual" + ] + }, + "coupon": { + "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" + }, + "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.", + "maxLength": 3, + "nullable": true, + "type": "string" + }, + "duration": { + "description": "One of `forever`, `once`, and `repeating`. Describes how long a customer who applies this coupon will get the discount.", + "enum": [ + "forever", + "once", + "repeating" + ], + "type": "string" + }, + "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 that you can attach to an object. This can be useful for storing additional information about the object in a structured format.", + "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 %s100 invoice %s50 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", + "metadata", + "object", + "times_redeemed", + "valid" + ], + "title": "Coupon", + "type": "object", + "x-expandableFields": [ + + ], + "x-resourceId": "coupon" + }, + "customer": { + "properties": { + "account_balance": { + "description": "Current balance, if any, being stored on the customer's account. If negative, the customer has credit to apply to the next invoice. If positive, the customer has an amount owed that will be added to the next invoice. The balance does not refer to any unpaid invoices; it solely takes into account amounts that have yet to be successfully applied to any invoice. This balance is only taken into account as invoices are finalized. Note that the balance does not include unpaid invoices.", + "type": "integer" + }, + "created": { + "description": "Time at which the object was created. Measured in seconds since the Unix epoch.", + "format": "unix-time", + "type": "integer" + }, + "currency": { + "description": "Three-letter [ISO code for the currency](https://stripe.com/docs/currencies) the customer can be charged in for recurring billing purposes.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "default_source": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/alipay_account" + }, + { + "$ref": "#/components/schemas/bank_account" + }, + { + "$ref": "#/components/schemas/bitcoin_receiver" + }, + { + "$ref": "#/components/schemas/card" + }, + { + "$ref": "#/components/schemas/source" + } + ], + "description": "ID of the default source attached to this customer.", + "nullable": true, + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/alipay_account" + }, + { + "$ref": "#/components/schemas/bank_account" + }, + { + "$ref": "#/components/schemas/bitcoin_receiver" + }, + { + "$ref": "#/components/schemas/card" + }, + { + "$ref": "#/components/schemas/source" + } + ] + } + }, + "delinquent": { + "description": "When the customer's latest invoice is billed by charging automatically, delinquent is true if the invoice's latest charge is failed. When the customer's latest invoice is billed by sending an invoice, delinquent is true if the invoice is not paid by its due date.", + "nullable": true, + "type": "boolean" + }, + "description": { + "description": "An arbitrary string attached to the object. Often useful for displaying to users.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "discount": { + "anyOf": [ + { + "$ref": "#/components/schemas/discount" + } + ], + "description": "Describes the current discount active on the customer, if there is one.", + "nullable": true + }, + "email": { + "description": "The customer's email address.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "id": { + "description": "Unique identifier for the object.", + "maxLength": 5000, + "type": "string" + }, + "invoice_prefix": { + "description": "The prefix for the customer used to generate unique invoice numbers.", + "maxLength": 5000, + "nullable": true, + "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" + }, + "metadata": { + "additionalProperties": { + "maxLength": 500, + "type": "string" + }, + "description": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.", + "type": "object" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "customer" + ], + "type": "string" + }, + "shipping": { + "anyOf": [ + { + "$ref": "#/components/schemas/shipping" + } + ], + "description": "Mailing and shipping address for the customer. Appears on invoices emailed to this customer.", + "nullable": true + }, + "sources": { + "description": "The customer's payment sources, if any.", + "properties": { + "data": { + "description": "The list contains all payment sources that have been attached to the customer.", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/alipay_account" + }, + { + "$ref": "#/components/schemas/bank_account" + }, + { + "$ref": "#/components/schemas/bitcoin_receiver" + }, + { + "$ref": "#/components/schemas/card" + }, + { + "$ref": "#/components/schemas/source" + } + ], + "title": "Polymorphic" + }, + "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, + "type": "string" + } + }, + "required": [ + "data", + "has_more", + "object", + "url" + ], + "title": "ApmsSourcesSourceList", + "type": "object", + "x-expandableFields": [ + "data" + ] + }, + "subscriptions": { + "description": "The customer's current subscriptions, if any.", + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/subscription" + }, + "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, + "type": "string" + } + }, + "required": [ + "data", + "has_more", + "object", + "url" + ], + "title": "SubscriptionList", + "type": "object", + "x-expandableFields": [ + "data" + ] + }, + "tax_info": { + "anyOf": [ + { + "$ref": "#/components/schemas/tax_info" + } + ], + "description": "The customer's tax information. Appears on invoices emailed to this customer.", + "nullable": true + }, + "tax_info_verification": { + "anyOf": [ + { + "$ref": "#/components/schemas/tax_info_verification" + } + ], + "description": "Describes the status of looking up the tax ID provided in `tax_info`.", + "nullable": true + } + }, + "required": [ + "created", + "id", + "livemode", + "object", + "sources" + ], + "title": "Customer", + "type": "object", + "x-expandableFields": [ + "default_source", + "discount", + "shipping", + "sources", + "subscriptions", + "tax_info", + "tax_info_verification" + ], + "x-resourceId": "customer" + }, + "deleted_account": { + "properties": { + "deleted": { + "description": "Always true for a deleted object", + "enum": [ + true + ], + "type": "boolean" + }, + "id": { + "description": "Unique identifier for the object.", + "maxLength": 5000, + "type": "string" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "account" + ], + "type": "string" + } + }, + "required": [ + "deleted", + "id", + "object" + ], + "title": "DeletedAccount", + "type": "object", + "x-expandableFields": [ + + ], + "x-resourceId": "deleted_account" + }, + "deleted_alipay_account": { + "properties": { + "deleted": { + "description": "Always true for a deleted object", + "enum": [ + true + ], + "type": "boolean" + }, + "id": { + "description": "Unique identifier for the object.", + "maxLength": 5000, + "type": "string" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "alipay_account" + ], + "type": "string" + } + }, + "required": [ + "deleted", + "id", + "object" + ], + "title": "AlipayDeletedAccount", + "type": "object", + "x-expandableFields": [ + + ] + }, + "deleted_apple_pay_domain": { + "properties": { + "deleted": { + "description": "Always true for a deleted object", + "enum": [ + true + ], + "type": "boolean" + }, + "id": { + "description": "Unique identifier for the object.", + "maxLength": 5000, + "type": "string" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "apple_pay_domain" + ], + "type": "string" + } + }, + "required": [ + "deleted", + "id", + "object" + ], + "title": "DeletedApplePayDomain", + "type": "object", + "x-expandableFields": [ + + ], + "x-resourceId": "deleted_apple_pay_domain" + }, + "deleted_bank_account": { + "properties": { + "currency": { + "description": "Three-letter [ISO code for the currency](https://stripe.com/docs/payouts) paid out to the bank account.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "deleted": { + "description": "Always true for a deleted object", + "enum": [ + true + ], + "type": "boolean" + }, + "id": { + "description": "Unique identifier for the object.", + "maxLength": 5000, + "type": "string" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "bank_account" + ], + "type": "string" + } + }, + "required": [ + "deleted", + "id", + "object" + ], + "title": "DeletedBankAccount", + "type": "object", + "x-expandableFields": [ + + ] + }, + "deleted_bitcoin_receiver": { + "properties": { + "deleted": { + "description": "Always true for a deleted object", + "enum": [ + true + ], + "type": "boolean" + }, + "id": { + "description": "Unique identifier for the object.", + "maxLength": 5000, + "type": "string" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "bitcoin_receiver" + ], + "type": "string" + } + }, + "required": [ + "deleted", + "id", + "object" + ], + "title": "BitcoinDeletedReceiver", + "type": "object", + "x-expandableFields": [ + + ] + }, + "deleted_card": { + "properties": { + "currency": { + "description": "Three-letter [ISO code for the currency](https://stripe.com/docs/payouts) paid out to the bank account.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "deleted": { + "description": "Always true for a deleted object", + "enum": [ + true + ], + "type": "boolean" + }, + "id": { + "description": "Unique identifier for the object.", + "maxLength": 5000, + "type": "string" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "card" + ], + "type": "string" + } + }, + "required": [ + "deleted", + "id", + "object" + ], + "title": "DeletedCard", + "type": "object", + "x-expandableFields": [ + + ] + }, + "deleted_coupon": { + "properties": { + "deleted": { + "description": "Always true for a deleted object", + "enum": [ + true + ], + "type": "boolean" + }, + "id": { + "description": "Unique identifier for the object.", + "maxLength": 5000, + "type": "string" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "coupon" + ], + "type": "string" + } + }, + "required": [ + "deleted", + "id", + "object" + ], + "title": "DeletedCoupon", + "type": "object", + "x-expandableFields": [ + + ], + "x-resourceId": "deleted_coupon" + }, + "deleted_customer": { + "properties": { + "deleted": { + "description": "Always true for a deleted object", + "enum": [ + true + ], + "type": "boolean" + }, + "id": { + "description": "Unique identifier for the object.", + "maxLength": 5000, + "type": "string" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "customer" + ], + "type": "string" + } + }, + "required": [ + "deleted", + "id", + "object" + ], + "title": "DeletedCustomer", + "type": "object", + "x-expandableFields": [ + + ], + "x-resourceId": "deleted_customer" + }, + "deleted_discount": { + "properties": { + "deleted": { + "description": "Always true for a deleted object", + "enum": [ + true + ], + "type": "boolean" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "discount" + ], + "type": "string" + } + }, + "required": [ + "deleted", + "object" + ], + "title": "DeletedDiscount", + "type": "object", + "x-expandableFields": [ + + ], + "x-resourceId": "deleted_discount" + }, + "deleted_external_account": { + "anyOf": [ + { + "$ref": "#/components/schemas/deleted_bank_account" + }, + { + "$ref": "#/components/schemas/deleted_card" + } + ], + "title": "Polymorphic", + "x-resourceId": "deleted_external_account" + }, + "deleted_invoice": { + "properties": { + "deleted": { + "description": "Always true for a deleted object", + "enum": [ + true + ], + "type": "boolean" + }, + "id": { + "description": "Unique identifier for the object.", + "maxLength": 5000, + "type": "string" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "invoice" + ], + "type": "string" + } + }, + "required": [ + "deleted", + "id", + "object" + ], + "title": "DeletedInvoice", + "type": "object", + "x-expandableFields": [ + + ], + "x-resourceId": "deleted_invoice" + }, + "deleted_invoiceitem": { + "properties": { + "deleted": { + "description": "Always true for a deleted object", + "enum": [ + true + ], + "type": "boolean" + }, + "id": { + "description": "Unique identifier for the object.", + "maxLength": 5000, + "type": "string" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "invoiceitem" + ], + "type": "string" + } + }, + "required": [ + "deleted", + "id", + "object" + ], + "title": "DeletedInvoiceItem", + "type": "object", + "x-expandableFields": [ + + ], + "x-resourceId": "deleted_invoiceitem" + }, + "deleted_payment_source": { + "anyOf": [ + { + "$ref": "#/components/schemas/deleted_alipay_account" + }, + { + "$ref": "#/components/schemas/deleted_bank_account" + }, + { + "$ref": "#/components/schemas/deleted_bitcoin_receiver" + }, + { + "$ref": "#/components/schemas/deleted_card" + } + ], + "title": "Polymorphic", + "x-resourceId": "deleted_payment_source" + }, + "deleted_person": { + "properties": { + "deleted": { + "description": "Always true for a deleted object", + "enum": [ + true + ], + "type": "boolean" + }, + "id": { + "description": "Unique identifier for the object.", + "maxLength": 5000, + "type": "string" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "person" + ], + "type": "string" + } + }, + "required": [ + "deleted", + "id", + "object" + ], + "title": "DeletedPerson", + "type": "object", + "x-expandableFields": [ + + ], + "x-resourceId": "deleted_person" + }, + "deleted_plan": { + "properties": { + "deleted": { + "description": "Always true for a deleted object", + "enum": [ + true + ], + "type": "boolean" + }, + "id": { + "description": "Unique identifier for the object.", + "maxLength": 5000, + "type": "string" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "plan" + ], + "type": "string" + } + }, + "required": [ + "deleted", + "id", + "object" + ], + "title": "DeletedPlan", + "type": "object", + "x-expandableFields": [ + + ], + "x-resourceId": "deleted_plan" + }, + "deleted_product": { + "properties": { + "deleted": { + "description": "Always true for a deleted object", + "enum": [ + true + ], + "type": "boolean" + }, + "id": { + "description": "Unique identifier for the object.", + "maxLength": 5000, + "type": "string" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "product" + ], + "type": "string" + } + }, + "required": [ + "deleted", + "id", + "object" + ], + "title": "DeletedProduct", + "type": "object", + "x-expandableFields": [ + + ], + "x-resourceId": "deleted_product" + }, + "deleted_radar.value_list": { + "properties": { + "deleted": { + "description": "Always true for a deleted object", + "enum": [ + true + ], + "type": "boolean" + }, + "id": { + "description": "Unique identifier for the object.", + "maxLength": 5000, + "type": "string" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "radar.value_list" + ], + "type": "string" + } + }, + "required": [ + "deleted", + "id", + "object" + ], + "title": "RadarListDeletedList", + "type": "object", + "x-expandableFields": [ + + ], + "x-resourceId": "deleted_radar.value_list" + }, + "deleted_radar.value_list_item": { + "properties": { + "deleted": { + "description": "Always true for a deleted object", + "enum": [ + true + ], + "type": "boolean" + }, + "id": { + "description": "Unique identifier for the object.", + "maxLength": 5000, + "type": "string" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "radar.value_list_item" + ], + "type": "string" + } + }, + "required": [ + "deleted", + "id", + "object" + ], + "title": "RadarListDeletedListItem", + "type": "object", + "x-expandableFields": [ + + ], + "x-resourceId": "deleted_radar.value_list_item" + }, + "deleted_recipient": { + "properties": { + "deleted": { + "description": "Always true for a deleted object", + "enum": [ + true + ], + "type": "boolean" + }, + "id": { + "description": "Unique identifier for the object.", + "maxLength": 5000, + "type": "string" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "recipient" + ], + "type": "string" + } + }, + "required": [ + "deleted", + "id", + "object" + ], + "title": "DeletedTransferRecipient", + "type": "object", + "x-expandableFields": [ + + ], + "x-resourceId": "deleted_recipient" + }, + "deleted_sku": { + "properties": { + "deleted": { + "description": "Always true for a deleted object", + "enum": [ + true + ], + "type": "boolean" + }, + "id": { + "description": "Unique identifier for the object.", + "maxLength": 5000, + "type": "string" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "sku" + ], + "type": "string" + } + }, + "required": [ + "deleted", + "id", + "object" + ], + "title": "DeletedSKU", + "type": "object", + "x-expandableFields": [ + + ], + "x-resourceId": "deleted_sku" + }, + "deleted_subscription_item": { + "properties": { + "deleted": { + "description": "Always true for a deleted object", + "enum": [ + true + ], + "type": "boolean" + }, + "id": { + "description": "Unique identifier for the object.", + "maxLength": 5000, + "type": "string" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "subscription_item" + ], + "type": "string" + } + }, + "required": [ + "deleted", + "id", + "object" + ], + "title": "DeletedSubscriptionItem", + "type": "object", + "x-expandableFields": [ + + ], + "x-resourceId": "deleted_subscription_item" + }, + "deleted_tax_rate_template": { + "properties": { + "deleted": { + "description": "Always true for a deleted object", + "enum": [ + true + ], + "type": "boolean" + }, + "id": { + "description": "Unique identifier for the object.", + "maxLength": 5000, + "type": "string" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "tax_rate_template" + ], + "type": "string" + } + }, + "required": [ + "deleted", + "id", + "object" + ], + "title": "DeletedTaxRateTemplate", + "type": "object", + "x-expandableFields": [ + + ], + "x-resourceId": "deleted_tax_rate_template" + }, + "deleted_webhook_endpoint": { + "properties": { + "deleted": { + "description": "Always true for a deleted object", + "enum": [ + true + ], + "type": "boolean" + }, + "id": { + "description": "Unique identifier for the object.", + "maxLength": 5000, + "type": "string" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "webhook_endpoint" + ], + "type": "string" + } + }, + "required": [ + "deleted", + "id", + "object" + ], + "title": "NotificationWebhookEndpointDeleted", + "type": "object", + "x-expandableFields": [ + + ], + "x-resourceId": "deleted_webhook_endpoint" + }, + "delivery_estimate": { + "properties": { + "date": { + "description": "If `type` is `\"exact\"`, `date` will be the expected delivery date in the format YYYY-MM-DD.", + "maxLength": 5000, + "type": "string" + }, + "earliest": { + "description": "If `type` is `\"range\"`, `earliest` will be be the earliest delivery date in the format YYYY-MM-DD.", + "maxLength": 5000, + "type": "string" + }, + "latest": { + "description": "If `type` is `\"range\"`, `latest` will be the latest delivery date in the format YYYY-MM-DD.", + "maxLength": 5000, + "type": "string" + }, + "type": { + "description": "The type of estimate. Must be either `\"range\"` or `\"exact\"`.", + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "type" + ], + "title": "DeliveryEstimate", + "type": "object", + "x-expandableFields": [ + + ] + }, + "discount": { + "properties": { + "coupon": { + "$ref": "#/components/schemas/coupon" + }, + "customer": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/customer" + }, + { + "$ref": "#/components/schemas/deleted_customer" + } + ], + "nullable": true, + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/customer" + }, + { + "$ref": "#/components/schemas/deleted_customer" + } + ] + } + }, + "end": { + "description": "If the coupon has a duration of `repeating`, the date that this discount will end. If the coupon has a duration of `once` or `forever`, this attribute will be null.", + "format": "unix-time", + "nullable": true, + "type": "integer" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "discount" + ], + "type": "string" + }, + "start": { + "description": "Date that the coupon was applied.", + "format": "unix-time", + "type": "integer" + }, + "subscription": { + "description": "The subscription that this coupon is applied to, if it is applied to a particular subscription.", + "maxLength": 5000, + "nullable": true, + "type": "string" + } + }, + "required": [ + "coupon", + "object", + "start" + ], + "title": "Discount", + "type": "object", + "x-expandableFields": [ + "coupon", + "customer" + ], + "x-resourceId": "discount" + }, + "dispute": { + "properties": { + "amount": { + "description": "Disputed amount. Usually the amount of the charge, but can differ (usually because of currency fluctuation or because only part of the order is disputed).", + "type": "integer" + }, + "balance_transactions": { + "description": "List of zero, one, or two balance transactions that show funds withdrawn and reinstated to your Stripe account as a result of this dispute.", + "items": { + "$ref": "#/components/schemas/balance_transaction" + }, + "type": "array" + }, + "charge": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/charge" + } + ], + "description": "ID of the charge that was disputed.", + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/charge" + } + ] + } + }, + "created": { + "description": "Time at which the object was created. Measured in seconds since the Unix epoch.", + "format": "unix-time", + "type": "integer" + }, + "currency": { + "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).", + "maxLength": 3, + "type": "string" + }, + "evidence": { + "$ref": "#/components/schemas/dispute_evidence" + }, + "evidence_details": { + "$ref": "#/components/schemas/dispute_evidence_details" + }, + "id": { + "description": "Unique identifier for the object.", + "maxLength": 5000, + "type": "string" + }, + "is_charge_refundable": { + "description": "If true, it is still possible to refund the disputed payment. Once the payment has been fully refunded, no further funds will be withdrawn from your Stripe account as a result of this dispute.", + "type": "boolean" + }, + "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" + }, + "metadata": { + "additionalProperties": { + "maxLength": 500, + "type": "string" + }, + "description": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.", + "type": "object" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "dispute" + ], + "type": "string" + }, + "reason": { + "description": "Reason given by cardholder for dispute. Possible values are `duplicate`, `fraudulent`, `subscription_canceled`, `product_unacceptable`, `product_not_received`, `unrecognized`, `credit_not_processed`, `general`, `incorrect_account_details`, `insufficient_funds`, `bank_cannot_process`, `debit_not_authorized`, or `customer_initiated`. Read more about [dispute reasons](/docs/disputes/categories).", + "maxLength": 5000, + "type": "string" + }, + "status": { + "description": "Current status of dispute. Possible values are `warning_needs_response`, `warning_under_review`, `warning_closed`, `needs_response`, `under_review`, `charge_refunded`, `won`, or `lost`.", + "enum": [ + "charge_refunded", + "lost", + "needs_response", + "under_review", + "warning_closed", + "warning_needs_response", + "warning_under_review", + "won" + ], + "type": "string" + } + }, + "required": [ + "amount", + "balance_transactions", + "charge", + "created", + "currency", + "evidence", + "evidence_details", + "id", + "is_charge_refundable", + "livemode", + "metadata", + "object", + "reason", + "status" + ], + "title": "Dispute", + "type": "object", + "x-expandableFields": [ + "balance_transactions", + "charge", + "evidence", + "evidence_details" + ], + "x-resourceId": "dispute" + }, + "dispute_evidence": { + "properties": { + "access_activity_log": { + "description": "Any server or activity logs showing proof that the customer accessed or downloaded the purchased digital product. This information should include IP addresses, corresponding timestamps, and any detailed recorded activity.", + "maxLength": 150000, + "nullable": true, + "type": "string" + }, + "billing_address": { + "description": "The billing address provided by the customer.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "cancellation_policy": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/file" + } + ], + "description": "(ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Your subscription cancellation policy, as shown to the customer.", + "nullable": true, + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/file" + } + ] + } + }, + "cancellation_policy_disclosure": { + "description": "An explanation of how and when the customer was shown your refund policy prior to purchase.", + "maxLength": 150000, + "nullable": true, + "type": "string" + }, + "cancellation_rebuttal": { + "description": "A justification for why the customer's subscription was not canceled.", + "maxLength": 150000, + "nullable": true, + "type": "string" + }, + "customer_communication": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/file" + } + ], + "description": "(ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Any communication with the customer that you feel is relevant to your case. Examples include emails proving that the customer received the product or service, or demonstrating their use of or satisfaction with the product or service.", + "nullable": true, + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/file" + } + ] + } + }, + "customer_email_address": { + "description": "The email address of the customer.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "customer_name": { + "description": "The name of the customer.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "customer_purchase_ip": { + "description": "The IP address that the customer used when making the purchase.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "customer_signature": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/file" + } + ], + "description": "(ID of a [file upload](https://stripe.com/docs/guides/file-upload)) A relevant document or contract showing the customer's signature.", + "nullable": true, + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/file" + } + ] + } + }, + "duplicate_charge_documentation": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/file" + } + ], + "description": "(ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Documentation for the prior charge that can uniquely identify the charge, such as a receipt, shipping label, work order, etc. This document should be paired with a similar document from the disputed payment that proves the two payments are separate.", + "nullable": true, + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/file" + } + ] + } + }, + "duplicate_charge_explanation": { + "description": "An explanation of the difference between the disputed charge versus the prior charge that appears to be a duplicate.", + "maxLength": 150000, + "nullable": true, + "type": "string" + }, + "duplicate_charge_id": { + "description": "The Stripe ID for the prior charge which appears to be a duplicate of the disputed charge.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "product_description": { + "description": "A description of the product or service that was sold.", + "maxLength": 150000, + "nullable": true, + "type": "string" + }, + "receipt": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/file" + } + ], + "description": "(ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Any receipt or message sent to the customer notifying them of the charge.", + "nullable": true, + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/file" + } + ] + } + }, + "refund_policy": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/file" + } + ], + "description": "(ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Your refund policy, as shown to the customer.", + "nullable": true, + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/file" + } + ] + } + }, + "refund_policy_disclosure": { + "description": "Documentation demonstrating that the customer was shown your refund policy prior to purchase.", + "maxLength": 150000, + "nullable": true, + "type": "string" + }, + "refund_refusal_explanation": { + "description": "A justification for why the customer is not entitled to a refund.", + "maxLength": 150000, + "nullable": true, + "type": "string" + }, + "service_date": { + "description": "The date on which the customer received or began receiving the purchased service, in a clear human-readable format.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "service_documentation": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/file" + } + ], + "description": "(ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Documentation showing proof that a service was provided to the customer. This could include a copy of a signed contract, work order, or other form of written agreement.", + "nullable": true, + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/file" + } + ] + } + }, + "shipping_address": { + "description": "The address to which a physical product was shipped. You should try to include as complete address information as possible.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "shipping_carrier": { + "description": "The delivery service that shipped a physical product, such as Fedex, UPS, USPS, etc. If multiple carriers were used for this purchase, please separate them with commas.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "shipping_date": { + "description": "The date on which a physical product began its route to the shipping address, in a clear human-readable format.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "shipping_documentation": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/file" + } + ], + "description": "(ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Documentation showing proof that a product was shipped to the customer at the same address the customer provided to you. This could include a copy of the shipment receipt, shipping label, etc. It should show the customer's full shipping address, if possible.", + "nullable": true, + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/file" + } + ] + } + }, + "shipping_tracking_number": { + "description": "The tracking number for a physical product, obtained from the delivery service. If multiple tracking numbers were generated for this purchase, please separate them with commas.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "uncategorized_file": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/file" + } + ], + "description": "(ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Any additional evidence or statements.", + "nullable": true, + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/file" + } + ] + } + }, + "uncategorized_text": { + "description": "Any additional evidence or statements.", + "maxLength": 150000, + "nullable": true, + "type": "string" + } + }, + "title": "DisputeEvidence", + "type": "object", + "x-expandableFields": [ + "cancellation_policy", + "customer_communication", + "customer_signature", + "duplicate_charge_documentation", + "receipt", + "refund_policy", + "service_documentation", + "shipping_documentation", + "uncategorized_file" + ] + }, + "dispute_evidence_details": { + "properties": { + "due_by": { + "description": "Date by which evidence must be submitted in order to successfully challenge dispute. Will be null if the customer's bank or credit card company doesn't allow a response for this particular dispute.", + "format": "unix-time", + "nullable": true, + "type": "integer" + }, + "has_evidence": { + "description": "Whether evidence has been staged for this dispute.", + "type": "boolean" + }, + "past_due": { + "description": "Whether the last evidence submission was submitted past the due date. Defaults to `false` if no evidence submissions have occurred. If `true`, then delivery of the latest evidence is *not* guaranteed.", + "type": "boolean" + }, + "submission_count": { + "description": "The number of times evidence has been submitted. Typically, you may only submit evidence once.", + "type": "integer" + } + }, + "required": [ + "has_evidence", + "past_due", + "submission_count" + ], + "title": "DisputeEvidenceDetails", + "type": "object", + "x-expandableFields": [ + + ] + }, + "ephemeral_key": { + "properties": { + "created": { + "description": "Time at which the object was created. Measured in seconds since the Unix epoch.", + "format": "unix-time", + "type": "integer" + }, + "expires": { + "description": "Time at which the key will expire. Measured in seconds since the Unix epoch.", + "format": "unix-time", + "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" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "ephemeral_key" + ], + "type": "string" + }, + "secret": { + "description": "The key's secret. You can use this value to make authorized requests to the Stripe API.", + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "created", + "expires", + "id", + "livemode", + "object" + ], + "title": "EphemeralKey", + "type": "object", + "x-expandableFields": [ + + ], + "x-resourceId": "ephemeral_key" + }, + "error": { + "description": "An error response from the Stripe API", + "properties": { + "error": { + "$ref": "#/components/schemas/api_errors" + } + }, + "required": [ + "error" + ], + "type": "object" + }, + "event": { + "properties": { + "api_version": { + "description": "The Stripe API version used to render `data`. *Note: This property is populated only for events on or after October 31, 2014*.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "created": { + "description": "Time at which the object was created. Measured in seconds since the Unix epoch.", + "format": "unix-time", + "type": "integer" + }, + "data": { + "$ref": "#/components/schemas/notification_event_data" + }, + "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" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "event" + ], + "type": "string" + }, + "pending_webhooks": { + "description": "Number of webhooks that have yet to be successfully delivered (i.e., to return a 20x response) to the URLs you've specified.", + "type": "integer" + }, + "request": { + "anyOf": [ + { + "$ref": "#/components/schemas/notification_event_request" + } + ], + "description": "Information on the API request that instigated the event.", + "nullable": true + }, + "type": { + "description": "Description of the event (e.g., `invoice.created` or `charge.refunded`).", + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "created", + "data", + "id", + "livemode", + "object", + "pending_webhooks", + "type" + ], + "title": "NotificationEvent", + "type": "object", + "x-expandableFields": [ + "data", + "request" + ], + "x-resourceId": "event" + }, + "exchange_rate": { + "properties": { + "id": { + "description": "Unique identifier for the object. Represented as the three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html) in lowercase.", + "maxLength": 5000, + "type": "string" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "exchange_rate" + ], + "type": "string" + }, + "rates": { + "additionalProperties": { + "type": "number" + }, + "description": "Hash where the keys are supported currencies and the values are the exchange rate at which the base id currency converts to the key currency.", + "type": "object" + } + }, + "required": [ + "id", + "object", + "rates" + ], + "title": "ExchangeRate", + "type": "object", + "x-expandableFields": [ + + ], + "x-resourceId": "exchange_rate" + }, + "external_account": { + "anyOf": [ + { + "$ref": "#/components/schemas/bank_account" + }, + { + "$ref": "#/components/schemas/card" + } + ], + "title": "Polymorphic", + "x-resourceId": "external_account" + }, + "fee": { + "properties": { + "amount": { + "description": "Amount of the fee, in cents.", + "type": "integer" + }, + "application": { + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "currency": { + "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).", + "maxLength": 3, + "type": "string" + }, + "description": { + "description": "An arbitrary string attached to the object. Often useful for displaying to users.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "type": { + "description": "Type of the fee, one of: `application_fee`, `stripe_fee` or `tax`.", + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "amount", + "currency", + "type" + ], + "title": "Fee", + "type": "object", + "x-expandableFields": [ + + ] + }, + "fee_refund": { + "properties": { + "amount": { + "description": "Amount, in %s.", + "type": "integer" + }, + "balance_transaction": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/balance_transaction" + } + ], + "description": "Balance transaction that describes the impact on your account balance.", + "nullable": true, + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/balance_transaction" + } + ] + } + }, + "created": { + "description": "Time at which the object was created. Measured in seconds since the Unix epoch.", + "format": "unix-time", + "type": "integer" + }, + "currency": { + "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).", + "maxLength": 3, + "type": "string" + }, + "fee": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/application_fee" + } + ], + "description": "ID of the application fee that was refunded.", + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/application_fee" + } + ] + } + }, + "id": { + "description": "Unique identifier for the object.", + "maxLength": 5000, + "type": "string" + }, + "metadata": { + "additionalProperties": { + "maxLength": 500, + "type": "string" + }, + "description": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.", + "type": "object" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "fee_refund" + ], + "type": "string" + } + }, + "required": [ + "amount", + "created", + "currency", + "fee", + "id", + "metadata", + "object" + ], + "title": "FeeRefund", + "type": "object", + "x-expandableFields": [ + "balance_transaction", + "fee" + ], + "x-resourceId": "fee_refund" + }, + "file": { + "properties": { + "created": { + "description": "Time at which the object was created. Measured in seconds since the Unix epoch.", + "format": "unix-time", + "type": "integer" + }, + "filename": { + "description": "A filename for the file, suitable for saving to a filesystem.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "id": { + "description": "Unique identifier for the object.", + "maxLength": 5000, + "type": "string" + }, + "links": { + "nullable": true, + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/file_link" + }, + "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, + "type": "string" + } + }, + "required": [ + "data", + "has_more", + "object", + "url" + ], + "title": "FileFileLinkList", + "type": "object", + "x-expandableFields": [ + "data" + ] + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "file" + ], + "type": "string" + }, + "purpose": { + "description": "The purpose of the file. Possible values are `business_logo`, `customer_signature`, `dispute_evidence`, `finance_report_run`, `founders_stock_document`, `identity_document`, `pci_document`, `sigma_scheduled_query`, or `tax_document_user_upload`.", + "maxLength": 5000, + "type": "string" + }, + "size": { + "description": "The size in bytes of the file object.", + "type": "integer" + }, + "title": { + "description": "A user friendly title for the document.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "type": { + "description": "The type of the file returned (e.g., `csv`, `pdf`, `jpg`, or `png`).", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "url": { + "description": "The URL from which the file can be downloaded using your live secret API key.", + "maxLength": 5000, + "nullable": true, + "type": "string" + } + }, + "required": [ + "created", + "id", + "object", + "purpose", + "size" + ], + "title": "File", + "type": "object", + "x-expandableFields": [ + "links" + ], + "x-resourceId": "file" + }, + "file_link": { + "properties": { + "created": { + "description": "Time at which the object was created. Measured in seconds since the Unix epoch.", + "format": "unix-time", + "type": "integer" + }, + "expired": { + "description": "Whether this link is already expired.", + "type": "boolean" + }, + "expires_at": { + "description": "Time at which the link expires.", + "format": "unix-time", + "nullable": true, + "type": "integer" + }, + "file": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/file" + } + ], + "description": "The file object this link points to.", + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/file" + } + ] + } + }, + "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" + }, + "metadata": { + "additionalProperties": { + "maxLength": 500, + "type": "string" + }, + "description": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.", + "type": "object" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "file_link" + ], + "type": "string" + }, + "url": { + "description": "The publicly accessible URL to download the file.", + "maxLength": 5000, + "nullable": true, + "type": "string" + } + }, + "required": [ + "created", + "expired", + "file", + "id", + "livemode", + "metadata", + "object" + ], + "title": "FileLink", + "type": "object", + "x-expandableFields": [ + "file" + ], + "x-resourceId": "file_link" + }, + "financial_reporting_finance_report_run_run_parameters": { + "properties": { + "connected_account": { + "description": "Connected account ID by which to filter the report run.", + "maxLength": 5000, + "type": "string" + }, + "currency": { + "description": "Currency of objects to be included in the report run.", + "maxLength": 3, + "type": "string" + }, + "interval_end": { + "description": "Ending timestamp of data to be included in the report run (exclusive).", + "format": "unix-time", + "type": "integer" + }, + "interval_start": { + "description": "Starting timestamp of data to be included in the report run.", + "format": "unix-time", + "type": "integer" + }, + "payout": { + "description": "Payout ID by which to filter the report run.", + "maxLength": 5000, + "type": "string" + }, + "reporting_category": { + "description": "Category of balance transactions to be included in the report run.", + "maxLength": 5000, + "type": "string" + } + }, + "title": "FinancialReportingFinanceReportRunRunParameters", + "type": "object", + "x-expandableFields": [ + + ] + }, + "inventory": { + "properties": { + "quantity": { + "description": "The count of inventory available. Will be present if and only if `type` is `finite`.", + "nullable": true, + "type": "integer" + }, + "type": { + "description": "Inventory type. Possible values are `finite`, `bucket` (not quantified), and `infinite`.", + "maxLength": 5000, + "type": "string" + }, + "value": { + "description": "An indicator of the inventory available. Possible values are `in_stock`, `limited`, and `out_of_stock`. Will be present if and only if `type` is `bucket`.", + "maxLength": 5000, + "nullable": true, + "type": "string" + } + }, + "required": [ + "type" + ], + "title": "Inventory", + "type": "object", + "x-expandableFields": [ + + ] + }, + "invoice": { + "properties": { + "amount_due": { + "description": "Final amount due at this time for this invoice. If the invoice's total is smaller than the minimum charge amount, for example, or if there is account credit that can be applied to the invoice, the `amount_due` may be 0. If there is a positive `starting_balance` for the invoice (the customer owes money), the `amount_due` will also take that into account. The charge that gets generated for the invoice will be for the amount specified in `amount_due`.", + "type": "integer" + }, + "amount_paid": { + "description": "The amount, in %s, that was paid.", + "type": "integer" + }, + "amount_remaining": { + "description": "The amount remaining, in %s, that is due.", + "type": "integer" + }, + "application_fee": { + "description": "The fee in %s that will be applied to the invoice and transferred to the application owner's Stripe account when the invoice is paid.", + "nullable": true, + "type": "integer" + }, + "attempt_count": { + "description": "Number of payment attempts made for this invoice, from the perspective of the payment retry schedule. Any payment attempt counts as the first attempt, and subsequently only automatic retries increment the attempt count. In other words, manual payment attempts after the first attempt do not affect the retry schedule.", + "type": "integer" + }, + "attempted": { + "description": "Whether an attempt has been made to pay the invoice. An invoice is not attempted until 1 hour after the `invoice.created` webhook, for example, so you might not want to display that invoice as unpaid to your users.", + "type": "boolean" + }, + "auto_advance": { + "description": "Controls whether Stripe will perform [automatic collection](/docs/billing/invoices/workflow/#auto_advance) of the invoice. When `false`, the invoice's state will not automatically advance without an explicit action.", + "type": "boolean" + }, + "billing": { + "description": "Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay this invoice using the default source attached to the customer. When sending an invoice, Stripe will email this invoice to the customer with payment instructions.", + "enum": [ + "charge_automatically", + "send_invoice" + ], + "nullable": true, + "type": "string" + }, + "billing_reason": { + "description": "Indicates the reason why the invoice was created. `subscription_cycle` indicates an invoice created by a subscription advancing into a new period. `subscription_create` indicates an invoice created due to creatinga subscription. `subscription_update` indicates an invoice created due to updating a subscription. `subscription` is set for all old invoices to indicate either a change to a subscription or a period advancement. `manual` is set for all invoices unrelated to a subscription (for example: created via the invoice editor). The `upcoming` value is reserved for simulated invoices per the upcoming invoice endpoint.", + "enum": [ + "automatic_pending_invoice_item_invoice", + "manual", + "subscription", + "subscription_create", + "subscription_cycle", + "subscription_threshold", + "subscription_update", + "upcoming" + ], + "nullable": true, + "type": "string" + }, + "charge": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/charge" + } + ], + "description": "ID of the latest charge generated for this invoice, if any.", + "nullable": true, + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/charge" + } + ] + } + }, + "currency": { + "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).", + "maxLength": 3, + "type": "string" + }, + "customer": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/customer" + }, + { + "$ref": "#/components/schemas/deleted_customer" + } + ], + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/customer" + }, + { + "$ref": "#/components/schemas/deleted_customer" + } + ] + } + }, + "date": { + "description": "Time at which the object was created. Measured in seconds since the Unix epoch.", + "format": "unix-time", + "type": "integer" + }, + "default_source": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/alipay_account" + }, + { + "$ref": "#/components/schemas/bank_account" + }, + { + "$ref": "#/components/schemas/bitcoin_receiver" + }, + { + "$ref": "#/components/schemas/card" + }, + { + "$ref": "#/components/schemas/source" + } + ], + "description": "ID of the default payment source for the invoice. It must belong to the customer associated with the invoice and be in a chargeable state. If not set, defaults to the subscription's default source, if any, or to the customer's default source.", + "nullable": true, + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/alipay_account" + }, + { + "$ref": "#/components/schemas/bank_account" + }, + { + "$ref": "#/components/schemas/bitcoin_receiver" + }, + { + "$ref": "#/components/schemas/card" + }, + { + "$ref": "#/components/schemas/source" + } + ] + } + }, + "description": { + "description": "An arbitrary string attached to the object. Often useful for displaying to users.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "discount": { + "anyOf": [ + { + "$ref": "#/components/schemas/discount" + } + ], + "nullable": true + }, + "due_date": { + "description": "The date on which payment for this invoice is due. This value will be `null` for invoices where `billing=charge_automatically`.", + "format": "unix-time", + "nullable": true, + "type": "integer" + }, + "ending_balance": { + "description": "Ending customer balance after the invoice is finalized. Invoices are finalized approximately an hour after successful webhook delivery or when payment collection is attempted for the invoice. If the invoice has not been finalized yet, this will be null.", + "nullable": true, + "type": "integer" + }, + "finalized_at": { + "description": "The time that the invoice draft was finalized.", + "format": "unix-time", + "nullable": true, + "type": "integer" + }, + "hosted_invoice_url": { + "description": "The URL for the hosted invoice page, which allows customers to view and pay an invoice. If the invoice has not been finalized yet, this will be null.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "id": { + "description": "Unique identifier for the object.", + "maxLength": 5000, + "type": "string" + }, + "invoice_pdf": { + "description": "The link to download the PDF for the invoice. If the invoice has not been finalized yet, this will be null.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "lines": { + "description": "The individual line items that make up the invoice. `lines` is sorted as follows: invoice items in reverse chronological order, followed by the subscription, if any.", + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/line_item" + }, + "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, + "type": "string" + } + }, + "required": [ + "data", + "has_more", + "object", + "url" + ], + "title": "InvoiceLinesList", + "type": "object", + "x-expandableFields": [ + "data" + ] + }, + "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" + }, + "metadata": { + "additionalProperties": { + "maxLength": 500, + "type": "string" + }, + "description": "Set of key-value pairs 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" + }, + "next_payment_attempt": { + "description": "The time at which payment will next be attempted. This value will be `null` for invoices where `billing=send_invoice`.", + "format": "unix-time", + "nullable": true, + "type": "integer" + }, + "number": { + "description": "A unique, identifying string that appears on emails sent to the customer for this invoice. This starts with the customer's unique invoice_prefix if it is specified.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "invoice" + ], + "type": "string" + }, + "paid": { + "description": "Whether payment was successfully collected for this invoice. An invoice can be paid (most commonly) with a charge or with credit from the customer's account balance.", + "type": "boolean" + }, + "period_end": { + "description": "End of the usage period during which invoice items were added to this invoice.", + "format": "unix-time", + "type": "integer" + }, + "period_start": { + "description": "Start of the usage period during which invoice items were added to this invoice.", + "format": "unix-time", + "type": "integer" + }, + "receipt_number": { + "description": "This is the transaction number that appears on email receipts sent for this invoice.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "starting_balance": { + "description": "Starting customer balance before the invoice is finalized. If the invoice has not been finalized yet, this will be the current customer balance.", + "type": "integer" + }, + "statement_descriptor": { + "description": "Extra information about an invoice for the customer's credit card statement.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "status": { + "description": "The status of the invoice, one of `draft`, `open`, `paid`, `uncollectible`, or `void`.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "subscription": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/subscription" + } + ], + "description": "The subscription that this invoice was prepared for, if any.", + "nullable": true, + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/subscription" + } + ] + } + }, + "subscription_proration_date": { + "description": "Only set for upcoming invoices that preview prorations. The time used to calculate prorations.", + "type": "integer" + }, + "subtotal": { + "description": "Total of all subscriptions, invoice items, and prorations on the invoice before any discount is applied.", + "type": "integer" + }, + "tax": { + "description": "The amount of tax included in the total, calculated from `tax_percent` and the subtotal. If no `tax_percent` is defined, this value will be null.", + "nullable": true, + "type": "integer" + }, + "tax_percent": { + "description": "This percentage of the subtotal has been added to the total amount of the invoice, including invoice line items and discounts. This field is inherited from the subscription's `tax_percent` field, but can be changed before the invoice is paid. This field defaults to null.", + "nullable": true, + "type": "number" + }, + "total": { + "description": "Total after discount.", + "type": "integer" + }, + "webhooks_delivered_at": { + "description": "The time at which webhooks for this invoice were successfully delivered (if the invoice had no webhooks to deliver, this will match `date`). Invoice payment is delayed until webhooks are delivered, or until all webhook delivery attempts have been exhausted.", + "format": "unix-time", + "nullable": true, + "type": "integer" + } + }, + "required": [ + "amount_due", + "amount_paid", + "amount_remaining", + "attempt_count", + "attempted", + "currency", + "customer", + "date", + "lines", + "livemode", + "object", + "paid", + "period_end", + "period_start", + "starting_balance", + "subtotal", + "total" + ], + "title": "Invoice", + "type": "object", + "x-expandableFields": [ + "charge", + "customer", + "default_source", + "discount", + "lines", + "subscription" + ], + "x-resourceId": "invoice" + }, + "invoice_line_item_period": { + "properties": { + "end": { + "description": "End of the line item's billing period", + "type": "integer" + }, + "start": { + "description": "Start of the line item's billing period", + "type": "integer" + } + }, + "required": [ + "end", + "start" + ], + "title": "InvoiceLineItemPeriod", + "type": "object", + "x-expandableFields": [ + + ] + }, + "invoiceitem": { + "properties": { + "amount": { + "description": "Amount (in the `currency` specified) of the invoice item. This should always be equal to `unit_amount * quantity`.", + "type": "integer" + }, + "currency": { + "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).", + "maxLength": 3, + "type": "string" + }, + "customer": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/customer" + }, + { + "$ref": "#/components/schemas/deleted_customer" + } + ], + "description": "The ID of the customer who will be billed when this invoice item is billed.", + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/customer" + }, + { + "$ref": "#/components/schemas/deleted_customer" + } + ] + } + }, + "date": { + "format": "unix-time", + "type": "integer" + }, + "description": { + "description": "An arbitrary string attached to the object. Often useful for displaying to users.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "discountable": { + "description": "If true, discounts will apply to this invoice item. Always false for prorations.", + "type": "boolean" + }, + "id": { + "description": "Unique identifier for the object.", + "maxLength": 5000, + "type": "string" + }, + "invoice": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/invoice" + } + ], + "description": "The ID of the invoice this invoice item belongs to.", + "nullable": true, + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/invoice" + } + ] + } + }, + "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" + }, + "metadata": { + "additionalProperties": { + "maxLength": 500, + "type": "string" + }, + "description": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.", + "type": "object" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "invoiceitem" + ], + "type": "string" + }, + "period": { + "$ref": "#/components/schemas/invoice_line_item_period" + }, + "plan": { + "anyOf": [ + { + "$ref": "#/components/schemas/plan" + } + ], + "description": "If the invoice item is a proration, the plan of the subscription that the proration was computed for.", + "nullable": true + }, + "proration": { + "description": "Whether the invoice item was created automatically as a proration adjustment when the customer switched plans.", + "type": "boolean" + }, + "quantity": { + "description": "Quantity of units for the invoice item. If the invoice item is a proration, the quantity of the subscription that the proration was computed for.", + "type": "integer" + }, + "subscription": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/subscription" + } + ], + "description": "The subscription that this invoice item has been created for, if any.", + "nullable": true, + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/subscription" + } + ] + } + }, + "subscription_item": { + "maxLength": 5000, + "type": "string" + }, + "unit_amount": { + "description": "Unit Amount (in the `currency` specified) of the invoice item.", + "type": "integer" + } + }, + "required": [ + "amount", + "currency", + "customer", + "date", + "discountable", + "id", + "livemode", + "metadata", + "object", + "period", + "proration", + "quantity", + "unit_amount" + ], + "title": "InvoiceItem", + "type": "object", + "x-expandableFields": [ + "customer", + "invoice", + "period", + "plan", + "subscription" + ], + "x-resourceId": "invoiceitem" + }, + "issuer_fraud_record": { + "properties": { + "actionable": { + "description": "An IFR is actionable if it has not received a dispute and has not been fully refunded. You may wish to proactively refund a charge that receives an IFR, in order to avoid receiving a dispute later.", + "type": "boolean" + }, + "charge": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/charge" + } + ], + "description": "ID of the charge this issuer fraud record is for, optionally expanded.", + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/charge" + } + ] + } + }, + "created": { + "description": "Time at which the object was created. Measured in seconds since the Unix epoch.", + "format": "unix-time", + "type": "integer" + }, + "fraud_type": { + "description": "The type of fraud labelled by the issuer. One of `card_never_received`, `fraudulent_card_application`, `made_with_counterfeit_card`, `made_with_lost_card`, `made_with_stolen_card`, `misc`, `unauthorized_use_of_card`.", + "maxLength": 5000, + "type": "string" + }, + "has_liability_shift": { + "description": "If true, the associated charge is subject to [liability shift](https://stripe.com/docs/sources/three-d-secure#disputed-payments).", + "type": "boolean" + }, + "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" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "issuer_fraud_record" + ], + "type": "string" + }, + "post_date": { + "description": "The timestamp at which the card issuer posted the issuer fraud record.", + "type": "integer" + } + }, + "required": [ + "actionable", + "charge", + "created", + "fraud_type", + "has_liability_shift", + "id", + "livemode", + "object", + "post_date" + ], + "title": "IssuerFraudRecord", + "type": "object", + "x-expandableFields": [ + "charge" + ], + "x-resourceId": "issuer_fraud_record" + }, + "issuing.authorization": { + "properties": { + "approved": { + "description": "Whether the authorization has been approved.", + "type": "boolean" + }, + "authorization_method": { + "description": "How the card details were provided. One of `keyed_in`, `swipe`, `chip`, `contactless`, or `online`.", + "maxLength": 5000, + "type": "string" + }, + "authorized_amount": { + "description": "The amount that has been authorized. This will be `0` when the object is created, and increase after it has been approved.", + "type": "integer" + }, + "authorized_currency": { + "description": "The currency that was presented to the cardholder for the authorization. Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).", + "maxLength": 3, + "type": "string" + }, + "balance_transactions": { + "items": { + "$ref": "#/components/schemas/balance_transaction" + }, + "type": "array" + }, + "card": { + "$ref": "#/components/schemas/issuing.card" + }, + "cardholder": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/issuing.cardholder" + } + ], + "description": "The cardholder to whom this authorization belongs.", + "nullable": true, + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/issuing.cardholder" + } + ] + } + }, + "created": { + "description": "Time at which the object was created. Measured in seconds since the Unix epoch.", + "format": "unix-time", + "type": "integer" + }, + "held_amount": { + "description": "The amount the authorization is expected to be in `held_currency`. When Stripe holds funds from you, this is the amount reserved for the authorization. This will be `0` when the object is created, and increase after it has been approved. For multi-currency transactions, `held_amount` can be used to determine the expected exchange rate.", + "type": "integer" + }, + "held_currency": { + "description": "The currency of the [held amount](/docs/api#issuing_authorization_object-held_amount). This will always be the card currency.", + "maxLength": 3, + "type": "string" + }, + "id": { + "description": "Unique identifier for the object.", + "maxLength": 5000, + "type": "string" + }, + "is_held_amount_controllable": { + "type": "boolean" + }, + "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" + }, + "merchant_data": { + "$ref": "#/components/schemas/issuing_authorization_merchant_data" + }, + "metadata": { + "additionalProperties": { + "maxLength": 500, + "type": "string" + }, + "description": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.", + "type": "object" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "issuing.authorization" + ], + "type": "string" + }, + "pending_authorized_amount": { + "description": "The amount the user is requesting to be authorized. This field will only be non-zero during an `issuing.authorization.request` webhook.", + "type": "integer" + }, + "pending_held_amount": { + "description": "The additional amount Stripe will hold if the authorization is approved. This field will only be non-zero during an `issuing.authorization.request` webhook.", + "type": "integer" + }, + "request_history": { + "items": { + "$ref": "#/components/schemas/issuing_authorization_request" + }, + "type": "array" + }, + "status": { + "description": "One of `pending`, `reversed`, or `closed`.", + "maxLength": 5000, + "type": "string" + }, + "transactions": { + "items": { + "$ref": "#/components/schemas/issuing.transaction" + }, + "type": "array" + }, + "verification_data": { + "$ref": "#/components/schemas/issuing_authorization_verification_data" + }, + "wallet_provider": { + "description": "What, if any, digital wallet was used for this authorization. One of `apple_pay`, `google_pay`, or `samsung_pay`.", + "maxLength": 5000, + "nullable": true, + "type": "string" + } + }, + "required": [ + "approved", + "authorization_method", + "authorized_amount", + "authorized_currency", + "balance_transactions", + "card", + "created", + "held_amount", + "held_currency", + "id", + "is_held_amount_controllable", + "livemode", + "merchant_data", + "metadata", + "object", + "pending_authorized_amount", + "pending_held_amount", + "request_history", + "status", + "transactions", + "verification_data" + ], + "title": "IssuingAuthorization", + "type": "object", + "x-expandableFields": [ + "balance_transactions", + "card", + "cardholder", + "merchant_data", + "request_history", + "transactions", + "verification_data" + ], + "x-resourceId": "issuing.authorization" + }, + "issuing.card": { + "properties": { + "authorization_controls": { + "$ref": "#/components/schemas/issuing_card_authorization_controls" + }, + "brand": { + "description": "The brand of the card.", + "maxLength": 5000, + "type": "string" + }, + "cardholder": { + "anyOf": [ + { + "$ref": "#/components/schemas/issuing.cardholder" + } + ], + "description": "The [Cardholder](/docs/api#issuing_cardholder_object) object to which the card belongs.", + "nullable": true + }, + "created": { + "description": "Time at which the object was created. Measured in seconds since the Unix epoch.", + "format": "unix-time", + "type": "integer" + }, + "currency": { + "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).", + "maxLength": 3, + "type": "string" + }, + "exp_month": { + "description": "The expiration month of the card.", + "type": "integer" + }, + "exp_year": { + "description": "The expiration year of the card.", + "type": "integer" + }, + "id": { + "description": "Unique identifier for the object.", + "maxLength": 5000, + "type": "string" + }, + "last4": { + "description": "The last 4 digits of the card number.", + "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" + }, + "metadata": { + "additionalProperties": { + "maxLength": 500, + "type": "string" + }, + "description": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.", + "type": "object" + }, + "name": { + "description": "The name of the cardholder, printed on the card.", + "maxLength": 5000, + "type": "string" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "issuing.card" + ], + "type": "string" + }, + "shipping": { + "anyOf": [ + { + "$ref": "#/components/schemas/issuing_card_shipping" + } + ], + "description": "Where and how the card will be shipped.", + "nullable": true + }, + "status": { + "description": "One of `active`, `inactive`, `canceled`, `lost`, `stolen`, or `pending`.", + "enum": [ + "active", + "canceled", + "inactive", + "lost", + "pending", + "stolen" + ], + "type": "string" + }, + "type": { + "description": "One of `virtual` or `physical`.", + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "authorization_controls", + "brand", + "created", + "currency", + "exp_month", + "exp_year", + "id", + "last4", + "livemode", + "metadata", + "name", + "object", + "status", + "type" + ], + "title": "IssuingCard", + "type": "object", + "x-expandableFields": [ + "authorization_controls", + "cardholder", + "shipping" + ], + "x-resourceId": "issuing.card" + }, + "issuing.card_details": { + "properties": { + "card": { + "$ref": "#/components/schemas/issuing.card" + }, + "cvc": { + "description": "The CVC number for the card.", + "maxLength": 5000, + "type": "string" + }, + "exp_month": { + "description": "The expiration month of the card.", + "type": "integer" + }, + "exp_year": { + "description": "The expiration year of the card.", + "type": "integer" + }, + "number": { + "description": "The card number.", + "maxLength": 5000, + "type": "string" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "issuing.card_details" + ], + "type": "string" + } + }, + "required": [ + "card", + "cvc", + "exp_month", + "exp_year", + "number", + "object" + ], + "title": "IssuingCardDetails", + "type": "object", + "x-expandableFields": [ + "card" + ], + "x-resourceId": "issuing.card_details" + }, + "issuing.cardholder": { + "properties": { + "billing": { + "$ref": "#/components/schemas/issuing_cardholder_address" + }, + "created": { + "description": "Time at which the object was created. Measured in seconds since the Unix epoch.", + "format": "unix-time", + "type": "integer" + }, + "email": { + "description": "The cardholder's email address.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "id": { + "description": "Unique identifier for the object.", + "maxLength": 5000, + "type": "string" + }, + "is_default": { + "description": "Whether or not this cardholder is the default cardholder.", + "type": "boolean" + }, + "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" + }, + "metadata": { + "additionalProperties": { + "maxLength": 500, + "type": "string" + }, + "description": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.", + "type": "object" + }, + "name": { + "description": "The cardholder's name. This will be printed on cards issued to them.", + "maxLength": 5000, + "type": "string" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "issuing.cardholder" + ], + "type": "string" + }, + "phone_number": { + "description": "The cardholder's phone number.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "status": { + "description": "One of `active`, `inactive`, `blocked`, or `pending`.", + "enum": [ + "active", + "blocked", + "inactive", + "pending" + ], + "type": "string" + }, + "type": { + "description": "One of `individual` or `business_entity`.", + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "billing", + "created", + "id", + "is_default", + "livemode", + "metadata", + "name", + "object", + "status", + "type" + ], + "title": "IssuingCardholder", + "type": "object", + "x-expandableFields": [ + "billing" + ], + "x-resourceId": "issuing.cardholder" + }, + "issuing.dispute": { + "properties": { + "amount": { + "description": "Disputed amount. Usually the amount of the `disputed_transaction`, but can differ (usually because of currency fluctuation or because only part of the order is disputed).", + "type": "integer" + }, + "created": { + "description": "Time at which the object was created. Measured in seconds since the Unix epoch.", + "format": "unix-time", + "type": "integer" + }, + "currency": { + "description": "The currency the `disputed_transaction` was made in.", + "maxLength": 3, + "type": "string" + }, + "disputed_transaction": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/issuing.transaction" + } + ], + "description": "The transaction being disputed.", + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/issuing.transaction" + } + ] + } + }, + "evidence": { + "$ref": "#/components/schemas/issuing_dispute_evidence" + }, + "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" + }, + "metadata": { + "additionalProperties": { + "maxLength": 500, + "type": "string" + }, + "description": "Set of key-value pairs 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`.", + "type": "object" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "issuing.dispute" + ], + "type": "string" + }, + "reason": { + "description": "Reason for this dispute. One of `other` or `fraudulent`.", + "maxLength": 5000, + "type": "string" + }, + "status": { + "description": "Current status of dispute. One of `unsubmitted`, `under_review`, `won`, or `lost`.", + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "amount", + "created", + "currency", + "disputed_transaction", + "evidence", + "id", + "livemode", + "metadata", + "object", + "reason", + "status" + ], + "title": "IssuingDispute", + "type": "object", + "x-expandableFields": [ + "disputed_transaction", + "evidence" + ], + "x-resourceId": "issuing.dispute" + }, + "issuing.transaction": { + "properties": { + "amount": { + "type": "integer" + }, + "authorization": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/issuing.authorization" + } + ], + "description": "The `Authorization` object that led to this transaction.", + "nullable": true, + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/issuing.authorization" + } + ] + } + }, + "balance_transaction": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/balance_transaction" + } + ], + "nullable": true, + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/balance_transaction" + } + ] + } + }, + "card": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/issuing.card" + } + ], + "description": "The card used to make this transaction.", + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/issuing.card" + } + ] + } + }, + "cardholder": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/issuing.cardholder" + } + ], + "description": "The cardholder to whom this transaction belongs.", + "nullable": true, + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/issuing.cardholder" + } + ] + } + }, + "created": { + "description": "Time at which the object was created. Measured in seconds since the Unix epoch.", + "format": "unix-time", + "type": "integer" + }, + "currency": { + "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).", + "maxLength": 3, + "type": "string" + }, + "dispute": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/issuing.dispute" + } + ], + "nullable": true, + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/issuing.dispute" + } + ] + } + }, + "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" + }, + "merchant_data": { + "$ref": "#/components/schemas/issuing_authorization_merchant_data" + }, + "metadata": { + "additionalProperties": { + "maxLength": 500, + "type": "string" + }, + "description": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.", + "type": "object" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "issuing.transaction" + ], + "type": "string" + }, + "type": { + "description": "One of `capture`, `refund`, `cash_withdrawal`, `refund_reversal`, `dispute`, or `dispute_loss`.", + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "amount", + "card", + "created", + "currency", + "id", + "livemode", + "merchant_data", + "metadata", + "object", + "type" + ], + "title": "IssuingTransaction", + "type": "object", + "x-expandableFields": [ + "authorization", + "balance_transaction", + "card", + "cardholder", + "dispute", + "merchant_data" + ], + "x-resourceId": "issuing.transaction" + }, + "issuing.verification": { + "properties": { + "card": { + "description": "The id of the `Card` on which the verification was requested", + "maxLength": 5000, + "type": "string" + }, + "created": { + "description": "Time at which the object was created. Measured in seconds since the Unix epoch.", + "format": "unix-time", + "type": "integer" + }, + "expires_at": { + "description": "Timestamp of the expiry for that verification", + "format": "unix-time", + "type": "integer" + }, + "id": { + "description": "Unique identifier for the object.", + "maxLength": 5000, + "type": "string" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "issuing.verification" + ], + "type": "string" + }, + "scope": { + "description": "The scope of the verification", + "enum": [ + "pin_retrieve", + "pin_update" + ], + "type": "string" + }, + "status": { + "description": "The current status of the verification", + "enum": [ + "expired", + "pending", + "redeemed" + ], + "type": "string" + }, + "verification_method": { + "description": "The method by which the cardholder will be sent a one-time password", + "enum": [ + "email", + "sms" + ], + "type": "string" + } + }, + "required": [ + "card", + "created", + "expires_at", + "id", + "object", + "scope", + "status", + "verification_method" + ], + "title": "IssuingVerification", + "type": "object", + "x-expandableFields": [ + + ], + "x-resourceId": "issuing.verification" + }, + "issuing_authorization_merchant_data": { + "properties": { + "category": { + "description": "A categorization of the seller's type of business. See our [merchant categories guide](/docs/issuing/merchant-categories) for a list of possible values.", + "maxLength": 5000, + "type": "string" + }, + "city": { + "description": "City where the seller is located", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "country": { + "description": "Country where the seller is located", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "name": { + "description": "Name of the seller", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "network_id": { + "description": "Identifier assigned to the seller by the card brand", + "maxLength": 5000, + "type": "string" + }, + "postal_code": { + "description": "Postal code where the seller is located", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "state": { + "description": "State where the seller is located", + "maxLength": 5000, + "nullable": true, + "type": "string" + } + }, + "required": [ + "category", + "network_id" + ], + "title": "IssuingAuthorizationMerchantData", + "type": "object", + "x-expandableFields": [ + + ] + }, + "issuing_authorization_request": { + "properties": { + "approved": { + "description": "Whether this request was approved.", + "type": "boolean" + }, + "authorized_amount": { + "description": "The amount that was authorized at the time of this request", + "type": "integer" + }, + "authorized_currency": { + "description": "The currency that was presented to the cardholder for the authorization. Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).", + "maxLength": 5000, + "type": "string" + }, + "created": { + "description": "Time at which the object was created. Measured in seconds since the Unix epoch.", + "format": "unix-time", + "type": "integer" + }, + "held_amount": { + "description": "The amount Stripe held from your account to fund the authorization, if the request was approved", + "type": "integer" + }, + "held_currency": { + "description": "The currency of the [held amount](/docs/api#issuing_authorization_object-held_amount)", + "maxLength": 5000, + "type": "string" + }, + "reason": { + "description": "One of `authorization_controls`, `card_active`, `card_inactive`, `insufficient_funds`, `account_compliance_disabled`, `account_inactive`, `suspected_fraud`, `webhook_approved`, `webhook_declined`, or `webhook_timeout`.", + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "approved", + "authorized_amount", + "authorized_currency", + "created", + "held_amount", + "held_currency", + "reason" + ], + "title": "IssuingAuthorizationRequest", + "type": "object", + "x-expandableFields": [ + + ] + }, + "issuing_authorization_verification_data": { + "properties": { + "address_line1_check": { + "description": "One of `match`, `mismatch`, or `not_provided`.", + "maxLength": 5000, + "type": "string" + }, + "address_zip_check": { + "description": "One of `match`, `mismatch`, or `not_provided`.", + "maxLength": 5000, + "type": "string" + }, + "cvc_check": { + "description": "One of `match`, `mismatch`, or `not_provided`.", + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "address_line1_check", + "address_zip_check", + "cvc_check" + ], + "title": "IssuingAuthorizationVerificationData", + "type": "object", + "x-expandableFields": [ + + ] + }, + "issuing_card_authorization_controls": { + "properties": { + "allowed_categories": { + "description": "Array of strings containing [categories](/docs/api#issuing_authorization_object-merchant_data-category) of authorizations permitted on this card.", + "items": { + "type": "string" + }, + "nullable": true, + "type": "array" + }, + "blocked_categories": { + "description": "Array of strings containing [categories](/docs/api#issuing_authorization_object-merchant_data-category) of authorizations to always decline on this card.", + "items": { + "type": "string" + }, + "nullable": true, + "type": "array" + }, + "currency": { + "description": "The currency of the card. See [max_amount](/docs/api#issuing_card_object-authorization_controls-max_amount)", + "maxLength": 3, + "nullable": true, + "type": "string" + }, + "max_amount": { + "description": "Maximum amount allowed per authorization on this card, in the currency of the card. Authorization amounts in a different currency will be converted to the card's currency when evaluating this control.", + "nullable": true, + "type": "integer" + }, + "max_approvals": { + "description": "Maximum count of approved authorizations on this card. Counts all authorizations retroactively.", + "nullable": true, + "type": "integer" + } + }, + "title": "IssuingCardAuthorizationControls", + "type": "object", + "x-expandableFields": [ + + ] + }, + "issuing_card_shipping": { + "properties": { + "address": { + "$ref": "#/components/schemas/address" + }, + "carrier": { + "description": "The delivery service that shipped a physical product, such as Fedex, UPS, USPS, etc.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "eta": { + "description": "A unix timestamp representing a best estimate of when the card will be delivered.", + "format": "unix-time", + "nullable": true, + "type": "integer" + }, + "name": { + "description": "Recipient name.", + "maxLength": 5000, + "type": "string" + }, + "phone": { + "description": "Recipient phone (including extension).", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "status": { + "description": "The delivery status of the card. One of `pending`, `shipped`, `delivered`, `returned`, `failure`, or `canceled`.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "tracking_number": { + "description": "The tracking number for a physical product, obtained from the delivery service. If multiple tracking numbers were generated for this purchase, please separate them with commas.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "tracking_url": { + "description": "A link to the shipping carrier's site where you can view detailed information about a card shipment.", + "maxLength": 5000, + "nullable": true, + "type": "string" + } + }, + "required": [ + "address", + "name" + ], + "title": "IssuingCardShipping", + "type": "object", + "x-expandableFields": [ + "address" + ] + }, + "issuing_cardholder_address": { + "properties": { + "address": { + "$ref": "#/components/schemas/address" + }, + "name": { + "maxLength": 5000, + "nullable": true, + "type": "string" + } + }, + "required": [ + "address" + ], + "title": "IssuingCardholderAddress", + "type": "object", + "x-expandableFields": [ + "address" + ] + }, + "issuing_dispute_evidence": { + "properties": { + "fraudulent": { + "anyOf": [ + { + "$ref": "#/components/schemas/issuing_dispute_fraudulent_evidence" + } + ], + "description": "Evidence to support a fraudulent dispute. This will only be present if your dispute's `reason` is `fraudulent`.", + "nullable": true + }, + "other": { + "anyOf": [ + { + "$ref": "#/components/schemas/issuing_dispute_other_evidence" + } + ], + "description": "Evidence to support an uncategorized dispute. This will only be present if your dispute's `reason` is `other`.", + "nullable": true + } + }, + "title": "IssuingDisputeEvidence", + "type": "object", + "x-expandableFields": [ + "fraudulent", + "other" + ] + }, + "issuing_dispute_fraudulent_evidence": { + "properties": { + "dispute_explanation": { + "description": "Brief freeform text explaining why you are disputing this transaction.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "uncategorized_file": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/file" + } + ], + "description": "(ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Additional file evidence supporting your dispute.", + "nullable": true, + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/file" + } + ] + } + } + }, + "title": "IssuingDisputeFraudulentEvidence", + "type": "object", + "x-expandableFields": [ + "uncategorized_file" + ] + }, + "issuing_dispute_other_evidence": { + "properties": { + "dispute_explanation": { + "description": "Brief freeform text explaining why you are disputing this transaction.", + "maxLength": 5000, + "type": "string" + }, + "uncategorized_file": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/file" + } + ], + "description": "(ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Additional file evidence supporting your dispute.", + "nullable": true, + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/file" + } + ] + } + } + }, + "required": [ + "dispute_explanation" + ], + "title": "IssuingDisputeOtherEvidence", + "type": "object", + "x-expandableFields": [ + "uncategorized_file" + ] + }, + "legal_entity": { + "properties": { + "additional_owners": { + "description": "An array of any owners with at least 25% ownership of the company, excluding the individual responsible for the account.", + "items": { + "$ref": "#/components/schemas/legal_entity_additional_owner" + }, + "nullable": true, + "type": "array" + }, + "address": { + "$ref": "#/components/schemas/address" + }, + "address_kana": { + "anyOf": [ + { + "$ref": "#/components/schemas/legal_entity_japan_address" + } + ], + "description": "The Kana variation of the primary address of the legal entity (Japan only).", + "nullable": true + }, + "address_kanji": { + "anyOf": [ + { + "$ref": "#/components/schemas/legal_entity_japan_address" + } + ], + "description": "The Kanji variation of the primary address of the legal entity (Japan only).", + "nullable": true + }, + "business_name": { + "description": "The company's legal name.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "business_name_kana": { + "description": "The Kana variation of the company's legal name (Japan only).", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "business_name_kanji": { + "description": "The Kanji variation of the company's legal name (Japan only).", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "business_tax_id_provided": { + "description": "Whether the business ID number of the legal entity was provided.", + "type": "boolean" + }, + "business_vat_id_provided": { + "description": "Whether the business VAT number of the legal entity was provided.", + "type": "boolean" + }, + "dob": { + "$ref": "#/components/schemas/legal_entity_dob" + }, + "first_name": { + "description": "The first name of the individual responsible for the account.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "first_name_kana": { + "description": "The Kana variation of the first name of the individual responsible for the account (Japan only).", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "first_name_kanji": { + "description": "The Kanji variation of the first name of the individual responsible for the account (Japan only).", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "gender": { + "description": "The gender of the individual responsible for the account (International regulations require either \"male\" or \"female\").", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "last_name": { + "description": "The last name of the individual responsible for the account.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "last_name_kana": { + "description": "The Kana varation of the last name of the individual responsible for the account (Japan only).", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "last_name_kanji": { + "description": "The Kanji varation of the last name of the individual responsible for the account (Japan only).", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "maiden_name": { + "description": "The maiden name of the individual responsible for the account.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "personal_address": { + "$ref": "#/components/schemas/address" + }, + "personal_address_kana": { + "anyOf": [ + { + "$ref": "#/components/schemas/legal_entity_japan_address" + } + ], + "description": "The Kana variation of the address of the individual responsible for the account (Japan only).", + "nullable": true + }, + "personal_address_kanji": { + "anyOf": [ + { + "$ref": "#/components/schemas/legal_entity_japan_address" + } + ], + "description": "The Kanji variation of the address of the individual responsible for the account (Japan only).", + "nullable": true + }, + "personal_id_number_provided": { + "description": "Whether the personal ID number of the individual responsible for the account was provided.", + "type": "boolean" + }, + "phone_number": { + "description": "The company's phone number, used for verification.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "ssn_last_4_provided": { + "description": "Whether the last 4 ssn digits of the individual responsible for the account have been provided.", + "type": "boolean" + }, + "tax_id_registrar": { + "description": "The jurisdiction in which the `business_tax_id` is registered (Germany-based companies only).", + "maxLength": 5000, + "type": "string" + }, + "type": { + "description": "Either \"individual\" or \"company\", for what kind of legal entity the account owner is for.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "verification": { + "$ref": "#/components/schemas/legal_entity_verification" + } + }, + "title": "LegalEntity", + "type": "object", + "x-expandableFields": [ + "additional_owners", + "address", + "address_kana", + "address_kanji", + "dob", + "personal_address", + "personal_address_kana", + "personal_address_kanji", + "verification" + ] + }, + "legal_entity_additional_owner": { + "properties": { + "address": { + "$ref": "#/components/schemas/address" + }, + "dob": { + "$ref": "#/components/schemas/legal_entity_dob" + }, + "email": { + "description": "The email address of this additional owner.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "first_name": { + "description": "The first name of this additional owner.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "last_name": { + "description": "The last name of this additional owner.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "maiden_name": { + "description": "The maiden name of this additional owner.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "personal_id_number_provided": { + "description": "Whether the personal ID number of this additional owner was provided.", + "nullable": true, + "type": "boolean" + }, + "phone": { + "description": "The phone number of this additional owner.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "ssn_last_4_provided": { + "description": "Whether the last 4 digits of this additional owner's SSN have been provided.", + "type": "boolean" + }, + "verification": { + "$ref": "#/components/schemas/legal_entity_verification" + } + }, + "required": [ + "dob", + "ssn_last_4_provided", + "verification" + ], + "title": "LegalEntityAdditionalOwner", + "type": "object", + "x-expandableFields": [ + "address", + "dob", + "verification" + ] + }, + "legal_entity_dob": { + "properties": { + "day": { + "description": "The day of birth, between 1 and 31.", + "nullable": true, + "type": "integer" + }, + "month": { + "description": "The month of birth, between 1 and 12.", + "nullable": true, + "type": "integer" + }, + "year": { + "description": "The four-digit year of birth.", + "nullable": true, + "type": "integer" + } + }, + "title": "LegalEntityDOB", + "type": "object", + "x-expandableFields": [ + + ] + }, + "legal_entity_japan_address": { + "properties": { + "city": { + "description": "City/Ward.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "country": { + "description": "Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "line1": { + "description": "Block/Building number.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "line2": { + "description": "Building details.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "postal_code": { + "description": "Zip/Postal Code.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "state": { + "description": "Prefecture.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "town": { + "description": "Town/cho-me.", + "maxLength": 5000, + "nullable": true, + "type": "string" + } + }, + "title": "LegalEntityJapanAddress", + "type": "object", + "x-expandableFields": [ + + ] + }, + "legal_entity_verification": { + "properties": { + "details": { + "description": "A user-displayable string describing the verification state for this legal entity. For example, if a document is uploaded and the picture is too fuzzy, this may say \"Identity document is too unclear to read\".", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "details_code": { + "description": "A machine-readable code specifying the verification state for this legal entity. One of `scan_corrupt`, `scan_not_readable`, `scan_failed_greyscale`, `scan_not_uploaded`, `scan_id_type_not_supported`, `scan_id_country_not_supported`, `scan_failed_other`, or `scan_failed_test_mode`.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "document": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/file" + } + ], + "description": "(ID of a [file upload](https://stripe.com/docs/guides/file-upload)) A photo (jpg or png) of the front of an identifying document, either a passport or local ID card.", + "nullable": true, + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/file" + } + ] + } + }, + "document_back": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/file" + } + ], + "description": "(ID of a [file upload](https://stripe.com/docs/guides/file-upload)) A photo (jpg or png) of the back of an identifying document, either a passport or local ID card.", + "nullable": true, + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/file" + } + ] + } + }, + "status": { + "description": "The state of verification for this legal entity. Possible values are `unverified`, `pending`, or `verified`.", + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "status" + ], + "title": "LegalEntityVerification", + "type": "object", + "x-expandableFields": [ + "document", + "document_back" + ] + }, + "line_item": { + "properties": { + "amount": { + "description": "The amount, in %s.", + "type": "integer" + }, + "currency": { + "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).", + "maxLength": 3, + "type": "string" + }, + "description": { + "description": "An arbitrary string attached to the object. Often useful for displaying to users.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "discountable": { + "description": "If true, discounts will apply to this line item. Always false for prorations.", + "type": "boolean" + }, + "id": { + "description": "Unique identifier for the object.", + "maxLength": 5000, + "type": "string" + }, + "invoice_item": { + "maxLength": 5000, + "type": "string" + }, + "livemode": { + "description": "Whether this is a test line item.", + "type": "boolean" + }, + "metadata": { + "additionalProperties": { + "maxLength": 500, + "type": "string" + }, + "description": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Note that for line items with `type=subscription` this will reflect the metadata of the subscription that caused the line item to be created.", + "type": "object" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "line_item" + ], + "type": "string" + }, + "period": { + "$ref": "#/components/schemas/invoice_line_item_period" + }, + "plan": { + "anyOf": [ + { + "$ref": "#/components/schemas/plan" + } + ], + "description": "The plan of the subscription, if the line item is a subscription or a proration.", + "nullable": true + }, + "proration": { + "description": "Whether this is a proration.", + "type": "boolean" + }, + "quantity": { + "description": "The quantity of the subscription, if the line item is a subscription or a proration.", + "nullable": true, + "type": "integer" + }, + "subscription": { + "description": "The subscription that the invoice item pertains to, if any.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "subscription_item": { + "description": "The subscription item that generated this invoice item. Left empty if the line item is not an explicit result of a subscription.", + "maxLength": 5000, + "type": "string" + }, + "type": { + "description": "A string identifying the type of the source of this line item, either an `invoiceitem` or a `subscription`.", + "enum": [ + "invoiceitem", + "subscription" + ], + "type": "string" + } + }, + "required": [ + "amount", + "currency", + "discountable", + "id", + "livemode", + "metadata", + "object", + "period", + "proration", + "type" + ], + "title": "InvoiceLineItem", + "type": "object", + "x-expandableFields": [ + "period", + "plan" + ], + "x-resourceId": "line_item" + }, + "login_link": { + "properties": { + "created": { + "description": "Time at which the object was created. Measured in seconds since the Unix epoch.", + "format": "unix-time", + "type": "integer" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "login_link" + ], + "type": "string" + }, + "url": { + "description": "The URL for the login link.", + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "created", + "object", + "url" + ], + "title": "LoginLink", + "type": "object", + "x-expandableFields": [ + + ], + "x-resourceId": "login_link" + }, + "logout": { + "properties": { + }, + "title": "LightAccountLogout", + "type": "object", + "x-expandableFields": [ + + ], + "x-resourceId": "logout" + }, + "notification_event_data": { + "properties": { + "object": { + "description": "Object containing the API resource relevant to the event. For example, an `invoice.created` event will have a full [invoice object](#invoice_object) as the value of the object key.", + "type": "object" + }, + "previous_attributes": { + "description": "Object containing the names of the attributes that have changed, and their previous values (sent along only with *.updated events).", + "type": "object" + } + }, + "required": [ + "object" + ], + "title": "NotificationEventData", + "type": "object", + "x-expandableFields": [ + + ] + }, + "notification_event_request": { + "properties": { + "id": { + "description": "ID of the API request that caused the event. If null, the event was automatic (e.g., Stripe's automatic subscription handling). Request logs are available in the [dashboard](https://dashboard.stripe.com/logs), but currently not in the API.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "idempotency_key": { + "description": "The idempotency key transmitted during the request, if any. *Note: This property is populated only for events on or after May 23, 2017*.", + "maxLength": 5000, + "nullable": true, + "type": "string" + } + }, + "title": "NotificationEventRequest", + "type": "object", + "x-expandableFields": [ + + ] + }, + "order": { + "properties": { + "amount": { + "description": "A positive integer in the smallest currency unit (that is, 100 cents for $1.00, or 1 for ¥1, Japanese Yen being a zero-decimal currency) representing the total amount for the order.", + "type": "integer" + }, + "amount_returned": { + "nullable": true, + "type": "integer" + }, + "application": { + "description": "ID of the Connect Application that created the order.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "application_fee": { + "nullable": true, + "type": "integer" + }, + "charge": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/charge" + } + ], + "description": "The ID of the payment used to pay for the order. Present if the order status is `paid`, `fulfilled`, or `refunded`.", + "nullable": true, + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/charge" + } + ] + } + }, + "created": { + "description": "Time at which the object was created. Measured in seconds since the Unix epoch.", + "format": "unix-time", + "type": "integer" + }, + "currency": { + "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).", + "maxLength": 3, + "type": "string" + }, + "customer": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/customer" + }, + { + "$ref": "#/components/schemas/deleted_customer" + } + ], + "description": "The customer used for the order.", + "nullable": true, + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/customer" + }, + { + "$ref": "#/components/schemas/deleted_customer" + } + ] + } + }, + "email": { + "description": "The email address of the customer placing the order.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "external_coupon_code": { + "maxLength": 5000, + "type": "string" + }, + "id": { + "description": "Unique identifier for the object.", + "maxLength": 5000, + "type": "string" + }, + "items": { + "description": "List of items constituting the order. An order can have up to 25 items.", + "items": { + "$ref": "#/components/schemas/order_item" + }, + "type": "array" + }, + "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" + }, + "metadata": { + "additionalProperties": { + "maxLength": 500, + "type": "string" + }, + "description": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.", + "type": "object" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "order" + ], + "type": "string" + }, + "returns": { + "nullable": true, + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/order_return" + }, + "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, + "type": "string" + } + }, + "required": [ + "data", + "has_more", + "object", + "url" + ], + "title": "OrderReturnList", + "type": "object", + "x-expandableFields": [ + "data" + ] + }, + "selected_shipping_method": { + "description": "The shipping method that is currently selected for this order, if any. If present, it is equal to one of the `id`s of shipping methods in the `shipping_methods` array. At order creation time, if there are multiple shipping methods, Stripe will automatically selected the first method.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "shipping": { + "anyOf": [ + { + "$ref": "#/components/schemas/shipping" + } + ], + "description": "The shipping address for the order. Present if the order is for goods to be shipped.", + "nullable": true + }, + "shipping_methods": { + "description": "A list of supported shipping methods for this order. The desired shipping method can be specified either by updating the order, or when paying it.", + "items": { + "$ref": "#/components/schemas/shipping_method" + }, + "nullable": true, + "type": "array" + }, + "status": { + "description": "Current order status. One of `created`, `paid`, `canceled`, `fulfilled`, or `returned`. More details in the [Orders Guide](/docs/orders/guide#understanding-order-statuses).", + "maxLength": 5000, + "type": "string" + }, + "status_transitions": { + "anyOf": [ + { + "$ref": "#/components/schemas/status_transitions" + } + ], + "description": "The timestamps at which the order status was updated.", + "nullable": true + }, + "updated": { + "format": "unix-time", + "nullable": true, + "type": "integer" + }, + "upstream_id": { + "description": "The user's order ID if it is different from the Stripe order ID.", + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "amount", + "created", + "currency", + "id", + "items", + "livemode", + "metadata", + "object", + "status" + ], + "title": "Order", + "type": "object", + "x-expandableFields": [ + "charge", + "customer", + "items", + "returns", + "shipping", + "shipping_methods", + "status_transitions" + ], + "x-resourceId": "order" + }, + "order_item": { + "properties": { + "amount": { + "description": "A positive integer in the smallest currency unit (that is, 100 cents for $1.00, or 1 for ¥1, Japanese Yen being a zero-decimal currency) representing the total amount for the line item.", + "type": "integer" + }, + "currency": { + "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).", + "maxLength": 3, + "type": "string" + }, + "description": { + "description": "Description of the line item, meant to be displayable to the user (e.g., `\"Express shipping\"`).", + "maxLength": 5000, + "type": "string" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "order_item" + ], + "type": "string" + }, + "parent": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/sku" + } + ], + "description": "The ID of the associated object for this line item. Expandable if not null (e.g., expandable to a SKU).", + "nullable": true, + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/sku" + } + ] + } + }, + "quantity": { + "description": "A positive integer representing the number of instances of `parent` that are included in this order item. Applicable/present only if `type` is `sku`.", + "nullable": true, + "type": "integer" + }, + "type": { + "description": "The type of line item. One of `sku`, `tax`, `shipping`, or `discount`.", + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "amount", + "currency", + "description", + "object", + "type" + ], + "title": "OrderItem", + "type": "object", + "x-expandableFields": [ + "parent" + ] + }, + "order_return": { + "properties": { + "amount": { + "description": "A positive integer in the smallest currency unit (that is, 100 cents for $1.00, or 1 for ¥1, Japanese Yen being a zero-decimal currency) representing the total amount for the returned line item.", + "type": "integer" + }, + "created": { + "description": "Time at which the object was created. Measured in seconds since the Unix epoch.", + "format": "unix-time", + "type": "integer" + }, + "currency": { + "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).", + "maxLength": 3, + "type": "string" + }, + "id": { + "description": "Unique identifier for the object.", + "maxLength": 5000, + "type": "string" + }, + "items": { + "description": "The items included in this order return.", + "items": { + "$ref": "#/components/schemas/order_item" + }, + "type": "array" + }, + "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" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "order_return" + ], + "type": "string" + }, + "order": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/order" + } + ], + "description": "The order that this return includes items from.", + "nullable": true, + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/order" + } + ] + } + }, + "refund": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/refund" + } + ], + "description": "The ID of the refund issued for this return.", + "nullable": true, + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/refund" + } + ] + } + } + }, + "required": [ + "amount", + "created", + "currency", + "id", + "items", + "livemode", + "object" + ], + "title": "OrderReturn", + "type": "object", + "x-expandableFields": [ + "items", + "order", + "refund" + ], + "x-resourceId": "order_return" + }, + "package_dimensions": { + "properties": { + "height": { + "description": "Height, in inches.", + "type": "number" + }, + "length": { + "description": "Length, in inches.", + "type": "number" + }, + "weight": { + "description": "Weight, in ounces.", + "type": "number" + }, + "width": { + "description": "Width, in inches.", + "type": "number" + } + }, + "required": [ + "height", + "length", + "weight", + "width" + ], + "title": "PackageDimensions", + "type": "object", + "x-expandableFields": [ + + ] + }, + "payment_flows_payment_intent_resource_transfer_data": { + "properties": { + "destination": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/account" + } + ], + "description": "The account (if any) the payment will be attributed to for tax\nreporting, and where funds from the payment will be transferred to upon\npayment success.", + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/account" + } + ] + } + } + }, + "required": [ + "destination" + ], + "title": "PaymentFlowsPaymentIntentResourceTransferData", + "type": "object", + "x-expandableFields": [ + "destination" + ] + }, + "payment_flows_payment_method_resource_billing_details": { + "properties": { + "address": { + "anyOf": [ + { + "$ref": "#/components/schemas/address" + } + ], + "nullable": true + }, + "email": { + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "name": { + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "phone": { + "maxLength": 5000, + "nullable": true, + "type": "string" + } + }, + "title": "PaymentFlowsPaymentMethodResourceBillingDetails", + "type": "object", + "x-expandableFields": [ + "address" + ] + }, + "payment_flows_private_payment_methods_card": { + "properties": { + "brand": { + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "exp_month": { + "type": "integer" + }, + "exp_year": { + "type": "integer" + }, + "funding": { + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "last4": { + "maxLength": 5000, + "nullable": true, + "type": "string" + } + }, + "required": [ + "exp_month", + "exp_year" + ], + "title": "PaymentFlowsPrivatePaymentMethodsCard", + "type": "object", + "x-expandableFields": [ + + ] + }, + "payment_flows_private_payment_methods_ideal": { + "properties": { + "bank": { + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "last4": { + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "statement_descriptor": { + "maxLength": 5000, + "nullable": true, + "type": "string" + } + }, + "title": "PaymentFlowsPrivatePaymentMethodsIdeal", + "type": "object", + "x-expandableFields": [ + + ] + }, + "payment_flows_private_payment_methods_sepa_debit": { + "properties": { + "bank_code": { + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "branch_code": { + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "country": { + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "fingerprint": { + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "last4": { + "maxLength": 5000, + "nullable": true, + "type": "string" + } + }, + "title": "PaymentFlowsPrivatePaymentMethodsSepaDebit", + "type": "object", + "x-expandableFields": [ + + ] + }, + "payment_intent": { + "properties": { + "allowed_source_types": { + "description": "The list of source types (e.g. card) that this PaymentIntent is allowed to use.", + "items": { + "type": "string" + }, + "type": "array" + }, + "amount": { + "description": "Amount intended to be collected by this PaymentIntent.", + "type": "integer" + }, + "amount_capturable": { + "description": "Amount that can be captured from this PaymentIntent.", + "type": "integer" + }, + "amount_received": { + "description": "Amount that was collected by this PaymentIntent.", + "type": "integer" + }, + "application": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/application" + } + ], + "description": "ID of the Connect application that created the PaymentIntent.", + "nullable": true, + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/application" + } + ] + } + }, + "application_fee_amount": { + "description": "The amount of the application fee (if any) for the resulting payment. [See the Connect documentation](/docs/connect/direct-charges#collecting-fees) for details.", + "nullable": true, + "type": "integer" + }, + "canceled_at": { + "description": "Populated when `status` is `canceled`, this is the time at which the PaymentIntent was canceled. Measured in seconds since the Unix epoch.", + "format": "unix-time", + "nullable": true, + "type": "integer" + }, + "cancellation_reason": { + "description": "User-given reason for cancellation of this PaymentIntent, one of `duplicate`, `fraudulent`, or `requested_by_customer`.", + "enum": [ + "duplicate", + "fraudulent", + "requested_by_customer" + ], + "nullable": true, + "type": "string" + }, + "capture_method": { + "description": "Capture method of this PaymentIntent, one of `automatic` or `manual`.", + "enum": [ + "automatic", + "manual" + ], + "type": "string" + }, + "charges": { + "description": "Charges that were created by this PaymentIntent, if any.", + "properties": { + "data": { + "description": "The list contains all Charges that have been created by this PaymentIntent.", + "items": { + "$ref": "#/components/schemas/charge" + }, + "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, + "type": "string" + } + }, + "required": [ + "data", + "has_more", + "object", + "url" + ], + "title": "PaymentFlowsPaymentIntentResourceChargeList", + "type": "object", + "x-expandableFields": [ + "data" + ] + }, + "client_secret": { + "description": "The client secret of this PaymentIntent. Used for client-side retrieval using a publishable key. Please refer to [dynamic authentication](/docs/payments/dynamic-authentication) guide on how `client_secret` should be handled.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "confirmation_method": { + "description": "Confirmation method of this PaymentIntent, one of `secret` or `publishable`.", + "enum": [ + "publishable", + "secret" + ], + "type": "string" + }, + "created": { + "description": "Time at which the object was created. Measured in seconds since the Unix epoch.", + "format": "unix-time", + "type": "integer" + }, + "currency": { + "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).", + "maxLength": 3, + "type": "string" + }, + "customer": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/customer" + } + ], + "description": "ID of the Customer this PaymentIntent is for if one exists.", + "nullable": true, + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/customer" + } + ] + } + }, + "description": { + "description": "An arbitrary string attached to the object. Often useful for displaying to users.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "id": { + "description": "Unique identifier for the object.", + "maxLength": 5000, + "type": "string" + }, + "last_payment_error": { + "anyOf": [ + { + "$ref": "#/components/schemas/api_errors" + } + ], + "description": "The payment error encountered in the previous PaymentIntent confirmation.", + "nullable": true + }, + "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" + }, + "metadata": { + "additionalProperties": { + "maxLength": 500, + "type": "string" + }, + "description": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.", + "type": "object" + }, + "next_source_action": { + "anyOf": [ + { + "$ref": "#/components/schemas/payment_intent_next_source_action" + } + ], + "description": "If present, this property tells you what actions you need to take in order for your customer to fulfill a payment using the provided source.", + "nullable": true + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "payment_intent" + ], + "type": "string" + }, + "on_behalf_of": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/account" + } + ], + "description": "The account (if any) for which the funds of the PaymentIntent are intended. For details, see [Creating Separate Charges and Transfers](/docs/connect/charges-transfers#on-behalf-of). When transfer_data is specified, on_behalf_of must also be specified and must match the destination of the transfer.", + "nullable": true, + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/account" + } + ] + } + }, + "receipt_email": { + "description": "Email address that the receipt for the resulting payment will be sent to.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "review": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/review" + } + ], + "description": "ID of the review associated with this PaymentIntent, if any.", + "nullable": true, + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/review" + } + ] + } + }, + "shipping": { + "anyOf": [ + { + "$ref": "#/components/schemas/shipping" + } + ], + "description": "Shipping information for this PaymentIntent.", + "nullable": true + }, + "source": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/card" + }, + { + "$ref": "#/components/schemas/payment_method" + }, + { + "$ref": "#/components/schemas/source" + } + ], + "description": "ID of the source used in this PaymentIntent.", + "nullable": true, + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/card" + }, + { + "$ref": "#/components/schemas/payment_method" + }, + { + "$ref": "#/components/schemas/source" + } + ] + } + }, + "statement_descriptor": { + "description": "Extra information about a PaymentIntent. This will appear on your customer's statement when this PaymentIntent succeeds in creating a charge.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "status": { + "description": "Status of this PaymentIntent, one of `requires_source`, `requires_confirmation`, `requires_source_action`, `processing`, `requires_capture`, `canceled`, or `succeeded`.", + "enum": [ + "canceled", + "processing", + "requires_capture", + "requires_confirmation", + "requires_source", + "requires_source_action", + "succeeded" + ], + "type": "string" + }, + "transfer_data": { + "anyOf": [ + { + "$ref": "#/components/schemas/payment_flows_payment_intent_resource_transfer_data" + } + ], + "description": "The data with which to automatically create a Transfer when the payment is finalized.", + "nullable": true + }, + "transfer_group": { + "description": "A string that identifies the resulting payment as part of a group. See the [Connect documentation](/docs/connect/charges-transfers#grouping-transactions) for details.", + "maxLength": 5000, + "nullable": true, + "type": "string" + } + }, + "required": [ + "allowed_source_types", + "amount", + "capture_method", + "confirmation_method", + "created", + "currency", + "id", + "livemode", + "object", + "status" + ], + "title": "PaymentIntent", + "type": "object", + "x-expandableFields": [ + "application", + "charges", + "customer", + "last_payment_error", + "next_source_action", + "on_behalf_of", + "review", + "shipping", + "source", + "transfer_data" + ], + "x-resourceId": "payment_intent" + }, + "payment_intent_next_source_action": { + "properties": { + "authorize_with_url": { + "$ref": "#/components/schemas/payment_intent_next_source_action_authorize_with_url" + }, + "type": { + "description": "Type of the next source action to perform, one of `authorize_with_url` or `use_stripe_sdk`.", + "maxLength": 5000, + "type": "string" + }, + "use_stripe_sdk": { + "description": "When confirming a PaymentIntent with Stripe.js, Stripe.js depends on the contents of this dictionary to invoke authentication flows. The shape of the contents is subject to change and is only intended to be used by Stripe.js.", + "type": "object" + } + }, + "required": [ + "type" + ], + "title": "PaymentIntentNextSourceAction", + "type": "object", + "x-expandableFields": [ + "authorize_with_url" + ] + }, + "payment_intent_next_source_action_authorize_with_url": { + "properties": { + "return_url": { + "description": "If the customer does not exit their browser while authenticating, they will be redirected to this specified URL after completion.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "url": { + "description": "The URL you must redirect your customer to in order to authenticate the payment.", + "maxLength": 5000, + "nullable": true, + "type": "string" + } + }, + "title": "PaymentIntentNextSourceActionAuthorizeWithUrl", + "type": "object", + "x-expandableFields": [ + + ] + }, + "payment_method": { + "properties": { + "billing_details": { + "$ref": "#/components/schemas/payment_flows_payment_method_resource_billing_details" + }, + "card": { + "$ref": "#/components/schemas/payment_flows_private_payment_methods_card" + }, + "created": { + "format": "unix-time", + "type": "integer" + }, + "id": { + "maxLength": 5000, + "type": "string" + }, + "ideal": { + "$ref": "#/components/schemas/payment_flows_private_payment_methods_ideal" + }, + "livemode": { + "type": "boolean" + }, + "metadata": { + "additionalProperties": { + "maxLength": 500, + "type": "string" + }, + "type": "object" + }, + "object": { + "enum": [ + "payment_method" + ], + "type": "string" + }, + "sepa_debit": { + "$ref": "#/components/schemas/payment_flows_private_payment_methods_sepa_debit" + }, + "type": { + "enum": [ + "card", + "ideal", + "sepa_debit" + ], + "type": "string" + } + }, + "required": [ + "billing_details", + "created", + "id", + "livemode", + "metadata", + "object", + "type" + ], + "title": "PaymentFlowsPaymentMethod", + "type": "object", + "x-expandableFields": [ + "billing_details", + "card", + "ideal", + "sepa_debit" + ] + }, + "payment_source": { + "anyOf": [ + { + "$ref": "#/components/schemas/account" + }, + { + "$ref": "#/components/schemas/alipay_account" + }, + { + "$ref": "#/components/schemas/bank_account" + }, + { + "$ref": "#/components/schemas/bitcoin_receiver" + }, + { + "$ref": "#/components/schemas/card" + }, + { + "$ref": "#/components/schemas/payment_method" + }, + { + "$ref": "#/components/schemas/source" + } + ], + "title": "Polymorphic", + "x-resourceId": "payment_source" + }, + "payout": { + "properties": { + "amount": { + "description": "Amount (in %s) to be transferred to your bank account or debit card.", + "type": "integer" + }, + "arrival_date": { + "description": "Date the payout is expected to arrive in the bank. This factors in delays like weekends or bank holidays.", + "format": "unix-time", + "type": "integer" + }, + "automatic": { + "description": "Returns `true` if the payout was created by an [automated payout schedule](/docs/payouts#payout-schedule), and `false` if it was [requested manually](https://stripe.com/docs/payouts#manual-payouts).", + "type": "boolean" + }, + "balance_transaction": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/balance_transaction" + } + ], + "description": "ID of the balance transaction that describes the impact of this payout on your account balance.", + "nullable": true, + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/balance_transaction" + } + ] + } + }, + "created": { + "description": "Time at which the object was created. Measured in seconds since the Unix epoch.", + "format": "unix-time", + "type": "integer" + }, + "currency": { + "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).", + "maxLength": 3, + "type": "string" + }, + "description": { + "description": "An arbitrary string attached to the object. Often useful for displaying to users.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "destination": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/bank_account" + }, + { + "$ref": "#/components/schemas/card" + }, + { + "$ref": "#/components/schemas/deleted_bank_account" + }, + { + "$ref": "#/components/schemas/deleted_card" + } + ], + "description": "ID of the bank account or card the payout was sent to.", + "nullable": true, + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/bank_account" + }, + { + "$ref": "#/components/schemas/card" + }, + { + "$ref": "#/components/schemas/deleted_bank_account" + }, + { + "$ref": "#/components/schemas/deleted_card" + } + ] + } + }, + "failure_balance_transaction": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/balance_transaction" + } + ], + "description": "If the payout failed or was canceled, this will be the ID of the balance transaction that reversed the initial balance transaction, and puts the funds from the failed payout back in your balance.", + "nullable": true, + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/balance_transaction" + } + ] + } + }, + "failure_code": { + "description": "Error code explaining reason for payout failure if available. See [Types of payout failures](/docs/api#payout_failures) for a list of failure codes.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "failure_message": { + "description": "Message to user further explaining reason for payout failure if available.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "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" + }, + "metadata": { + "additionalProperties": { + "maxLength": 500, + "type": "string" + }, + "description": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.", + "type": "object" + }, + "method": { + "description": "The method used to send this payout, which can be `standard` or `instant`. `instant` is only supported for payouts to debit cards. (See [Instant payouts for marketplaces](/blog/instant-payouts-for-marketplaces) for more information.)", + "maxLength": 5000, + "type": "string" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "payout" + ], + "type": "string" + }, + "source_type": { + "description": "The source balance this payout came from. One of `card`, `bank_account`, or `alipay_account`.", + "maxLength": 5000, + "type": "string" + }, + "statement_descriptor": { + "description": "Extra information about a payout to be displayed on the user's bank statement.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "status": { + "description": "Current status of the payout (`paid`, `pending`, `in_transit`, `canceled` or `failed`). A payout will be `pending` until it is submitted to the bank, at which point it becomes `in_transit`. It will then change to `paid` if the transaction goes through. If it does not go through successfully, its status will change to `failed` or `canceled`.", + "maxLength": 5000, + "type": "string" + }, + "type": { + "description": "Can be `bank_account` or `card`.", + "enum": [ + "bank_account", + "card" + ], + "type": "string" + } + }, + "required": [ + "amount", + "arrival_date", + "automatic", + "created", + "currency", + "id", + "livemode", + "metadata", + "method", + "object", + "source_type", + "status", + "type" + ], + "title": "Payout", + "type": "object", + "x-expandableFields": [ + "balance_transaction", + "destination", + "failure_balance_transaction" + ], + "x-resourceId": "payout" + }, + "period": { + "properties": { + "end": { + "description": "The end date of this usage period. All usage up to and including this point in time is included.", + "format": "unix-time", + "nullable": true, + "type": "integer" + }, + "start": { + "description": "The start date of this usage period. All usage after this point in time is included.", + "format": "unix-time", + "nullable": true, + "type": "integer" + } + }, + "title": "Period", + "type": "object", + "x-expandableFields": [ + + ] + }, + "person": { + "properties": { + "account": { + "description": "The account the person is associated with.", + "maxLength": 5000, + "type": "string" + }, + "address": { + "$ref": "#/components/schemas/address" + }, + "address_kana": { + "anyOf": [ + { + "$ref": "#/components/schemas/legal_entity_japan_address" + } + ], + "description": "The Kana variation of the person's address (Japan only).", + "nullable": true + }, + "address_kanji": { + "anyOf": [ + { + "$ref": "#/components/schemas/legal_entity_japan_address" + } + ], + "description": "The Kanji variation of the person's address (Japan only).", + "nullable": true + }, + "created": { + "description": "Time at which the object was created. Measured in seconds since the Unix epoch.", + "format": "unix-time", + "type": "integer" + }, + "dob": { + "$ref": "#/components/schemas/legal_entity_dob" + }, + "email": { + "description": "The person's email address.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "first_name": { + "description": "The person's first name.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "first_name_kana": { + "description": "The Kana variation of the person's first name (Japan only).", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "first_name_kanji": { + "description": "The Kanji variation of the person's first name (Japan only).", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "gender": { + "description": "The person's gender (International regulations require either \"male\" or \"female\").", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "id": { + "description": "Unique identifier for the object.", + "maxLength": 5000, + "type": "string" + }, + "id_number_provided": { + "description": "Whether the person's `id_number` was provided.", + "type": "boolean" + }, + "last_name": { + "description": "The person's last name.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "last_name_kana": { + "description": "The Kana variation of the person's last name (Japan only).", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "last_name_kanji": { + "description": "The Kanji variation of the person's last name (Japan only).", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "maiden_name": { + "description": "The person's maiden name.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "metadata": { + "additionalProperties": { + "maxLength": 500, + "type": "string" + }, + "description": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.", + "type": "object" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "person" + ], + "type": "string" + }, + "phone": { + "description": "The person's phone number.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "relationship": { + "$ref": "#/components/schemas/person_relationship" + }, + "requirements": { + "anyOf": [ + { + "$ref": "#/components/schemas/person_requirements" + } + ], + "description": "Information about the requirements for this person, including what information needs to be collected, and by when.", + "nullable": true + }, + "ssn_last_4_provided": { + "description": "Whether the last 4 digits of this person's SSN have been provided.", + "type": "boolean" + }, + "verification": { + "$ref": "#/components/schemas/legal_entity_verification" + } + }, + "required": [ + "account", + "created", + "id", + "object" + ], + "title": "Person", + "type": "object", + "x-expandableFields": [ + "address", + "address_kana", + "address_kanji", + "dob", + "relationship", + "requirements", + "verification" + ], + "x-resourceId": "person" + }, + "person_relationship": { + "properties": { + "account_opener": { + "description": "Whether the person opened the account. This person provides information about themselves, and general information about the account.", + "nullable": true, + "type": "boolean" + }, + "director": { + "description": "Whether the person is a director of the account's legal entity.", + "nullable": true, + "type": "boolean" + }, + "executive": { + "description": "Whether the person has a significant control of the account’s legal entity.", + "nullable": true, + "type": "boolean" + }, + "owner": { + "description": "Whether the person is an owner of the account’s legal entity.", + "nullable": true, + "type": "boolean" + }, + "percent_ownership": { + "description": "The percent owned by the person of the account's legal entity.", + "nullable": true, + "type": "number" + }, + "title": { + "description": "The person's title (e.g., CEO, Support Engineer).", + "maxLength": 5000, + "nullable": true, + "type": "string" + } + }, + "title": "PersonRelationship", + "type": "object", + "x-expandableFields": [ + + ] + }, + "person_requirements": { + "properties": { + "currently_due": { + "description": "Fields that need to be collected to keep the person's account enabled. If not collected by the account's `current_deadline`, these fields are moved to `past_due` and the account is disabled.", + "items": { + "type": "string" + }, + "type": "array" + }, + "eventually_due": { + "description": "Fields that need to be collected assuming all volume thresholds are reached. As fields are needed, they are moved to `currently_due` and the account's `current_deadline` is set.", + "items": { + "type": "string" + }, + "type": "array" + }, + "past_due": { + "description": "Fields that weren't collected by the account's `current_deadline`. These fields need to be collected to enable payouts for the person's account.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "currently_due", + "eventually_due", + "past_due" + ], + "title": "PersonRequirements", + "type": "object", + "x-expandableFields": [ + + ] + }, + "plan": { + "properties": { + "active": { + "description": "Whether the plan is currently available for new subscriptions.", + "type": "boolean" + }, + "aggregate_usage": { + "description": "Specifies a usage aggregation strategy for plans of `usage_type=metered`. Allowed values are `sum` for summing up all usage during a period, `last_during_period` for picking the last usage record reported within a period, `last_ever` for picking the last usage record ever (across period bounds) or `max` which picks the usage record with the maximum reported usage during a period. Defaults to `sum`.", + "enum": [ + "last_during_period", + "last_ever", + "max", + "sum" + ], + "nullable": true, + "type": "string" + }, + "amount": { + "description": "The amount in %s to be charged on the interval specified.", + "nullable": true, + "type": "integer" + }, + "billing_scheme": { + "description": "Describes how to compute the price per period. Either `per_unit` or `tiered`. `per_unit` indicates that the fixed amount (specified in `amount`) will be charged per unit in `quantity` (for plans with `usage_type=licensed`), or per unit of total usage (for plans with `usage_type=metered`). `tiered` indicates that the unit pricing will be computed using a tiering strategy as defined using the `tiers` and `tiers_mode` attributes.", + "enum": [ + "per_unit", + "tiered" + ], + "nullable": true, + "type": "string" + }, + "created": { + "description": "Time at which the object was created. Measured in seconds since the Unix epoch.", + "format": "unix-time", + "type": "integer" + }, + "currency": { + "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).", + "maxLength": 3, + "type": "string" + }, + "id": { + "description": "Unique identifier for the object.", + "maxLength": 5000, + "type": "string" + }, + "interval": { + "description": "One of `day`, `week`, `month` or `year`. The frequency with which a subscription should be billed.", + "enum": [ + "day", + "month", + "week", + "year" + ], + "type": "string" + }, + "interval_count": { + "description": "The number of intervals (specified in the `interval` property) between subscription billings. For example, `interval=month` and `interval_count=3` bills every 3 months.", + "type": "integer" + }, + "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" + }, + "metadata": { + "additionalProperties": { + "maxLength": 500, + "type": "string" + }, + "description": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.", + "type": "object" + }, + "nickname": { + "description": "A brief description of the plan, hidden from customers.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "plan" + ], + "type": "string" + }, + "product": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/product" + }, + { + "$ref": "#/components/schemas/deleted_product" + } + ], + "description": "The product whose pricing this plan determines.", + "nullable": true, + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/product" + }, + { + "$ref": "#/components/schemas/deleted_product" + } + ] + } + }, + "tiers": { + "description": "Each element represents a pricing tier. This parameter requires `billing_scheme` to be set to `tiered`. See also the documentation for `billing_scheme`.", + "items": { + "$ref": "#/components/schemas/plan_tier" + }, + "nullable": true, + "type": "array" + }, + "tiers_mode": { + "description": "Defines if the tiering price should be `graduated` or `volume` based. In `volume`-based tiering, the maximum quantity within a period determines the per unit price, in `graduated` tiering pricing can successively change as the quantity grows.", + "enum": [ + "graduated", + "volume" + ], + "nullable": true, + "type": "string" + }, + "transform_usage": { + "anyOf": [ + { + "$ref": "#/components/schemas/transform_usage" + } + ], + "description": "Apply a transformation to the reported usage or set quantity before computing the billed price. Cannot be combined with `tiers`.", + "nullable": true + }, + "trial_period_days": { + "description": "Default number of trial days when subscribing a customer to this plan using [`trial_from_plan=true`](/docs/api#create_subscription-trial_from_plan).", + "nullable": true, + "type": "integer" + }, + "usage_type": { + "description": "Configures how the quantity per period should be determined, can be either `metered` or `licensed`. `licensed` will automatically bill the `quantity` set for a plan when adding it to a subscription, `metered` will aggregate the total usage based on usage records. Defaults to `licensed`.", + "enum": [ + "licensed", + "metered" + ], + "type": "string" + } + }, + "required": [ + "active", + "created", + "currency", + "id", + "interval", + "interval_count", + "livemode", + "metadata", + "object", + "usage_type" + ], + "title": "Plan", + "type": "object", + "x-expandableFields": [ + "product", + "tiers", + "transform_usage" + ], + "x-resourceId": "plan" + }, + "plan_tier": { + "properties": { + "flat_amount": { + "description": "Price for the entire tier.", + "nullable": true, + "type": "integer" + }, + "unit_amount": { + "description": "Per unit price for units relevant to the tier.", + "nullable": true, + "type": "integer" + }, + "up_to": { + "description": "Up to and including to this quantity will be contained in the tier.", + "nullable": true, + "type": "integer" + } + }, + "title": "PlanTier", + "type": "object", + "x-expandableFields": [ + + ] + }, + "product": { + "properties": { + "active": { + "description": "Whether the product is currently available for purchase.", + "nullable": true, + "type": "boolean" + }, + "attributes": { + "description": "A list of up to 5 attributes that each SKU can provide values for (e.g., `[\"color\", \"size\"]`). Only applicable to products of `type=good`.", + "items": { + "type": "string" + }, + "nullable": true, + "type": "array" + }, + "caption": { + "description": "A short one-line description of the product, meant to be displayable to the customer. Only applicable to products of `type=good`.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "created": { + "description": "Time at which the object was created. Measured in seconds since the Unix epoch.", + "format": "unix-time", + "type": "integer" + }, + "deactivate_on": { + "description": "An array of connect application identifiers that cannot purchase this product. Only applicable to products of `type=good`.", + "items": { + "type": "string" + }, + "type": "array" + }, + "description": { + "description": "The product's description, meant to be displayable to the customer. Only applicable to products of `type=good`.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "id": { + "description": "Unique identifier for the object.", + "maxLength": 5000, + "type": "string" + }, + "images": { + "description": "A list of up to 8 URLs of images for this product, meant to be displayable to the customer. Only applicable to products of `type=good`.", + "items": { + "type": "string" + }, + "type": "array" + }, + "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" + }, + "metadata": { + "additionalProperties": { + "maxLength": 500, + "type": "string" + }, + "description": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.", + "type": "object" + }, + "name": { + "description": "The product's name, meant to be displayable to the customer. Applicable to both `service` and `good` types.", + "maxLength": 5000, + "type": "string" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "product" + ], + "type": "string" + }, + "package_dimensions": { + "anyOf": [ + { + "$ref": "#/components/schemas/package_dimensions" + } + ], + "description": "The dimensions of this product for shipping purposes. A SKU associated with this product can override this value by having its own `package_dimensions`. Only applicable to products of `type=good`.", + "nullable": true + }, + "shippable": { + "description": "Whether this product is a shipped good. Only applicable to products of `type=good`.", + "nullable": true, + "type": "boolean" + }, + "statement_descriptor": { + "description": "Extra information about a product which will appear on your customer's credit card statement. In the case that multiple products are billed at once, the first statement descriptor will be used. Only available on products of type=`service`.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "type": { + "description": "The type of the product. The product is either of type `good`, which is eligible for use with Orders and SKUs, or `service`, which is eligible for use with Subscriptions and Plans.", + "enum": [ + "good", + "service" + ], + "type": "string" + }, + "unit_label": { + "description": "A label that represents units of this product, such as seat(s), in Stripe and on customers’ receipts and invoices. Only available on products of type=`service`.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "updated": { + "format": "unix-time", + "type": "integer" + }, + "url": { + "description": "A URL of a publicly-accessible webpage for this product. Only applicable to products of `type=good`.", + "maxLength": 2048, + "nullable": true, + "type": "string" + } + }, + "required": [ + "created", + "id", + "images", + "livemode", + "metadata", + "name", + "object", + "type", + "updated" + ], + "title": "Product", + "type": "object", + "x-expandableFields": [ + "package_dimensions" + ], + "x-resourceId": "product" + }, + "radar.value_list": { + "properties": { + "alias": { + "description": "The name of the value list for use in rules.", + "maxLength": 5000, + "type": "string" + }, + "created": { + "description": "Time at which the object was created. Measured in seconds since the Unix epoch.", + "format": "unix-time", + "type": "integer" + }, + "created_by": { + "description": "The name or email address of the user who created this value list.", + "maxLength": 5000, + "type": "string" + }, + "id": { + "description": "Unique identifier for the object.", + "maxLength": 5000, + "type": "string" + }, + "item_type": { + "description": "The type of items in the value list. One of `card_fingerprint`, `card_bin`, `email`, `ip_address`, `country`, `string`, or `case_sensitive_string`.", + "enum": [ + "card_bin", + "card_fingerprint", + "case_sensitive_string", + "country", + "email", + "ip_address", + "string" + ], + "type": "string" + }, + "list_items": { + "description": "List of items contained within this value list.", + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/radar.value_list_item" + }, + "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, + "type": "string" + } + }, + "required": [ + "data", + "has_more", + "object", + "url" + ], + "title": "RadarListListItemList", + "type": "object", + "x-expandableFields": [ + "data" + ] + }, + "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" + }, + "metadata": { + "additionalProperties": { + "maxLength": 500, + "type": "string" + }, + "description": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.", + "type": "object" + }, + "name": { + "description": "The name of the value list.", + "maxLength": 5000, + "type": "string" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "radar.value_list" + ], + "type": "string" + }, + "updated": { + "description": "The timestamp when the value list was last updated.", + "format": "unix-time", + "nullable": true, + "type": "integer" + }, + "updated_by": { + "description": "The name or email address of the user who last updated this value list.", + "maxLength": 5000, + "nullable": true, + "type": "string" + } + }, + "required": [ + "alias", + "created", + "created_by", + "id", + "item_type", + "list_items", + "livemode", + "metadata", + "name", + "object" + ], + "title": "RadarListList", + "type": "object", + "x-expandableFields": [ + "list_items" + ], + "x-resourceId": "radar.value_list" + }, + "radar.value_list_item": { + "properties": { + "created": { + "description": "Time at which the object was created. Measured in seconds since the Unix epoch.", + "format": "unix-time", + "type": "integer" + }, + "created_by": { + "description": "The name or email address of the user who added this item to the value list.", + "maxLength": 5000, + "type": "string" + }, + "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" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "radar.value_list_item" + ], + "type": "string" + }, + "value": { + "description": "The value of the item.", + "maxLength": 5000, + "type": "string" + }, + "value_list": { + "description": "The identifier of the value list this item belongs to.", + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "created", + "created_by", + "id", + "livemode", + "object", + "value", + "value_list" + ], + "title": "RadarListListItem", + "type": "object", + "x-expandableFields": [ + + ], + "x-resourceId": "radar.value_list_item" + }, + "recipient": { + "properties": { + "active_account": { + "anyOf": [ + { + "$ref": "#/components/schemas/bank_account" + } + ], + "description": "Hash describing the current account on the recipient, if there is one.", + "nullable": true + }, + "cards": { + "nullable": true, + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/card" + }, + "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, + "type": "string" + } + }, + "required": [ + "data", + "has_more", + "object", + "url" + ], + "title": "CardList", + "type": "object", + "x-expandableFields": [ + "data" + ] + }, + "created": { + "description": "Time at which the object was created. Measured in seconds since the Unix epoch.", + "format": "unix-time", + "type": "integer" + }, + "default_card": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/card" + } + ], + "description": "The default card to use for creating transfers to this recipient.", + "nullable": true, + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/card" + } + ] + } + }, + "description": { + "description": "An arbitrary string attached to the object. Often useful for displaying to users.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "email": { + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "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" + }, + "metadata": { + "additionalProperties": { + "maxLength": 500, + "type": "string" + }, + "description": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.", + "type": "object" + }, + "migrated_to": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/account" + } + ], + "description": "The ID of the [Custom account](/docs/connect/custom-accounts) this recipient was migrated to. If set, the recipient can no longer be updated, nor can transfers be made to it: use the Custom account instead.", + "nullable": true, + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/account" + } + ] + } + }, + "name": { + "description": "Full, legal name of the recipient.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "recipient" + ], + "type": "string" + }, + "rolled_back_from": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/account" + } + ], + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/account" + } + ] + } + }, + "type": { + "description": "Type of the recipient, one of `individual` or `corporation`.", + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "created", + "id", + "livemode", + "metadata", + "object", + "type" + ], + "title": "TransferRecipient", + "type": "object", + "x-expandableFields": [ + "active_account", + "cards", + "default_card", + "migrated_to", + "rolled_back_from" + ], + "x-resourceId": "recipient" + }, + "recipient_transfer": { + "properties": { + "amount": { + "description": "Amount (in %s) to be transferred to your bank account.", + "type": "integer" + }, + "amount_reversed": { + "description": "Amount in %s reversed (can be less than the amount attribute on the transfer if a partial reversal was issued).", + "type": "integer" + }, + "application_fee": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/application_fee" + } + ], + "nullable": true, + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/application_fee" + } + ] + } + }, + "automatic": { + "description": "Returns `true` if the payout was created by an [automated payout schedule](/docs/payouts#payout-schedule), and `false` if it was [requested manually](https://stripe.com/docs/payouts#manual-payouts).", + "type": "boolean" + }, + "balance_transaction": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/balance_transaction" + } + ], + "description": "Balance transaction that describes the impact of this transfer on your account balance.", + "nullable": true, + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/balance_transaction" + } + ] + } + }, + "created": { + "description": "Time at which the object was created. Measured in seconds since the Unix epoch.", + "format": "unix-time", + "type": "integer" + }, + "currency": { + "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).", + "maxLength": 3, + "type": "string" + }, + "date": { + "description": "Date the transfer is scheduled to arrive in the bank. This factors in delays like weekends or bank holidays.", + "format": "unix-time", + "type": "integer" + }, + "description": { + "description": "Internal-only description of the transfer.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "destination": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/account" + } + ], + "description": "ID of the bank account, card, or Stripe account the transfer was sent to.", + "nullable": true, + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/account" + } + ] + } + }, + "destination_payment": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/charge" + } + ], + "description": "If the destination is a Stripe account, this will be the ID of the payment that the destination account received for the transfer.", + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/charge" + } + ] + } + }, + "failure_code": { + "description": "Error code explaining reason for transfer failure if available. See [Types of transfer failures](/docs/api#transfer_failures) for a list of failure codes.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "failure_message": { + "description": "Message to user further explaining reason for transfer failure if available.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "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" + }, + "metadata": { + "additionalProperties": { + "maxLength": 500, + "type": "string" + }, + "description": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.", + "type": "object" + }, + "method": { + "description": "The method used to send this transfer, which can be `standard` or `instant`. `instant` is only supported for transfers to debit cards. (See [Instant payouts for marketplaces](/blog/instant-payouts-for-marketplaces) for more information.)", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "recipient_transfer" + ], + "type": "string" + }, + "reversals": { + "description": "A list of reversals that have been applied to the transfer.", + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/transfer_reversal" + }, + "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, + "type": "string" + } + }, + "required": [ + "data", + "has_more", + "object", + "url" + ], + "title": "TransferReversalList", + "type": "object", + "x-expandableFields": [ + "data" + ] + }, + "reversed": { + "description": "Whether the transfer has been fully reversed. If the transfer is only partially reversed, this attribute will still be false.", + "type": "boolean" + }, + "source_transaction": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/charge" + } + ], + "description": "ID of the charge (or other transaction) that was used to fund the transfer. If null, the transfer was funded from the available balance.", + "nullable": true, + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/charge" + } + ] + } + }, + "source_type": { + "description": "The source balance this transfer came from. One of `card`, `bank_account`, or `alipay_account`.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "statement_descriptor": { + "description": "Extra information about a transfer to be displayed on the user's bank statement.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "status": { + "description": "Current status of the transfer (`paid`, `pending`, `in_transit`, `canceled` or `failed`). A transfer will be `pending` until it is submitted to the bank, at which point it becomes `in_transit`. It will then change to `paid` if the transaction goes through. If it does not go through successfully, its status will change to `failed` or `canceled`.", + "maxLength": 5000, + "type": "string" + }, + "transfer_group": { + "description": "A string that identifies this transaction as part of a group. See the [Connect documentation](/docs/connect/charges-transfers#grouping-transactions) for details.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "type": { + "description": "Can be `card`, `bank_account`, or `stripe_account`.", + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "amount", + "amount_reversed", + "automatic", + "created", + "currency", + "date", + "id", + "livemode", + "metadata", + "object", + "reversals", + "reversed", + "status", + "type" + ], + "title": "TransferRecipientTransfer", + "type": "object", + "x-expandableFields": [ + "application_fee", + "balance_transaction", + "destination", + "destination_payment", + "reversals", + "source_transaction" + ] + }, + "refund": { + "properties": { + "amount": { + "description": "Amount, in %s.", + "type": "integer" + }, + "balance_transaction": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/balance_transaction" + } + ], + "description": "Balance transaction that describes the impact on your account balance.", + "nullable": true, + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/balance_transaction" + } + ] + } + }, + "charge": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/charge" + } + ], + "description": "ID of the charge that was refunded.", + "nullable": true, + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/charge" + } + ] + } + }, + "created": { + "description": "Time at which the object was created. Measured in seconds since the Unix epoch.", + "format": "unix-time", + "type": "integer" + }, + "currency": { + "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).", + "maxLength": 3, + "type": "string" + }, + "failure_balance_transaction": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/balance_transaction" + } + ], + "description": "If the refund failed, this balance transaction describes the adjustment made on your account balance that reverses the initial balance transaction.", + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/balance_transaction" + } + ] + } + }, + "failure_reason": { + "description": "If the refund failed, the reason for refund failure if known. Possible values are `lost_or_stolen_card`, `expired_or_canceled_card`, or `unknown`.", + "maxLength": 5000, + "type": "string" + }, + "id": { + "description": "Unique identifier for the object.", + "maxLength": 5000, + "type": "string" + }, + "metadata": { + "additionalProperties": { + "maxLength": 500, + "type": "string" + }, + "description": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.", + "type": "object" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "refund" + ], + "type": "string" + }, + "reason": { + "description": "Reason for the refund. If set, possible values are `duplicate`, `fraudulent`, and `requested_by_customer`.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "receipt_number": { + "description": "This is the transaction number that appears on email receipts sent for this refund.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "source_transfer_reversal": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/transfer_reversal" + } + ], + "description": "The transfer reversal that is associated with the refund. Only present if the charge came from another Stripe account. See the Connect documentation for details.", + "nullable": true, + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/transfer_reversal" + } + ] + } + }, + "status": { + "description": "Status of the refund. For credit card refunds, this can be `succeeded` or `failed`. For other types of refunds, it can be `pending`, `succeeded`, `failed`, or `canceled`. Refer to our [refunds](/docs/refunds#failed-refunds) documentation for more details.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "transfer_reversal": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/transfer_reversal" + } + ], + "description": "If the accompanying transfer was reversed, the transfer reversal object. Only applicable if the charge was created using the destination parameter.", + "nullable": true, + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/transfer_reversal" + } + ] + } + } + }, + "required": [ + "amount", + "created", + "currency", + "id", + "metadata", + "object" + ], + "title": "Refund", + "type": "object", + "x-expandableFields": [ + "balance_transaction", + "charge", + "failure_balance_transaction", + "source_transfer_reversal", + "transfer_reversal" + ], + "x-resourceId": "refund" + }, + "reporting.report_run": { + "properties": { + "created": { + "description": "Time at which the object was created. Measured in seconds since the Unix epoch.", + "format": "unix-time", + "type": "integer" + }, + "error": { + "description": "If something should go wrong during the run, a message about the failure (populated when\n `status=failed`).", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "id": { + "description": "Unique identifier for the object.", + "maxLength": 5000, + "type": "string" + }, + "livemode": { + "description": "Always `true`: reports can only be run on live-mode data.", + "type": "boolean" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "reporting.report_run" + ], + "type": "string" + }, + "parameters": { + "$ref": "#/components/schemas/financial_reporting_finance_report_run_run_parameters" + }, + "report_type": { + "description": "The ID of the [report type](/docs/reporting/statements/api#report-types) to run, such as `\"balance.summary.1\"`.", + "maxLength": 5000, + "type": "string" + }, + "result": { + "anyOf": [ + { + "$ref": "#/components/schemas/file" + } + ], + "description": "The file object representing the result of the report run (populated when\n `status=succeeded`).", + "nullable": true + }, + "status": { + "description": "Status of this report run. This will be `pending` when the run is initially created.\n When the run finishes, this will be set to `succeeded` and the `result` field will be populated.\n Rarely, we may encounter an error, at which point this will be set to `failed` and the `error` field will be populated.", + "maxLength": 5000, + "type": "string" + }, + "succeeded_at": { + "description": "Timestamp at which this run successfully finished (populated when\n `status=succeeded`). Measured in seconds since the Unix epoch.", + "format": "unix-time", + "nullable": true, + "type": "integer" + } + }, + "required": [ + "created", + "id", + "livemode", + "object", + "parameters", + "report_type", + "status" + ], + "title": "reporting_report_run", + "type": "object", + "x-expandableFields": [ + "parameters", + "result" + ], + "x-resourceId": "reporting.report_run" + }, + "reporting.report_type": { + "properties": { + "data_available_end": { + "description": "Most recent time for which this Report Type is available. Measured in seconds since the Unix epoch.", + "format": "unix-time", + "type": "integer" + }, + "data_available_start": { + "description": "Earliest time for which this Report Type is available. Measured in seconds since the Unix epoch.", + "format": "unix-time", + "type": "integer" + }, + "id": { + "description": "The [ID of the Report Type](https://stripe.com/docs/reporting/statements/api#available-report-types), such as `balance.summary.1`.", + "maxLength": 5000, + "type": "string" + }, + "name": { + "description": "Human-readable name of the Report Type", + "maxLength": 5000, + "type": "string" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "reporting.report_type" + ], + "type": "string" + }, + "updated": { + "description": "When this Report Type was latest updated. Measured in seconds since the Unix epoch.", + "format": "unix-time", + "type": "integer" + }, + "version": { + "description": "Version of the Report Type. Different versions report with the same ID will have the same purpose, but may take different run parameters or have different result schemas.", + "type": "integer" + } + }, + "required": [ + "data_available_end", + "data_available_start", + "id", + "name", + "object", + "updated", + "version" + ], + "title": "reporting_report_type", + "type": "object", + "x-expandableFields": [ + + ], + "x-resourceId": "reporting.report_type" + }, + "reserve_transaction": { + "properties": { + "amount": { + "type": "integer" + }, + "currency": { + "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).", + "maxLength": 3, + "type": "string" + }, + "description": { + "description": "An arbitrary string attached to the object. Often useful for displaying to users.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "id": { + "description": "Unique identifier for the object.", + "maxLength": 5000, + "type": "string" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "reserve_transaction" + ], + "type": "string" + } + }, + "required": [ + "amount", + "currency", + "id", + "object" + ], + "title": "ReserveTransaction", + "type": "object", + "x-expandableFields": [ + + ] + }, + "review": { + "properties": { + "charge": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/charge" + } + ], + "description": "The charge associated with this review.", + "nullable": true, + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/charge" + } + ] + } + }, + "created": { + "description": "Time at which the object was created. Measured in seconds since the Unix epoch.", + "format": "unix-time", + "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" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "review" + ], + "type": "string" + }, + "open": { + "description": "If `true`, the review needs action.", + "type": "boolean" + }, + "payment_intent": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/payment_intent" + } + ], + "description": "The PaymentIntent ID associated with this review, if one exists.", + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/payment_intent" + } + ] + } + }, + "reason": { + "description": "The reason the review is currently open or closed. One of `rule`, `manual`, `approved`, `refunded`, `refunded_as_fraud`, or `disputed`.", + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "created", + "id", + "livemode", + "object", + "open", + "reason" + ], + "title": "RadarReview", + "type": "object", + "x-expandableFields": [ + "charge", + "payment_intent" + ], + "x-resourceId": "review" + }, + "rule": { + "properties": { + "action": { + "description": "The action taken on the payment.", + "maxLength": 5000, + "type": "string" + }, + "id": { + "description": "Unique identifier for the object.", + "maxLength": 5000, + "type": "string" + }, + "predicate": { + "description": "The predicate to evaluate the payment against.", + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "action", + "id", + "predicate" + ], + "title": "RadarRule", + "type": "object", + "x-expandableFields": [ + + ] + }, + "scheduled_query_run": { + "properties": { + "created": { + "description": "Time at which the object was created. Measured in seconds since the Unix epoch.", + "format": "unix-time", + "type": "integer" + }, + "data_load_time": { + "description": "When the query was run, Sigma contained a snapshot of your Stripe data at this time.", + "format": "unix-time", + "type": "integer" + }, + "error": { + "$ref": "#/components/schemas/sigma_scheduled_query_run_error" + }, + "file": { + "anyOf": [ + { + "$ref": "#/components/schemas/file" + } + ], + "description": "The file object representing the results of the query.", + "nullable": true + }, + "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" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "scheduled_query_run" + ], + "type": "string" + }, + "result_available_until": { + "description": "Time at which the result expires and is no longer available for download.", + "format": "unix-time", + "type": "integer" + }, + "sql": { + "description": "SQL for the query.", + "maxLength": 5000, + "type": "string" + }, + "status": { + "description": "The query's execution status, which will be `completed` for successful runs, and `canceled`, `failed`, or `timed_out` otherwise.", + "maxLength": 5000, + "type": "string" + }, + "title": { + "description": "Title of the query.", + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "created", + "data_load_time", + "id", + "livemode", + "object", + "result_available_until", + "sql", + "status", + "title" + ], + "title": "ScheduledQueryRun", + "type": "object", + "x-expandableFields": [ + "error", + "file" + ], + "x-resourceId": "scheduled_query_run" + }, + "shipping": { + "properties": { + "address": { + "$ref": "#/components/schemas/address" + }, + "carrier": { + "description": "The delivery service that shipped a physical product, such as Fedex, UPS, USPS, etc.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "name": { + "description": "Recipient name.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "phone": { + "description": "Recipient phone (including extension).", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "tracking_number": { + "description": "The tracking number for a physical product, obtained from the delivery service. If multiple tracking numbers were generated for this purchase, please separate them with commas.", + "maxLength": 5000, + "nullable": true, + "type": "string" + } + }, + "required": [ + "address" + ], + "title": "Shipping", + "type": "object", + "x-expandableFields": [ + "address" + ] + }, + "shipping_method": { + "properties": { + "amount": { + "description": "A positive integer in the smallest currency unit (that is, 100 cents for $1.00, or 1 for ¥1, Japanese Yen being a zero-decimal currency) representing the total amount for the line item.", + "type": "integer" + }, + "currency": { + "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).", + "maxLength": 3, + "type": "string" + }, + "delivery_estimate": { + "anyOf": [ + { + "$ref": "#/components/schemas/delivery_estimate" + } + ], + "description": "The estimated delivery date for the given shipping method. Can be either a specific date or a range.", + "nullable": true + }, + "description": { + "description": "An arbitrary string attached to the object. Often useful for displaying to users.", + "maxLength": 5000, + "type": "string" + }, + "id": { + "description": "Unique identifier for the object.", + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "amount", + "currency", + "description", + "id" + ], + "title": "ShippingMethod", + "type": "object", + "x-expandableFields": [ + "delivery_estimate" + ] + }, + "sigma_scheduled_query_run_error": { + "properties": { + "message": { + "description": "Information about the run failure.", + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "message" + ], + "title": "SigmaScheduledQueryRunError", + "type": "object", + "x-expandableFields": [ + + ] + }, + "sku": { + "properties": { + "active": { + "description": "Whether the SKU is available for purchase.", + "type": "boolean" + }, + "attributes": { + "additionalProperties": { + "maxLength": 5000, + "type": "string" + }, + "description": "A dictionary of attributes and values for the attributes defined by the product. If, for example, a product's attributes are `[\"size\", \"gender\"]`, a valid SKU has the following dictionary of attributes: `{\"size\": \"Medium\", \"gender\": \"Unisex\"}`.", + "type": "object" + }, + "created": { + "description": "Time at which the object was created. Measured in seconds since the Unix epoch.", + "format": "unix-time", + "type": "integer" + }, + "currency": { + "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).", + "maxLength": 3, + "type": "string" + }, + "id": { + "description": "Unique identifier for the object.", + "maxLength": 5000, + "type": "string" + }, + "image": { + "description": "The URL of an image for this SKU, meant to be displayable to the customer.", + "maxLength": 2048, + "nullable": true, + "type": "string" + }, + "inventory": { + "$ref": "#/components/schemas/inventory" + }, + "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" + }, + "metadata": { + "additionalProperties": { + "maxLength": 500, + "type": "string" + }, + "description": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.", + "type": "object" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "sku" + ], + "type": "string" + }, + "package_dimensions": { + "anyOf": [ + { + "$ref": "#/components/schemas/package_dimensions" + } + ], + "description": "The dimensions of this SKU for shipping purposes.", + "nullable": true + }, + "price": { + "description": "The cost of the item as a positive integer in the smallest currency unit (that is, 100 cents to charge $1.00, or 100 to charge ¥100, Japanese Yen being a zero-decimal currency).", + "type": "integer" + }, + "product": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/product" + } + ], + "description": "The ID of the product this SKU is associated with. The product must be currently active.", + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/product" + } + ] + } + }, + "updated": { + "format": "unix-time", + "type": "integer" + } + }, + "required": [ + "active", + "attributes", + "created", + "currency", + "id", + "inventory", + "livemode", + "metadata", + "object", + "price", + "product", + "updated" + ], + "title": "SKU", + "type": "object", + "x-expandableFields": [ + "inventory", + "package_dimensions", + "product" + ], + "x-resourceId": "sku" + }, + "source": { + "properties": { + "ach_credit_transfer": { + "$ref": "#/components/schemas/source_type_ach_credit_transfer" + }, + "ach_debit": { + "$ref": "#/components/schemas/source_type_ach_debit" + }, + "alipay": { + "$ref": "#/components/schemas/source_type_alipay" + }, + "amount": { + "description": "A positive integer in the smallest currency unit (that is, 100 cents for $1.00, or 1 for ¥1, Japanese Yen being a zero-decimal currency) representing the total amount associated with the source. This is the amount for which the source will be chargeable once ready. Required for `single_use` sources.", + "nullable": true, + "type": "integer" + }, + "bancontact": { + "$ref": "#/components/schemas/source_type_bancontact" + }, + "card": { + "$ref": "#/components/schemas/source_type_card" + }, + "card_present": { + "$ref": "#/components/schemas/source_type_card_present" + }, + "client_secret": { + "description": "The client secret of the source. Used for client-side retrieval using a publishable key.", + "maxLength": 5000, + "type": "string" + }, + "code_verification": { + "$ref": "#/components/schemas/source_code_verification_flow" + }, + "created": { + "description": "Time at which the object was created. Measured in seconds since the Unix epoch.", + "format": "unix-time", + "type": "integer" + }, + "currency": { + "description": "Three-letter [ISO code for the currency](https://stripe.com/docs/currencies) associated with the source. This is the currency for which the source will be chargeable once ready. Required for `single_use` sources.", + "maxLength": 3, + "nullable": true, + "type": "string" + }, + "customer": { + "description": "The ID of the customer to which this source is attached. This will not be present when the source has not been attached to a customer.", + "maxLength": 5000, + "type": "string" + }, + "eps": { + "$ref": "#/components/schemas/source_type_eps" + }, + "flow": { + "description": "The authentication `flow` of the source. `flow` is one of `redirect`, `receiver`, `code_verification`, `none`.", + "maxLength": 5000, + "type": "string" + }, + "giropay": { + "$ref": "#/components/schemas/source_type_giropay" + }, + "id": { + "description": "Unique identifier for the object.", + "maxLength": 5000, + "type": "string" + }, + "ideal": { + "$ref": "#/components/schemas/source_type_ideal" + }, + "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" + }, + "metadata": { + "additionalProperties": { + "maxLength": 500, + "type": "string" + }, + "description": "Set of key-value pairs 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" + }, + "multibanco": { + "$ref": "#/components/schemas/source_type_multibanco" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "source" + ], + "type": "string" + }, + "owner": { + "anyOf": [ + { + "$ref": "#/components/schemas/source_owner" + } + ], + "description": "Information about the owner of the payment instrument that may be used or required by particular source types.", + "nullable": true + }, + "p24": { + "$ref": "#/components/schemas/source_type_p24" + }, + "paper_check": { + "$ref": "#/components/schemas/source_type_paper_check" + }, + "receiver": { + "$ref": "#/components/schemas/source_receiver_flow" + }, + "redirect": { + "$ref": "#/components/schemas/source_redirect_flow" + }, + "sepa_credit_transfer": { + "$ref": "#/components/schemas/source_type_sepa_credit_transfer" + }, + "sepa_debit": { + "$ref": "#/components/schemas/source_type_sepa_debit" + }, + "sofort": { + "$ref": "#/components/schemas/source_type_sofort" + }, + "statement_descriptor": { + "description": "Extra information about a source. This will appear on your customer's statement every time you charge the source.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "status": { + "description": "The status of the source, one of `canceled`, `chargeable`, `consumed`, `failed`, or `pending`. Only `chargeable` sources can be used to create a charge.", + "maxLength": 5000, + "type": "string" + }, + "three_d_secure": { + "$ref": "#/components/schemas/source_type_three_d_secure" + }, + "type": { + "description": "The `type` of the source. The `type` is a payment method, one of `ach_credit_transfer`, `ach_debit`, `alipay`, `bancontact`, `card`, `card_present`, `eps`, `giropay`, `ideal`, `multibanco`, `p24`, `paper_check`, `sepa_credit_transfer`, `sepa_debit`, `sofort`, or `three_d_secure`. An additional hash is included on the source with a name matching this value. It contains additional information specific to the [payment method](/docs/sources) used.", + "enum": [ + "ach_credit_transfer", + "ach_debit", + "alipay", + "bancontact", + "card", + "card_present", + "eps", + "giropay", + "ideal", + "multibanco", + "p24", + "paper_check", + "sepa_credit_transfer", + "sepa_debit", + "sofort", + "three_d_secure" + ], + "type": "string" + }, + "usage": { + "description": "Either `reusable` or `single_use`. Whether this source should be reusable or not. Some source types may or may not be reusable by construction, while others may leave the option at creation. If an incompatible value is passed, an error will be returned.", + "maxLength": 5000, + "nullable": true, + "type": "string" + } + }, + "required": [ + "client_secret", + "created", + "flow", + "id", + "livemode", + "object", + "status", + "type" + ], + "title": "Source", + "type": "object", + "x-expandableFields": [ + "code_verification", + "owner", + "receiver", + "redirect" + ], + "x-resourceId": "source" + }, + "source_code_verification_flow": { + "properties": { + "attempts_remaining": { + "description": "The number of attempts remaining to authenticate the source object with a verification code.", + "type": "integer" + }, + "status": { + "description": "The status of the code verification, either `pending` (awaiting verification, `attempts_remaining` should be greater than 0), `succeeded` (successful verification) or `failed` (failed verification, cannot be verified anymore as `attempts_remaining` should be 0).", + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "attempts_remaining", + "status" + ], + "title": "SourceCodeVerificationFlow", + "type": "object", + "x-expandableFields": [ + + ] + }, + "source_mandate_notification": { + "properties": { + "ach_credit_transfer": { + "$ref": "#/components/schemas/source_type_ach_credit_transfer" + }, + "ach_debit": { + "$ref": "#/components/schemas/source_type_ach_debit" + }, + "alipay": { + "$ref": "#/components/schemas/source_type_alipay" + }, + "amount": { + "description": "A positive integer in the smallest currency unit (that is, 100 cents for $1.00, or 1 for ¥1, Japanese Yen being a zero-decimal currency) representing the amount associated with the mandate notification. The amount is expressed in the currency of the underlying source. Required if the notification type is `debit_initiated`.", + "nullable": true, + "type": "integer" + }, + "bancontact": { + "$ref": "#/components/schemas/source_type_bancontact" + }, + "card": { + "$ref": "#/components/schemas/source_type_card" + }, + "card_present": { + "$ref": "#/components/schemas/source_type_card_present" + }, + "created": { + "description": "Time at which the object was created. Measured in seconds since the Unix epoch.", + "format": "unix-time", + "type": "integer" + }, + "eps": { + "$ref": "#/components/schemas/source_type_eps" + }, + "giropay": { + "$ref": "#/components/schemas/source_type_giropay" + }, + "id": { + "description": "Unique identifier for the object.", + "maxLength": 5000, + "type": "string" + }, + "ideal": { + "$ref": "#/components/schemas/source_type_ideal" + }, + "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" + }, + "multibanco": { + "$ref": "#/components/schemas/source_type_multibanco" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "source_mandate_notification" + ], + "type": "string" + }, + "p24": { + "$ref": "#/components/schemas/source_type_p24" + }, + "paper_check": { + "$ref": "#/components/schemas/source_type_paper_check" + }, + "reason": { + "description": "The reason of the mandate notification. Valid reasons are `mandate_confirmed` or `debit_initiated`.", + "maxLength": 5000, + "type": "string" + }, + "sepa_credit_transfer": { + "$ref": "#/components/schemas/source_type_sepa_credit_transfer" + }, + "sepa_debit": { + "$ref": "#/components/schemas/source_type_sepa_debit" + }, + "sofort": { + "$ref": "#/components/schemas/source_type_sofort" + }, + "source": { + "$ref": "#/components/schemas/source" + }, + "status": { + "description": "The status of the mandate notification. Valid statuses are `pending` or `submitted`.", + "maxLength": 5000, + "type": "string" + }, + "three_d_secure": { + "$ref": "#/components/schemas/source_type_three_d_secure" + }, + "type": { + "description": "The type of source this mandate notification is attached to. Should be the source type identifier code for the payment method, such as `three_d_secure`.", + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "created", + "id", + "livemode", + "object", + "reason", + "source", + "status", + "type" + ], + "title": "SourceMandateNotification", + "type": "object", + "x-expandableFields": [ + "source" + ], + "x-resourceId": "source_mandate_notification" + }, + "source_owner": { + "properties": { + "address": { + "anyOf": [ + { + "$ref": "#/components/schemas/address" + } + ], + "description": "Owner's address.", + "nullable": true + }, + "email": { + "description": "Owner's email address.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "name": { + "description": "Owner's full name.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "phone": { + "description": "Owner's phone number (including extension).", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "verified_address": { + "anyOf": [ + { + "$ref": "#/components/schemas/address" + } + ], + "description": "Verified owner's address. Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated.", + "nullable": true + }, + "verified_email": { + "description": "Verified owner's email address. Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "verified_name": { + "description": "Verified owner's full name. Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "verified_phone": { + "description": "Verified owner's phone number (including extension). Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated.", + "maxLength": 5000, + "nullable": true, + "type": "string" + } + }, + "title": "SourceOwner", + "type": "object", + "x-expandableFields": [ + "address", + "verified_address" + ] + }, + "source_receiver_flow": { + "properties": { + "address": { + "description": "The address of the receiver source. This is the value that should be communicated to the customer to send their funds to.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "amount_charged": { + "description": "The total amount that was charged by you. The amount charged is expressed in the source's currency.", + "type": "integer" + }, + "amount_received": { + "description": "The total amount received by the receiver source. `amount_received = amount_returned + amount_charged` is true at all time. The amount received is expressed in the source's currency.", + "type": "integer" + }, + "amount_returned": { + "description": "The total amount that was returned to the customer. The amount returned is expressed in the source's currency.", + "type": "integer" + } + }, + "required": [ + "amount_charged", + "amount_received", + "amount_returned" + ], + "title": "SourceReceiverFlow", + "type": "object", + "x-expandableFields": [ + + ] + }, + "source_redirect_flow": { + "properties": { + "failure_reason": { + "description": "The failure reason for the redirect, either `user_abort` (the customer aborted or dropped out of the redirect flow), `declined` (the authentication failed or the transaction was declined), or `processing_error` (the redirect failed due to a technical error). Present only if the redirect status is `failed`.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "return_url": { + "description": "The URL you provide to redirect the customer to after they authenticated their payment.", + "maxLength": 5000, + "type": "string" + }, + "status": { + "description": "The status of the redirect, either `pending` (ready to be used by your customer to authenticate the transaction), `succeeded` (succesful authentication, cannot be reused) or `not_required` (redirect should not be used) or `failed` (failed authentication, cannot be reused).", + "maxLength": 5000, + "type": "string" + }, + "url": { + "description": "The URL provided to you to redirect a customer to as part of a `redirect` authentication flow.", + "maxLength": 2048, + "type": "string" + } + }, + "required": [ + "return_url", + "status", + "url" + ], + "title": "SourceRedirectFlow", + "type": "object", + "x-expandableFields": [ + + ] + }, + "source_transaction": { + "properties": { + "ach_credit_transfer": { + "$ref": "#/components/schemas/source_type_ach_credit_transfer" + }, + "ach_debit": { + "$ref": "#/components/schemas/source_type_ach_debit" + }, + "alipay": { + "$ref": "#/components/schemas/source_type_alipay" + }, + "amount": { + "description": "A positive integer in the smallest currency unit (that is, 100 cents for $1.00, or 1 for ¥1, Japanese Yen being a zero-decimal currency) representing the amount your customer has pushed to the receiver.", + "type": "integer" + }, + "bancontact": { + "$ref": "#/components/schemas/source_type_bancontact" + }, + "card": { + "$ref": "#/components/schemas/source_type_card" + }, + "card_present": { + "$ref": "#/components/schemas/source_type_card_present" + }, + "created": { + "description": "Time at which the object was created. Measured in seconds since the Unix epoch.", + "format": "unix-time", + "type": "integer" + }, + "currency": { + "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).", + "maxLength": 3, + "type": "string" + }, + "eps": { + "$ref": "#/components/schemas/source_type_eps" + }, + "giropay": { + "$ref": "#/components/schemas/source_type_giropay" + }, + "id": { + "description": "Unique identifier for the object.", + "maxLength": 5000, + "type": "string" + }, + "ideal": { + "$ref": "#/components/schemas/source_type_ideal" + }, + "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" + }, + "multibanco": { + "$ref": "#/components/schemas/source_type_multibanco" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "source_transaction" + ], + "type": "string" + }, + "p24": { + "$ref": "#/components/schemas/source_type_p24" + }, + "paper_check": { + "$ref": "#/components/schemas/source_type_paper_check" + }, + "sepa_credit_transfer": { + "$ref": "#/components/schemas/source_type_sepa_credit_transfer" + }, + "sepa_debit": { + "$ref": "#/components/schemas/source_type_sepa_debit" + }, + "sofort": { + "$ref": "#/components/schemas/source_type_sofort" + }, + "source": { + "description": "The ID of the source this transaction is attached to.", + "maxLength": 5000, + "type": "string" + }, + "status": { + "description": "The status of the transaction, one of `succeeded`, `pending`, or `failed`.", + "maxLength": 5000, + "type": "string" + }, + "three_d_secure": { + "$ref": "#/components/schemas/source_type_three_d_secure" + }, + "type": { + "description": "The type of source this transaction is attached to.", + "enum": [ + "ach_credit_transfer", + "ach_debit", + "alipay", + "bancontact", + "card", + "card_present", + "eps", + "giropay", + "ideal", + "multibanco", + "p24", + "paper_check", + "sepa_credit_transfer", + "sepa_debit", + "sofort", + "three_d_secure" + ], + "type": "string" + } + }, + "required": [ + "amount", + "created", + "currency", + "id", + "livemode", + "object", + "source", + "status", + "type" + ], + "title": "SourceTransaction", + "type": "object", + "x-expandableFields": [ + + ], + "x-resourceId": "source_transaction" + }, + "source_type_ach_credit_transfer": { + "properties": { + "account_number": { + "nullable": true, + "type": "string" + }, + "bank_name": { + "nullable": true, + "type": "string" + }, + "fingerprint": { + "nullable": true, + "type": "string" + }, + "refund_account_holder_name": { + "nullable": true, + "type": "string" + }, + "refund_account_holder_type": { + "nullable": true, + "type": "string" + }, + "refund_account_number": { + "nullable": true, + "type": "string" + }, + "refund_routing_number": { + "nullable": true, + "type": "string" + }, + "routing_number": { + "nullable": true, + "type": "string" + }, + "swift_code": { + "nullable": true, + "type": "string" + } + }, + "type": "object" + }, + "source_type_ach_debit": { + "properties": { + "bank_name": { + "nullable": true, + "type": "string" + }, + "country": { + "nullable": true, + "type": "string" + }, + "fingerprint": { + "nullable": true, + "type": "string" + }, + "last4": { + "nullable": true, + "type": "string" + }, + "routing_number": { + "nullable": true, + "type": "string" + }, + "type": { + "nullable": true, + "type": "string" + } + }, + "type": "object" + }, + "source_type_alipay": { + "properties": { + "data_string": { + "nullable": true, + "type": "string" + }, + "native_url": { + "nullable": true, + "type": "string" + }, + "statement_descriptor": { + "nullable": true, + "type": "string" + } + }, + "type": "object" + }, + "source_type_bancontact": { + "properties": { + "bank_code": { + "nullable": true, + "type": "string" + }, + "bank_name": { + "nullable": true, + "type": "string" + }, + "bic": { + "nullable": true, + "type": "string" + }, + "iban_last4": { + "nullable": true, + "type": "string" + }, + "preferred_language": { + "nullable": true, + "type": "string" + }, + "statement_descriptor": { + "nullable": true, + "type": "string" + } + }, + "type": "object" + }, + "source_type_card": { + "properties": { + "address_line1_check": { + "nullable": true, + "type": "string" + }, + "address_zip_check": { + "nullable": true, + "type": "string" + }, + "brand": { + "nullable": true, + "type": "string" + }, + "country": { + "nullable": true, + "type": "string" + }, + "cvc_check": { + "nullable": true, + "type": "string" + }, + "dynamic_last4": { + "nullable": true, + "type": "string" + }, + "exp_month": { + "nullable": true, + "type": "integer" + }, + "exp_year": { + "nullable": true, + "type": "integer" + }, + "fingerprint": { + "type": "string" + }, + "funding": { + "nullable": true, + "type": "string" + }, + "last4": { + "nullable": true, + "type": "string" + }, + "name": { + "nullable": true, + "type": "string" + }, + "skip_validation": { + "type": "boolean" + }, + "three_d_secure": { + "type": "string" + }, + "tokenization_method": { + "nullable": true, + "type": "string" + } + }, + "type": "object" + }, + "source_type_card_present": { + "properties": { + "application_cryptogram": { + "type": "string" + }, + "application_preferred_name": { + "type": "string" + }, + "authorization_code": { + "nullable": true, + "type": "string" + }, + "authorization_response_code": { + "type": "string" + }, + "brand": { + "nullable": true, + "type": "string" + }, + "country": { + "nullable": true, + "type": "string" + }, + "cvm_type": { + "type": "string" + }, + "data_type": { + "nullable": true, + "type": "string" + }, + "dedicated_file_name": { + "type": "string" + }, + "emv_auth_data": { + "type": "string" + }, + "evidence_customer_signature": { + "nullable": true, + "type": "string" + }, + "evidence_transaction_certificate": { + "nullable": true, + "type": "string" + }, + "exp_month": { + "nullable": true, + "type": "integer" + }, + "exp_year": { + "nullable": true, + "type": "integer" + }, + "fingerprint": { + "type": "string" + }, + "funding": { + "nullable": true, + "type": "string" + }, + "last4": { + "nullable": true, + "type": "string" + }, + "pos_device_id": { + "nullable": true, + "type": "string" + }, + "pos_entry_mode": { + "type": "string" + }, + "read_method": { + "nullable": true, + "type": "string" + }, + "reader": { + "nullable": true, + "type": "string" + }, + "terminal_verification_results": { + "type": "string" + }, + "transaction_status_information": { + "type": "string" + } + }, + "type": "object" + }, + "source_type_eps": { + "properties": { + "reference": { + "nullable": true, + "type": "string" + }, + "statement_descriptor": { + "nullable": true, + "type": "string" + } + }, + "type": "object" + }, + "source_type_giropay": { + "properties": { + "bank_code": { + "nullable": true, + "type": "string" + }, + "bank_name": { + "nullable": true, + "type": "string" + }, + "bic": { + "nullable": true, + "type": "string" + }, + "statement_descriptor": { + "nullable": true, + "type": "string" + } + }, + "type": "object" + }, + "source_type_ideal": { + "properties": { + "bank": { + "nullable": true, + "type": "string" + }, + "bic": { + "nullable": true, + "type": "string" + }, + "iban_last4": { + "nullable": true, + "type": "string" + }, + "statement_descriptor": { + "nullable": true, + "type": "string" + } + }, + "type": "object" + }, + "source_type_multibanco": { + "properties": { + "entity": { + "nullable": true, + "type": "string" + }, + "reference": { + "nullable": true, + "type": "string" + }, + "refund_account_holder_address_city": { + "nullable": true, + "type": "string" + }, + "refund_account_holder_address_country": { + "nullable": true, + "type": "string" + }, + "refund_account_holder_address_line1": { + "nullable": true, + "type": "string" + }, + "refund_account_holder_address_line2": { + "nullable": true, + "type": "string" + }, + "refund_account_holder_address_postal_code": { + "nullable": true, + "type": "string" + }, + "refund_account_holder_address_state": { + "nullable": true, + "type": "string" + }, + "refund_account_holder_name": { + "nullable": true, + "type": "string" + }, + "refund_iban": { + "nullable": true, + "type": "string" + } + }, + "type": "object" + }, + "source_type_p24": { + "properties": { + "reference": { + "nullable": true, + "type": "string" + } + }, + "type": "object" + }, + "source_type_paper_check": { + "properties": { + "mailing_address_city": { + "nullable": true, + "type": "string" + }, + "mailing_address_country": { + "nullable": true, + "type": "string" + }, + "mailing_address_line1": { + "nullable": true, + "type": "string" + }, + "mailing_address_line2": { + "nullable": true, + "type": "string" + }, + "mailing_address_postal_code": { + "nullable": true, + "type": "string" + }, + "mailing_address_state": { + "nullable": true, + "type": "string" + } + }, + "type": "object" + }, + "source_type_sepa_credit_transfer": { + "properties": { + "bank_name": { + "nullable": true, + "type": "string" + }, + "bic": { + "nullable": true, + "type": "string" + }, + "iban": { + "nullable": true, + "type": "string" + }, + "refund_account_holder_address_city": { + "nullable": true, + "type": "string" + }, + "refund_account_holder_address_country": { + "nullable": true, + "type": "string" + }, + "refund_account_holder_address_line1": { + "nullable": true, + "type": "string" + }, + "refund_account_holder_address_line2": { + "nullable": true, + "type": "string" + }, + "refund_account_holder_address_postal_code": { + "nullable": true, + "type": "string" + }, + "refund_account_holder_address_state": { + "nullable": true, + "type": "string" + }, + "refund_account_holder_name": { + "nullable": true, + "type": "string" + }, + "refund_iban": { + "nullable": true, + "type": "string" + } + }, + "type": "object" + }, + "source_type_sepa_debit": { + "properties": { + "bank_code": { + "nullable": true, + "type": "string" + }, + "branch_code": { + "nullable": true, + "type": "string" + }, + "country": { + "nullable": true, + "type": "string" + }, + "fingerprint": { + "nullable": true, + "type": "string" + }, + "last4": { + "nullable": true, + "type": "string" + }, + "mandate_reference": { + "nullable": true, + "type": "string" + }, + "mandate_url": { + "nullable": true, + "type": "string" + }, + "skip_validation": { + "type": "boolean" + } + }, + "type": "object" + }, + "source_type_sofort": { + "properties": { + "bank_code": { + "nullable": true, + "type": "string" + }, + "bank_name": { + "nullable": true, + "type": "string" + }, + "bic": { + "nullable": true, + "type": "string" + }, + "country": { + "nullable": true, + "type": "string" + }, + "iban_last4": { + "nullable": true, + "type": "string" + }, + "preferred_language": { + "nullable": true, + "type": "string" + }, + "statement_descriptor": { + "nullable": true, + "type": "string" + } + }, + "type": "object" + }, + "source_type_three_d_secure": { + "properties": { + "address_line1_check": { + "nullable": true, + "type": "string" + }, + "address_zip_check": { + "nullable": true, + "type": "string" + }, + "authenticated": { + "nullable": true, + "type": "boolean" + }, + "brand": { + "nullable": true, + "type": "string" + }, + "card": { + "nullable": true, + "type": "string" + }, + "country": { + "nullable": true, + "type": "string" + }, + "customer": { + "nullable": true, + "type": "string" + }, + "cvc_check": { + "nullable": true, + "type": "string" + }, + "dynamic_last4": { + "nullable": true, + "type": "string" + }, + "exp_month": { + "nullable": true, + "type": "integer" + }, + "exp_year": { + "nullable": true, + "type": "integer" + }, + "fingerprint": { + "type": "string" + }, + "funding": { + "nullable": true, + "type": "string" + }, + "last4": { + "nullable": true, + "type": "string" + }, + "name": { + "nullable": true, + "type": "string" + }, + "skip_validation": { + "type": "boolean" + }, + "three_d_secure": { + "type": "string" + }, + "tokenization_method": { + "nullable": true, + "type": "string" + } + }, + "type": "object" + }, + "status_transitions": { + "properties": { + "canceled": { + "format": "unix-time", + "nullable": true, + "type": "integer" + }, + "fulfiled": { + "format": "unix-time", + "nullable": true, + "type": "integer" + }, + "paid": { + "format": "unix-time", + "nullable": true, + "type": "integer" + }, + "returned": { + "format": "unix-time", + "nullable": true, + "type": "integer" + } + }, + "title": "StatusTransitions", + "type": "object", + "x-expandableFields": [ + + ] + }, + "subscription": { + "properties": { + "application_fee_percent": { + "description": "A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice subtotal that will be transferred to the application owner's Stripe account.", + "nullable": true, + "type": "number" + }, + "billing": { + "description": "Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay this subscription at the end of the cycle using the default source attached to the customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions.", + "enum": [ + "charge_automatically", + "send_invoice" + ], + "nullable": true, + "type": "string" + }, + "billing_cycle_anchor": { + "description": "Determines the date of the first full invoice, and, for plans with `month` or `year` intervals, the day of the month for subsequent invoices.", + "format": "unix-time", + "nullable": true, + "type": "integer" + }, + "cancel_at_period_end": { + "description": "If the subscription has been canceled with the `at_period_end` flag set to `true`, `cancel_at_period_end` on the subscription will be true. You can use this attribute to determine whether a subscription that has a status of active is scheduled to be canceled at the end of the current period.", + "type": "boolean" + }, + "canceled_at": { + "description": "If the subscription has been canceled, the date of that cancellation. If the subscription was canceled with `cancel_at_period_end`, `canceled_at` will still reflect the date of the initial cancellation request, not the end of the subscription period when the subscription is automatically moved to a canceled state.", + "format": "unix-time", + "nullable": true, + "type": "integer" + }, + "created": { + "description": "Time at which the object was created. Measured in seconds since the Unix epoch.", + "format": "unix-time", + "type": "integer" + }, + "current_period_end": { + "description": "End of the current period that the subscription has been invoiced for. At the end of this period, a new invoice will be created.", + "format": "unix-time", + "nullable": true, + "type": "integer" + }, + "current_period_start": { + "description": "Start of the current period that the subscription has been invoiced for.", + "format": "unix-time", + "nullable": true, + "type": "integer" + }, + "customer": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/customer" + }, + { + "$ref": "#/components/schemas/deleted_customer" + } + ], + "description": "ID of the customer who owns the subscription.", + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/customer" + }, + { + "$ref": "#/components/schemas/deleted_customer" + } + ] + } + }, + "days_until_due": { + "description": "Number of days a customer has to pay invoices generated by this subscription. This value will be `null` for subscriptions where `billing=charge_automatically`.", + "nullable": true, + "type": "integer" + }, + "default_source": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/alipay_account" + }, + { + "$ref": "#/components/schemas/bank_account" + }, + { + "$ref": "#/components/schemas/bitcoin_receiver" + }, + { + "$ref": "#/components/schemas/card" + }, + { + "$ref": "#/components/schemas/source" + } + ], + "description": "ID of the default payment source for the subscription. It must belong to the customer associated with the subscription and be in a chargeable state. If not set, defaults to the customer's default source.", + "nullable": true, + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/alipay_account" + }, + { + "$ref": "#/components/schemas/bank_account" + }, + { + "$ref": "#/components/schemas/bitcoin_receiver" + }, + { + "$ref": "#/components/schemas/card" + }, + { + "$ref": "#/components/schemas/source" + } + ] + } + }, + "discount": { + "anyOf": [ + { + "$ref": "#/components/schemas/discount" + } + ], + "description": "Describes the current discount applied to this subscription, if there is one. When billing, a discount applied to a subscription overrides a discount applied on a customer-wide basis.", + "nullable": true + }, + "ended_at": { + "description": "If the subscription has ended, the date the subscription ended.", + "format": "unix-time", + "nullable": true, + "type": "integer" + }, + "id": { + "description": "Unique identifier for the object.", + "maxLength": 5000, + "type": "string" + }, + "items": { + "description": "List of subscription items, each with an attached plan.", + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/subscription_item" + }, + "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, + "type": "string" + } + }, + "required": [ + "data", + "has_more", + "object", + "url" + ], + "title": "SubscriptionItemList", + "type": "object", + "x-expandableFields": [ + "data" + ] + }, + "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" + }, + "metadata": { + "additionalProperties": { + "maxLength": 500, + "type": "string" + }, + "description": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.", + "type": "object" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "subscription" + ], + "type": "string" + }, + "plan": { + "anyOf": [ + { + "$ref": "#/components/schemas/plan" + } + ], + "description": "Hash describing the plan the customer is subscribed to. Only set if the subscription contains a single plan.", + "nullable": true + }, + "quantity": { + "description": "The quantity of the plan to which the customer is subscribed. For example, if your plan is $10/user/month, and your customer has 5 users, you could pass 5 as the quantity to have the customer charged $50 (5 x $10) monthly. Only set if the subscription contains a single plan.", + "nullable": true, + "type": "integer" + }, + "start": { + "description": "Date the most recent update to this subscription started.", + "format": "unix-time", + "type": "integer" + }, + "status": { + "description": "Possible values are `trialing`, `active`, `past_due`, `canceled`, or `unpaid`. A subscription still in its trial period is `trialing` and moves to `active` when the trial period is over. If subscription `billing=charge_automatically` it becomes `past_due` when payment to renew it fails and `canceled` or `unpaid` (depending on your subscriptions settings) when Stripe has exhausted all payment retry attempts. If subscription `billing=send_invoice` it becomes `past_due` when its invoice is not paid by the due date, and `canceled` or `unpaid` if it is still not paid by an additional deadline after that. Note that when a subscription has a status of `unpaid`, no subsequent invoices will be attempted (invoices will be created, but then immediately automatically closed.) After receiving updated payment information from a customer, you may choose to reopen and pay their closed invoices.", + "enum": [ + "active", + "canceled", + "past_due", + "trialing", + "unpaid" + ], + "type": "string" + }, + "tax_percent": { + "description": "If provided, each invoice created by this subscription will apply the tax rate, increasing the amount billed to the customer.", + "nullable": true, + "type": "number" + }, + "trial_end": { + "description": "If the subscription has a trial, the end of that trial.", + "format": "unix-time", + "nullable": true, + "type": "integer" + }, + "trial_start": { + "description": "If the subscription has a trial, the beginning of that trial.", + "format": "unix-time", + "nullable": true, + "type": "integer" + } + }, + "required": [ + "cancel_at_period_end", + "created", + "customer", + "id", + "items", + "livemode", + "metadata", + "object", + "start", + "status" + ], + "title": "Subscription", + "type": "object", + "x-expandableFields": [ + "customer", + "default_source", + "discount", + "items", + "plan" + ], + "x-resourceId": "subscription" + }, + "subscription_item": { + "properties": { + "created": { + "description": "Time at which the object was created. Measured in seconds since the Unix epoch.", + "type": "integer" + }, + "id": { + "description": "Unique identifier for the object.", + "maxLength": 5000, + "type": "string" + }, + "metadata": { + "additionalProperties": { + "maxLength": 500, + "type": "string" + }, + "description": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.", + "type": "object" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "subscription_item" + ], + "type": "string" + }, + "plan": { + "$ref": "#/components/schemas/plan" + }, + "quantity": { + "description": "The [quantity](/docs/subscriptions/quantities) of the plan to which the customer should be subscribed.", + "type": "integer" + }, + "subscription": { + "description": "The `subscription` this `subscription_item` belongs to.", + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "created", + "id", + "metadata", + "object", + "plan", + "subscription" + ], + "title": "SubscriptionItem", + "type": "object", + "x-expandableFields": [ + "plan" + ], + "x-resourceId": "subscription_item" + }, + "tax_info": { + "properties": { + "tax_id": { + "description": "The customer's tax ID number.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "type": { + "description": "The type of ID number.", + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "type" + ], + "title": "TaxInfo", + "type": "object", + "x-expandableFields": [ + + ] + }, + "tax_info_verification": { + "properties": { + "status": { + "description": "The state of verification for this customer. Possible values are `unverified`, `pending`, or `verified`.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "verified_name": { + "description": "The official name associated with the tax ID returned from the external provider.", + "maxLength": 5000, + "nullable": true, + "type": "string" + } + }, + "title": "TaxInfoVerification", + "type": "object", + "x-expandableFields": [ + + ] + }, + "tax_rate_template": { + "properties": { + "id": { + "description": "Unique identifier for the object.", + "maxLength": 5000, + "type": "string" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "tax_rate_template" + ], + "type": "string" + } + }, + "required": [ + "id", + "object" + ], + "title": "TaxRateTemplate", + "type": "object", + "x-expandableFields": [ + + ], + "x-resourceId": "tax_rate_template" + }, + "terminal.connection_token": { + "properties": { + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "terminal.connection_token" + ], + "type": "string" + }, + "secret": { + "description": "Your application should pass this token to the Stripe Terminal SDK.", + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "object", + "secret" + ], + "title": "PointOfSaleConnectionToken", + "type": "object", + "x-expandableFields": [ + + ], + "x-resourceId": "terminal.connection_token" + }, + "terminal.location": { + "properties": { + "address": { + "$ref": "#/components/schemas/address" + }, + "display_name": { + "description": "The display name of the location.", + "maxLength": 5000, + "type": "string" + }, + "id": { + "description": "Unique identifier for the object.", + "maxLength": 5000, + "type": "string" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "terminal.location" + ], + "type": "string" + } + }, + "required": [ + "address", + "display_name", + "id", + "object" + ], + "title": "PointOfSaleLocationLocation", + "type": "object", + "x-expandableFields": [ + "address" + ], + "x-resourceId": "terminal.location" + }, + "terminal.reader": { + "properties": { + "device_sw_version": { + "description": "The current software version of the reader.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "device_type": { + "description": "Type of reader, e.g., `verifone_P400` or `bbpos_chipper2x`.", + "maxLength": 5000, + "type": "string" + }, + "id": { + "description": "Unique identifier for the object.", + "maxLength": 5000, + "type": "string" + }, + "ip_address": { + "description": "The local IP address of the reader.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "label": { + "description": "Custom label given to the reader for easier identification.", + "maxLength": 5000, + "type": "string" + }, + "location": { + "description": "The location identifier of the reader.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "terminal.reader" + ], + "type": "string" + }, + "serial_number": { + "description": "Serial number of the reader.", + "maxLength": 5000, + "type": "string" + }, + "status": { + "description": "The networking status of the reader.", + "maxLength": 5000, + "nullable": true, + "type": "string" + } + }, + "required": [ + "device_type", + "id", + "label", + "object", + "serial_number" + ], + "title": "PointOfSaleReaderReader", + "type": "object", + "x-expandableFields": [ + + ], + "x-resourceId": "terminal.reader" + }, + "three_d_secure": { + "properties": { + "amount": { + "type": "integer" + }, + "authenticated": { + "description": "True if the cardholder went through the authentication flow and their bank indicated that authentication succeeded.", + "type": "boolean" + }, + "card": { + "$ref": "#/components/schemas/card" + }, + "created": { + "description": "Time at which the object was created. Measured in seconds since the Unix epoch.", + "format": "unix-time", + "type": "integer" + }, + "currency": { + "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).", + "maxLength": 5000, + "type": "string" + }, + "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" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "three_d_secure" + ], + "type": "string" + }, + "redirect_url": { + "description": "If present, this is the URL that you should send the cardholder to for authentication. If you are going to use Stripe.js to display the authentication page in an iframe, you should use the value \"_callback\".", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "status": { + "description": "Possible values are `redirect_pending`, `succeeded`, or `failed`. When the cardholder can be authenticated, the object starts with status `redirect_pending`. When liability will be shifted to the cardholder's bank (either because the cardholder was successfully authenticated, or because the bank has not implemented 3D Secure, the object wlil be in status `succeeded`. `failed` indicates that authentication was attempted unsuccessfully.", + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "amount", + "authenticated", + "card", + "created", + "currency", + "id", + "livemode", + "object", + "status" + ], + "title": "ThreeDSecure", + "type": "object", + "x-expandableFields": [ + "card" + ], + "x-resourceId": "three_d_secure" + }, + "token": { + "properties": { + "bank_account": { + "$ref": "#/components/schemas/bank_account" + }, + "card": { + "$ref": "#/components/schemas/card" + }, + "client_ip": { + "description": "IP address of the client that generated the token.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "created": { + "description": "Time at which the object was created. Measured in seconds since the Unix epoch.", + "format": "unix-time", + "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" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "token" + ], + "type": "string" + }, + "type": { + "description": "Type of the token: `account`, `bank_account`, `card`, or `pii`.", + "maxLength": 5000, + "type": "string" + }, + "used": { + "description": "Whether this token has already been used (tokens can be used only once).", + "type": "boolean" + } + }, + "required": [ + "created", + "id", + "livemode", + "object", + "type", + "used" + ], + "title": "Token", + "type": "object", + "x-expandableFields": [ + "bank_account", + "card" + ], + "x-resourceId": "token" + }, + "topup": { + "properties": { + "amount": { + "description": "Amount transferred.", + "type": "integer" + }, + "balance_transaction": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/balance_transaction" + } + ], + "description": "ID of the balance transaction that describes the impact of this top-up on your account balance. May not be specified depending on status of top-up.", + "nullable": true, + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/balance_transaction" + } + ] + } + }, + "created": { + "description": "Time at which the object was created. Measured in seconds since the Unix epoch.", + "format": "unix-time", + "type": "integer" + }, + "currency": { + "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).", + "maxLength": 5000, + "type": "string" + }, + "description": { + "description": "An arbitrary string attached to the object. Often useful for displaying to users.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "expected_availability_date": { + "description": "Date the funds are expected to arrive in your Stripe account for payouts. This factors in delays like weekends or bank holidays. May not be specified depending on status of top-up.", + "nullable": true, + "type": "integer" + }, + "failure_code": { + "description": "Error code explaining reason for top-up failure if available (see [the errors section](/docs/api#errors) for a list of codes).", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "failure_message": { + "description": "Message to user further explaining reason for top-up failure if available.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "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" + }, + "metadata": { + "additionalProperties": { + "maxLength": 500, + "type": "string" + }, + "description": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.", + "type": "object" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "topup" + ], + "type": "string" + }, + "source": { + "$ref": "#/components/schemas/source" + }, + "statement_descriptor": { + "description": "Extra information about a top-up. This will appear on your source's bank statement. It must contain at least one letter.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "status": { + "description": "The status of the top-up is either `canceled`, `failed`, `pending`, `reversed`, or `succeeded`.", + "enum": [ + "canceled", + "failed", + "pending", + "reversed", + "succeeded" + ], + "type": "string" + }, + "transfer_group": { + "description": "A string that identifies this top-up as part of a group.", + "maxLength": 5000, + "nullable": true, + "type": "string" + } + }, + "required": [ + "amount", + "created", + "currency", + "id", + "livemode", + "metadata", + "object", + "source", + "status" + ], + "title": "Topup", + "type": "object", + "x-expandableFields": [ + "balance_transaction", + "source" + ], + "x-resourceId": "topup" + }, + "transfer": { + "properties": { + "amount": { + "description": "Amount in %s to be transferred.", + "type": "integer" + }, + "amount_reversed": { + "description": "Amount in %s reversed (can be less than the amount attribute on the transfer if a partial reversal was issued).", + "type": "integer" + }, + "balance_transaction": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/balance_transaction" + } + ], + "description": "Balance transaction that describes the impact of this transfer on your account balance.", + "nullable": true, + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/balance_transaction" + } + ] + } + }, + "created": { + "description": "Time that this record of the transfer was first created.", + "format": "unix-time", + "type": "integer" + }, + "currency": { + "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).", + "maxLength": 3, + "type": "string" + }, + "description": { + "description": "An arbitrary string attached to the object. Often useful for displaying to users.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "destination": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/account" + } + ], + "description": "ID of the Stripe account the transfer was sent to.", + "nullable": true, + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/account" + } + ] + } + }, + "destination_payment": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/charge" + } + ], + "description": "If the destination is a Stripe account, this will be the ID of the payment that the destination account received for the transfer.", + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/charge" + } + ] + } + }, + "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" + }, + "metadata": { + "additionalProperties": { + "maxLength": 500, + "type": "string" + }, + "description": "A set of key/value pairs that you can attach to a transfer object. It can be useful for storing additional information about the transfer in a structured format.", + "type": "object" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "transfer" + ], + "type": "string" + }, + "reversals": { + "description": "A list of reversals that have been applied to the transfer.", + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/transfer_reversal" + }, + "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, + "type": "string" + } + }, + "required": [ + "data", + "has_more", + "object", + "url" + ], + "title": "TransferReversalList", + "type": "object", + "x-expandableFields": [ + "data" + ] + }, + "reversed": { + "description": "Whether the transfer has been fully reversed. If the transfer is only partially reversed, this attribute will still be false.", + "type": "boolean" + }, + "source_transaction": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/charge" + } + ], + "description": "ID of the charge or payment that was used to fund the transfer. If null, the transfer was funded from the available balance.", + "nullable": true, + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/charge" + } + ] + } + }, + "source_type": { + "description": "The source balance this transfer came from. One of `card`, `bank_account`, or `alipay_account`.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "transfer_group": { + "description": "A string that identifies this transaction as part of a group. See the [Connect documentation](/docs/connect/charges-transfers#grouping-transactions) for details.", + "maxLength": 5000, + "nullable": true, + "type": "string" + } + }, + "required": [ + "amount", + "amount_reversed", + "created", + "currency", + "id", + "livemode", + "metadata", + "object", + "reversals", + "reversed" + ], + "title": "Transfer", + "type": "object", + "x-expandableFields": [ + "balance_transaction", + "destination", + "destination_payment", + "reversals", + "source_transaction" + ], + "x-resourceId": "transfer" + }, + "transfer_reversal": { + "properties": { + "amount": { + "description": "Amount, in %s.", + "type": "integer" + }, + "balance_transaction": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/balance_transaction" + } + ], + "description": "Balance transaction that describes the impact on your account balance.", + "nullable": true, + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/balance_transaction" + } + ] + } + }, + "created": { + "description": "Time at which the object was created. Measured in seconds since the Unix epoch.", + "format": "unix-time", + "type": "integer" + }, + "currency": { + "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).", + "maxLength": 3, + "type": "string" + }, + "destination_payment_refund": { + "description": "Linked payment refund for the transfer reversal.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "id": { + "description": "Unique identifier for the object.", + "maxLength": 5000, + "type": "string" + }, + "metadata": { + "additionalProperties": { + "maxLength": 500, + "type": "string" + }, + "description": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.", + "type": "object" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "transfer_reversal" + ], + "type": "string" + }, + "source_refund": { + "description": "ID of the refund responsible for the transfer reversal.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "transfer": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "$ref": "#/components/schemas/transfer" + } + ], + "description": "ID of the transfer that was reversed.", + "x-expansionResources": { + "oneOf": [ + { + "$ref": "#/components/schemas/transfer" + } + ] + } + } + }, + "required": [ + "amount", + "created", + "currency", + "id", + "metadata", + "object", + "transfer" + ], + "title": "TransferReversal", + "type": "object", + "x-expandableFields": [ + "balance_transaction", + "transfer" + ], + "x-resourceId": "transfer_reversal" + }, + "transfer_schedule": { + "properties": { + "delay_days": { + "description": "The number of days charges for the account will be held before being paid out.", + "type": "integer" + }, + "interval": { + "description": "How frequently funds will be paid out. One of `manual` (transfers only created via API call), `daily`, `weekly`, or `monthly`.", + "maxLength": 5000, + "type": "string" + }, + "monthly_anchor": { + "description": "The day of the month funds will be paid out. Only shown if `interval` is monthly. Payouts scheduled between the 29th and 31st of the month are sent on the last day of shorter months.", + "type": "integer" + }, + "weekly_anchor": { + "description": "The day of the week funds will be paid out, of the style 'monday', 'tuesday', etc. Only shown if `interval` is weekly.", + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "delay_days", + "interval" + ], + "title": "TransferSchedule", + "type": "object", + "x-expandableFields": [ + + ] + }, + "transform_usage": { + "properties": { + "divide_by": { + "description": "Divide usage by this number.", + "type": "integer" + }, + "round": { + "description": "After division, either round the result `up` or `down`.", + "enum": [ + "down", + "up" + ], + "type": "string" + } + }, + "required": [ + "divide_by", + "round" + ], + "title": "TransformUsage", + "type": "object", + "x-expandableFields": [ + + ] + }, + "usage_record": { + "properties": { + "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" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "usage_record" + ], + "type": "string" + }, + "quantity": { + "description": "The usage quantity for the specified date.", + "type": "integer" + }, + "subscription_item": { + "description": "The ID of the subscription item this usage record contains data for.", + "maxLength": 5000, + "type": "string" + }, + "timestamp": { + "description": "The timestamp when this usage occurred.", + "format": "unix-time", + "type": "integer" + } + }, + "required": [ + "id", + "livemode", + "object", + "quantity", + "subscription_item", + "timestamp" + ], + "title": "UsageRecord", + "type": "object", + "x-expandableFields": [ + + ], + "x-resourceId": "usage_record" + }, + "usage_record_summary": { + "properties": { + "id": { + "description": "Unique identifier for the object.", + "maxLength": 5000, + "type": "string" + }, + "invoice": { + "description": "The invoice in which this usage period has been billed for.", + "maxLength": 5000, + "nullable": true, + "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" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "usage_record_summary" + ], + "type": "string" + }, + "period": { + "$ref": "#/components/schemas/period" + }, + "subscription_item": { + "description": "The ID of the subscription item this summary is describing.", + "maxLength": 5000, + "type": "string" + }, + "total_usage": { + "description": "The total usage within this usage period.", + "type": "integer" + } + }, + "required": [ + "id", + "livemode", + "object", + "period", + "subscription_item", + "total_usage" + ], + "title": "UsageRecordSummary", + "type": "object", + "x-expandableFields": [ + "period" + ], + "x-resourceId": "usage_record_summary" + }, + "webhook_endpoint": { + "properties": { + "application": { + "description": "The ID of the associated Connect application.", + "maxLength": 5000, + "nullable": true, + "type": "string" + }, + "created": { + "description": "Time at which the object was created. Measured in seconds since the Unix epoch.", + "format": "unix-time", + "type": "integer" + }, + "enabled_events": { + "description": "The list of events to enable for this endpoint. You may specify `['*']` to enable all events.", + "items": { + "type": "string" + }, + "type": "array" + }, + "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" + }, + "object": { + "description": "String representing the object's type. Objects of the same type share the same value.", + "enum": [ + "webhook_endpoint" + ], + "type": "string" + }, + "secret": { + "maxLength": 5000, + "type": "string" + }, + "status": { + "description": "The status of the webhook. It can be `enabled` or `disabled`.", + "maxLength": 5000, + "type": "string" + }, + "url": { + "description": "The URL of the webhook endpoint.", + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "created", + "enabled_events", + "id", + "livemode", + "object", + "status", + "url" + ], + "title": "NotificationWebhookEndpoint", + "type": "object", + "x-expandableFields": [ + + ], + "x-resourceId": "webhook_endpoint" + } + }, + "securitySchemes": { + "basicAuth": { + "description": "Basic HTTP authentication. Allowed headers-- Authorization: Basic \u003Capi_key\u003E | Authorization: Basic \u003Cbase64 hash of `api_key:`\u003E", + "scheme": "basic", + "type": "http" + }, + "bearerAuth": { + "bearerFormat": "auth-scheme", + "description": "Bearer HTTP authentication. Allowed headers-- Authorization: Bearer \u003Capi_key\u003E", + "scheme": "bearer", + "type": "http" + } + } + }, + "info": { + "contact": { + "email": "dev-platform@stripe.com", + "name": "Stripe Dev Platform Team", + "url": "https://stripe.com" + }, + "description": "The Stripe REST API. Please see https://stripe.com/docs/api for more details.", + "termsOfService": "https://stripe.com/us/terms/", + "title": "Stripe API", + "version": "2018-11-08", + "x-stripeSpecFilename": "spec3" + }, + "openapi": "3.0.0", + "paths": { + "/v1/3d_secure": { + "post": { + "description": "\u003Cp\u003EInitiate 3D Secure authentication.\u003C/p\u003E", + "operationId": "Create3DSecure", + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "amount": { + "description": "Amount of the charge that you will create when authentication completes.", + "type": "integer" + }, + "card": { + "description": "The ID of a card token, or the ID of a card belonging to the given customer.", + "maxLength": 5000, + "type": "string" + }, + "currency": { + "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).", + "type": "string" + }, + "customer": { + "maxLength": 5000, + "type": "string" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "return_url": { + "description": "The URL that the cardholder's browser will be returned to when authentication completes.", + "type": "string" + } + }, + "required": [ + "amount", + "currency", + "return_url" + ], + "type": "object" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/three_d_secure" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/3d_secure/{three_d_secure}": { + "get": { + "description": "\u003Cp\u003ERetrieves a 3D Secure object.\u003C/p\u003E", + "operationId": "Retrieve3DSecure", + "parameters": [ + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "The identifier of the 3D Secure object to be retrieved.", + "in": "path", + "name": "three_d_secure", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/three_d_secure" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/account": { + "delete": { + "description": "\u003Cp\u003EWith \u003Ca href=\"/docs/connect\"\u003EConnect\u003C/a\u003E, you may delete Custom accounts you manage.\u003C/p\u003E\n\n\u003Cp\u003ECustom accounts created using test-mode keys can be deleted at any time. Custom accounts created using live-mode keys may only be deleted once all balances are zero.\u003C/p\u003E\n\n\u003Cp\u003EIf you are looking to close your own account, use the \u003Ca href=\"https://dashboard.stripe.com/account/data\"\u003Edata tab in your account settings\u003C/a\u003E instead.\u003C/p\u003E", + "operationId": "AccountDelete", + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + "account": { + "description": "The identifier of the account to be deleted. If none is provided, will default to the account of the API key.", + "maxLength": 5000, + "type": "string" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/deleted_account" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "get": { + "description": "\u003Cp\u003ERetrieves the details of the account.\u003C/p\u003E", + "operationId": "AccountRetrieve", + "parameters": [ + { + "description": "The identifier of the account to retrieve. If none is provided, the account associated with the API key is returned.", + "in": "query", + "name": "account", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/account" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003EUpdates a connected \u003Ca href=\"/docs/connect/accounts\"\u003EExpress or Custom account\u003C/a\u003E by setting the values of the parameters passed. Any parameters not provided are left unchanged. Most parameters can be changed only for Custom accounts. (These are marked \u003Cstrong\u003ECustom Only\u003C/strong\u003E below.) Parameters marked \u003Cstrong\u003ECustom and Express\u003C/strong\u003E are supported by both account types.\u003C/p\u003E\n\n\u003Cp\u003ETo update your own account, use the \u003Ca href=\"https://dashboard.stripe.com/account\"\u003EDashboard\u003C/a\u003E. Refer to our \u003Ca href=\"/docs/connect/updating-accounts\"\u003EConnect\u003C/a\u003E documentation to learn more about updating accounts.\u003C/p\u003E", + "operationId": "AccountUpdate", + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "bank_account": { + "explode": true, + "style": "deepObject" + }, + "decline_charge_on": { + "explode": true, + "style": "deepObject" + }, + "expand": { + "explode": true, + "style": "deepObject" + }, + "external_account": { + "explode": true, + "style": "deepObject" + }, + "legal_entity": { + "explode": true, + "style": "deepObject" + }, + "metadata": { + "explode": true, + "style": "deepObject" + }, + "payout_schedule": { + "explode": true, + "style": "deepObject" + }, + "requested_capabilities": { + "explode": true, + "style": "deepObject" + }, + "tos_acceptance": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "account": { + "maxLength": 5000, + "type": "string" + }, + "account_token": { + "description": "An [account token](https://stripe.com/docs/api#create_account_token), used to securely provide details to the account.", + "maxLength": 5000, + "type": "string" + }, + "bank_account": { + "anyOf": [ + { + "type": "object" + }, + { + "maxLength": 5000, + "type": "string" + } + ], + "description": "Either a token, like the ones returned by [Stripe.js](https://stripe.com/docs/stripe.js), or a dictionary containing a user's bank account details." + }, + "business_logo": { + "description": "(ID of a [file upload](https://stripe.com/docs/guides/file-upload)) A logo for this account (at least 128px x 128px)", + "maxLength": 5000, + "type": "string" + }, + "business_name": { + "description": "The publicly sharable name for this account.", + "maxLength": 5000, + "type": "string" + }, + "business_primary_color": { + "description": "A CSS hex color value representing the primary branding color for this account.", + "maxLength": 5000, + "type": "string" + }, + "business_url": { + "description": "The URL that best shows the service or product provided by this account.", + "maxLength": 5000, + "type": "string" + }, + "debit_negative_balances": { + "description": "A Boolean indicating whether Stripe should try to reclaim negative balances from an attached bank account. For details, see [Understanding Connect Account Balances](/docs/connect/account-balances).", + "type": "boolean" + }, + "decline_charge_on": { + "description": "Account-level settings to automatically decline certain types of charges, regardless of the card issuer's decision.", + "properties": { + "avs_failure": { + "type": "boolean" + }, + "cvc_failure": { + "type": "boolean" + } + }, + "title": "decline_charge_on_specs", + "type": "object" + }, + "default_currency": { + "description": "Three-letter ISO currency code representing the default currency for the account. This must be a currency that [Stripe supports in the account's country](https://stripe.com/docs/payouts).", + "type": "string" + }, + "email": { + "description": "Email address of the account representative. For Standard accounts, this is used to ask them to claim their Stripe account. For Custom accounts, this only makes the account easier to identify to platforms; Stripe does not email the account representative.", + "type": "string" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "external_account": { + "anyOf": [ + { + "type": "object" + }, + { + "maxLength": 5000, + "type": "string" + } + ], + "description": "A card or bank account to attach to the account. You can provide either a token, like the ones returned by [Stripe.js](/docs/stripe.js), or a dictionary, as documented in the `external_account` parameter for [bank account](/docs/api#account_create_bank_account) creation. \u003Cbr\u003E\u003Cbr\u003EBy default, providing an external account sets it as the new default external account for its currency, and deletes the old default if one exists. To add additional external accounts without replacing the existing default for the currency, use the bank account or card creation API." + }, + "legal_entity": { + "description": "Information about the legal entity itself, including information about the associated account representative.", + "properties": { + "additional_owners": { + "anyOf": [ + { + "additionalProperties": { + "properties": { + "address": { + "properties": { + "city": { + "maxLength": 100, + "type": "string" + }, + "country": { + "maxLength": 5000, + "type": "string" + }, + "line1": { + "maxLength": 200, + "type": "string" + }, + "line2": { + "maxLength": 200, + "type": "string" + }, + "postal_code": { + "maxLength": 5000, + "type": "string" + }, + "state": { + "maxLength": 5000, + "type": "string" + } + }, + "title": "address_specs", + "type": "object" + }, + "dob": { + "properties": { + "day": { + "type": "integer" + }, + "month": { + "type": "integer" + }, + "year": { + "type": "integer" + } + }, + "required": [ + "day", + "month", + "year" + ], + "title": "date_of_birth_specs", + "type": "object" + }, + "email": { + "type": "string" + }, + "first_name": { + "maxLength": 5000, + "type": "string" + }, + "last_name": { + "maxLength": 5000, + "type": "string" + }, + "maiden_name": { + "maxLength": 5000, + "type": "string" + }, + "personal_id_number": { + "maxLength": 5000, + "type": "string" + }, + "phone": { + "type": "string" + }, + "ssn_last_4": { + "maxLength": 5000, + "type": "string" + }, + "verification": { + "properties": { + "document": { + "maxLength": 500, + "type": "string" + }, + "status": { + "enum": [ + "", + "pending", + "unverified", + "verified" + ], + "maxLength": 5000, + "type": "string" + } + }, + "title": "account_person_verification_specs", + "type": "object" + } + }, + "title": "account_owner_specs", + "type": "object" + }, + "type": "object" + }, + { + "items": { + "properties": { + "address": { + "properties": { + "city": { + "maxLength": 100, + "type": "string" + }, + "country": { + "maxLength": 5000, + "type": "string" + }, + "line1": { + "maxLength": 200, + "type": "string" + }, + "line2": { + "maxLength": 200, + "type": "string" + }, + "postal_code": { + "maxLength": 5000, + "type": "string" + }, + "state": { + "maxLength": 5000, + "type": "string" + } + }, + "title": "address_specs", + "type": "object" + }, + "dob": { + "properties": { + "day": { + "type": "integer" + }, + "month": { + "type": "integer" + }, + "year": { + "type": "integer" + } + }, + "required": [ + "day", + "month", + "year" + ], + "title": "date_of_birth_specs", + "type": "object" + }, + "email": { + "type": "string" + }, + "first_name": { + "maxLength": 5000, + "type": "string" + }, + "last_name": { + "maxLength": 5000, + "type": "string" + }, + "maiden_name": { + "maxLength": 5000, + "type": "string" + }, + "personal_id_number": { + "maxLength": 5000, + "type": "string" + }, + "phone": { + "type": "string" + }, + "ssn_last_4": { + "maxLength": 5000, + "type": "string" + }, + "verification": { + "properties": { + "document": { + "maxLength": 500, + "type": "string" + }, + "status": { + "enum": [ + "", + "pending", + "unverified", + "verified" + ], + "maxLength": 5000, + "type": "string" + } + }, + "title": "account_person_verification_specs", + "type": "object" + } + }, + "title": "account_owner_specs", + "type": "object" + }, + "type": "array" + } + ] + }, + "address": { + "properties": { + "city": { + "maxLength": 100, + "type": "string" + }, + "country": { + "maxLength": 5000, + "type": "string" + }, + "line1": { + "maxLength": 200, + "type": "string" + }, + "line2": { + "maxLength": 200, + "type": "string" + }, + "postal_code": { + "maxLength": 5000, + "type": "string" + }, + "state": { + "maxLength": 5000, + "type": "string" + } + }, + "title": "address_specs", + "type": "object" + }, + "address_kana": { + "properties": { + "city": { + "maxLength": 5000, + "type": "string" + }, + "country": { + "maxLength": 5000, + "type": "string" + }, + "line1": { + "maxLength": 5000, + "type": "string" + }, + "line2": { + "maxLength": 5000, + "type": "string" + }, + "postal_code": { + "maxLength": 5000, + "type": "string" + }, + "state": { + "maxLength": 5000, + "type": "string" + }, + "town": { + "maxLength": 5000, + "type": "string" + } + }, + "title": "japan_address_kana_specs", + "type": "object" + }, + "address_kanji": { + "properties": { + "city": { + "maxLength": 5000, + "type": "string" + }, + "country": { + "maxLength": 5000, + "type": "string" + }, + "line1": { + "maxLength": 5000, + "type": "string" + }, + "line2": { + "maxLength": 5000, + "type": "string" + }, + "postal_code": { + "maxLength": 5000, + "type": "string" + }, + "state": { + "maxLength": 5000, + "type": "string" + }, + "town": { + "maxLength": 5000, + "type": "string" + } + }, + "title": "japan_address_kanji_specs", + "type": "object" + }, + "business_name": { + "maxLength": 100, + "type": "string" + }, + "business_name_kana": { + "maxLength": 100, + "type": "string" + }, + "business_name_kanji": { + "maxLength": 100, + "type": "string" + }, + "business_tax_id": { + "maxLength": 5000, + "type": "string" + }, + "business_vat_id": { + "maxLength": 5000, + "type": "string" + }, + "dob": { + "properties": { + "day": { + "type": "integer" + }, + "month": { + "type": "integer" + }, + "year": { + "type": "integer" + } + }, + "required": [ + "day", + "month", + "year" + ], + "title": "date_of_birth_specs", + "type": "object" + }, + "first_name": { + "maxLength": 100, + "type": "string" + }, + "first_name_kana": { + "maxLength": 5000, + "type": "string" + }, + "first_name_kanji": { + "maxLength": 5000, + "type": "string" + }, + "gender": { + "maxLength": 5000, + "type": "string" + }, + "last_name": { + "maxLength": 100, + "type": "string" + }, + "last_name_kana": { + "maxLength": 5000, + "type": "string" + }, + "last_name_kanji": { + "maxLength": 5000, + "type": "string" + }, + "maiden_name": { + "maxLength": 5000, + "type": "string" + }, + "personal_address": { + "properties": { + "city": { + "maxLength": 100, + "type": "string" + }, + "country": { + "maxLength": 5000, + "type": "string" + }, + "line1": { + "maxLength": 200, + "type": "string" + }, + "line2": { + "maxLength": 200, + "type": "string" + }, + "postal_code": { + "maxLength": 5000, + "type": "string" + }, + "state": { + "maxLength": 5000, + "type": "string" + } + }, + "title": "address_specs", + "type": "object" + }, + "personal_address_kana": { + "properties": { + "city": { + "maxLength": 5000, + "type": "string" + }, + "country": { + "maxLength": 5000, + "type": "string" + }, + "line1": { + "maxLength": 5000, + "type": "string" + }, + "line2": { + "maxLength": 5000, + "type": "string" + }, + "postal_code": { + "maxLength": 5000, + "type": "string" + }, + "state": { + "maxLength": 5000, + "type": "string" + }, + "town": { + "maxLength": 5000, + "type": "string" + } + }, + "title": "japan_address_kana_specs", + "type": "object" + }, + "personal_address_kanji": { + "properties": { + "city": { + "maxLength": 5000, + "type": "string" + }, + "country": { + "maxLength": 5000, + "type": "string" + }, + "line1": { + "maxLength": 5000, + "type": "string" + }, + "line2": { + "maxLength": 5000, + "type": "string" + }, + "postal_code": { + "maxLength": 5000, + "type": "string" + }, + "state": { + "maxLength": 5000, + "type": "string" + }, + "town": { + "maxLength": 5000, + "type": "string" + } + }, + "title": "japan_address_kanji_specs", + "type": "object" + }, + "personal_id_number": { + "maxLength": 5000, + "type": "string" + }, + "phone_number": { + "maxLength": 5000, + "type": "string" + }, + "ssn_last_4": { + "maxLength": 5000, + "type": "string" + }, + "tax_id_registrar": { + "maxLength": 5000, + "type": "string" + }, + "type": { + "maxLength": 5000, + "type": "string" + }, + "verification": { + "properties": { + "document": { + "maxLength": 500, + "type": "string" + }, + "status": { + "enum": [ + "", + "pending", + "unverified", + "verified" + ], + "maxLength": 5000, + "type": "string" + } + }, + "title": "account_person_verification_specs", + "type": "object" + } + }, + "title": "account_legal_entity_specs", + "type": "object" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "A set of key-value pairs that you can attach to an `Account` object. This can be useful for storing additional information about the account in a structured format.", + "type": "object" + }, + "payout_schedule": { + "description": "Details on when funds from charges are available, and when they are paid out to an external account. For details, see our [Setting Bank and Debit Card Payouts](/docs/connect/bank-transfers#payout-information) documentation.", + "properties": { + "delay_days": { + "type": "integer" + }, + "interval": { + "enum": [ + "daily", + "four_times_monthly", + "manual", + "monthly", + "weekly" + ], + "maxLength": 5000, + "type": "string" + }, + "monthly_anchor": { + "type": "integer" + }, + "weekly_anchor": { + "enum": [ + "friday", + "monday", + "saturday", + "sunday", + "thursday", + "tuesday", + "wednesday" + ], + "maxLength": 5000, + "type": "string" + } + }, + "title": "transfer_schedule_specs", + "type": "object" + }, + "payout_statement_descriptor": { + "description": "The text that appears on the bank account statement for payouts. If not set, this defaults to the platform's bank descriptor as set in the Dashboard.", + "maxLength": 5000, + "type": "string" + }, + "product_description": { + "description": "Internal-only description of the product sold or service provided by the business. It's used by Stripe for risk and underwriting purposes.", + "maxLength": 40000, + "type": "string" + }, + "requested_capabilities": { + "description": "The set of capabilities you want to unlock for this account. Each capability will be inactive until you have provided its specific requirements and Stripe has verified them. An account may have some of its requested capabilities be active and some be inactive.", + "items": { + "enum": [ + "card_payments", + "platform_payments" + ], + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "statement_descriptor": { + "description": "The default text that appears on credit card statements when a charge is made [directly on the account](/docs/connect/direct-charges).", + "maxLength": 22, + "type": "string" + }, + "support_email": { + "description": "A publicly shareable support email address for the business.", + "type": "string" + }, + "support_phone": { + "description": "A publicly shareable support phone number for the business.", + "maxLength": 5000, + "type": "string" + }, + "support_url": { + "description": "A publicly shareable URL that provides support for this account.", + "type": "string" + }, + "tos_acceptance": { + "description": "Details on the account's acceptance of the [Stripe Services Agreement](/docs/connect/updating-accounts#tos-acceptance).", + "properties": { + "date": { + "format": "unix-time", + "type": "integer" + }, + "ip": { + "type": "string" + }, + "user_agent": { + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "date", + "ip" + ], + "title": "tos_acceptance_specs", + "type": "object" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/account" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/account/bank_accounts": { + "post": { + "description": "\u003Cp\u003ECreate an external account for a given account.\u003C/p\u003E", + "operationId": "CreateAccountExternalAccount", + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "bank_account": { + "explode": true, + "style": "deepObject" + }, + "expand": { + "explode": true, + "style": "deepObject" + }, + "external_account": { + "explode": true, + "style": "deepObject" + }, + "metadata": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "bank_account": { + "anyOf": [ + { + "type": "object" + }, + { + "maxLength": 5000, + "type": "string" + } + ], + "description": "Either a token, like the ones returned by [Stripe.js](https://stripe.com/docs/stripe.js), or a dictionary containing a user's bank account details." + }, + "default_for_currency": { + "description": "When set to true, or if this is the first external account added in this currency, this account becomes the default external account for its currency.", + "type": "boolean" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "external_account": { + "anyOf": [ + { + "type": "object" + }, + { + "maxLength": 5000, + "type": "string" + } + ], + "description": "This string to be replaced by DocSpecGenerator." + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "A set of key-value pairs that you can attach to an external account object. It can be useful for storing additional information about the external account in a structured format.", + "type": "object" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/external_account" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/account/bank_accounts/{id}": { + "delete": { + "description": "\u003Cp\u003EDelete a specified external account for a given account.\u003C/p\u003E", + "operationId": "DeleteAccountExternalAccount", + "parameters": [ + { + "description": "The ID of the external account to be deleted.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/deleted_external_account" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "get": { + "description": "\u003Cp\u003ERetrieve a specified external account for a given account.\u003C/p\u003E", + "operationId": "RetrieveAccountExternalAccount", + "parameters": [ + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/external_account" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003EUpdates the metadata, account holder name, and account holder type of a bank account belonging to a \u003Ca href=\"/docs/connect/custom-accounts\"\u003ECustom account\u003C/a\u003E, and optionally sets it as the default for its currency. Other bank account details are not editable by design.\u003C/p\u003E\n\u003Cp\u003EYou can re-enable a disabled bank account by performing an update call without providing any arguments or changes.\u003C/p\u003E", + "operationId": "UpdateAccountExternalAccount", + "parameters": [ + { + "description": "The ID of the external account to update", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + }, + "metadata": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "account_holder_name": { + "description": "The name of the person or business that owns the bank account.", + "maxLength": 5000, + "type": "string" + }, + "account_holder_type": { + "description": "The type of entity that holds the account. This can be either `individual` or `company`.", + "enum": [ + "", + "company", + "individual" + ], + "maxLength": 5000, + "type": "string" + }, + "address_city": { + "description": "City/District/Suburb/Town/Village.", + "maxLength": 5000, + "type": "string" + }, + "address_country": { + "description": "Billing address country, if provided when creating card.", + "maxLength": 5000, + "type": "string" + }, + "address_line1": { + "description": "Address line 1 (Street address/PO Box/Company name).", + "maxLength": 5000, + "type": "string" + }, + "address_line2": { + "description": "Address line 2 (Apartment/Suite/Unit/Building).", + "maxLength": 5000, + "type": "string" + }, + "address_state": { + "description": "State/County/Province/Region.", + "maxLength": 5000, + "type": "string" + }, + "address_zip": { + "description": "ZIP or postal code.", + "maxLength": 5000, + "type": "string" + }, + "default_for_currency": { + "description": "When set to true, this becomes the default external account for its currency.", + "type": "boolean" + }, + "exp_month": { + "description": "Two digit number representing the card’s expiration month.", + "maxLength": 5000, + "type": "string" + }, + "exp_year": { + "description": "Four digit number representing the card’s expiration year.", + "maxLength": 5000, + "type": "string" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "name": { + "description": "Cardholder name.", + "maxLength": 5000, + "type": "string" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/external_account" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/account/external_accounts": { + "get": { + "description": "\u003Cp\u003EList external accounts for an account.\u003C/p\u003E", + "operationId": "AllAccountExternalAccounts", + "parameters": [ + { + "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.", + "in": "query", + "name": "ending_before", + "required": false, + "schema": { + "type": "string" + }, + "style": "form" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.", + "in": "query", + "name": "limit", + "required": false, + "schema": { + "type": "integer" + }, + "style": "form" + }, + { + "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.", + "in": "query", + "name": "starting_after", + "required": false, + "schema": { + "type": "string" + }, + "style": "form" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "description": "The list contains all external accounts that have been attached to the Stripe account. These may be bank accounts or cards.", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/bank_account" + }, + { + "$ref": "#/components/schemas/card" + } + ], + "title": "Polymorphic" + }, + "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, + "type": "string" + } + }, + "required": [ + "data", + "has_more", + "object", + "url" + ], + "title": "ExternalAccountList", + "type": "object", + "x-expandableFields": [ + "data" + ] + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003ECreate an external account for a given account.\u003C/p\u003E", + "operationId": "CreateAccountExternalAccount", + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "bank_account": { + "explode": true, + "style": "deepObject" + }, + "expand": { + "explode": true, + "style": "deepObject" + }, + "external_account": { + "explode": true, + "style": "deepObject" + }, + "metadata": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "bank_account": { + "anyOf": [ + { + "type": "object" + }, + { + "maxLength": 5000, + "type": "string" + } + ], + "description": "Either a token, like the ones returned by [Stripe.js](https://stripe.com/docs/stripe.js), or a dictionary containing a user's bank account details." + }, + "default_for_currency": { + "description": "When set to true, or if this is the first external account added in this currency, this account becomes the default external account for its currency.", + "type": "boolean" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "external_account": { + "anyOf": [ + { + "type": "object" + }, + { + "maxLength": 5000, + "type": "string" + } + ], + "description": "This string to be replaced by DocSpecGenerator." + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "A set of key-value pairs that you can attach to an external account object. It can be useful for storing additional information about the external account in a structured format.", + "type": "object" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/external_account" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/account/external_accounts/{id}": { + "delete": { + "description": "\u003Cp\u003EDelete a specified external account for a given account.\u003C/p\u003E", + "operationId": "DeleteAccountExternalAccount", + "parameters": [ + { + "description": "The ID of the external account to be deleted.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/deleted_external_account" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "get": { + "description": "\u003Cp\u003ERetrieve a specified external account for a given account.\u003C/p\u003E", + "operationId": "RetrieveAccountExternalAccount", + "parameters": [ + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/external_account" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003EUpdates the metadata, account holder name, and account holder type of a bank account belonging to a \u003Ca href=\"/docs/connect/custom-accounts\"\u003ECustom account\u003C/a\u003E, and optionally sets it as the default for its currency. Other bank account details are not editable by design.\u003C/p\u003E\n\u003Cp\u003EYou can re-enable a disabled bank account by performing an update call without providing any arguments or changes.\u003C/p\u003E", + "operationId": "UpdateAccountExternalAccount", + "parameters": [ + { + "description": "The ID of the external account to update", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + }, + "metadata": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "account_holder_name": { + "description": "The name of the person or business that owns the bank account.", + "maxLength": 5000, + "type": "string" + }, + "account_holder_type": { + "description": "The type of entity that holds the account. This can be either `individual` or `company`.", + "enum": [ + "", + "company", + "individual" + ], + "maxLength": 5000, + "type": "string" + }, + "address_city": { + "description": "City/District/Suburb/Town/Village.", + "maxLength": 5000, + "type": "string" + }, + "address_country": { + "description": "Billing address country, if provided when creating card.", + "maxLength": 5000, + "type": "string" + }, + "address_line1": { + "description": "Address line 1 (Street address/PO Box/Company name).", + "maxLength": 5000, + "type": "string" + }, + "address_line2": { + "description": "Address line 2 (Apartment/Suite/Unit/Building).", + "maxLength": 5000, + "type": "string" + }, + "address_state": { + "description": "State/County/Province/Region.", + "maxLength": 5000, + "type": "string" + }, + "address_zip": { + "description": "ZIP or postal code.", + "maxLength": 5000, + "type": "string" + }, + "default_for_currency": { + "description": "When set to true, this becomes the default external account for its currency.", + "type": "boolean" + }, + "exp_month": { + "description": "Two digit number representing the card’s expiration month.", + "maxLength": 5000, + "type": "string" + }, + "exp_year": { + "description": "Four digit number representing the card’s expiration year.", + "maxLength": 5000, + "type": "string" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "name": { + "description": "Cardholder name.", + "maxLength": 5000, + "type": "string" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/external_account" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/account/login_links": { + "post": { + "description": "\u003Cp\u003ECreates a single-use login link for an Express account to access their Stripe dashboard.\u003C/p\u003E\n\n\u003Cp\u003E\u003Cstrong\u003EYou may only create login links for \u003Ca href=\"/docs/connect/express-accounts\"\u003EExpress accounts\u003C/a\u003E connected to your platform\u003C/strong\u003E.\u003C/p\u003E", + "operationId": "LoginLinkCreate", + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "account": { + "description": "The identifier of the account to create a login link for.", + "maxLength": 5000, + "type": "string" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "redirect_url": { + "description": "Where to redirect the user after they log out of their dashboard.", + "type": "string" + } + }, + "required": [ + "account" + ], + "type": "object" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/login_link" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/account/logout": { + "put": { + "description": "\u003Cp\u003EInvalidates all sessions for a light account, for a platform to use during platform logout.\u003C/p\u003E\n\n\u003Cp\u003E\u003Cstrong\u003EYou may only log out \u003Ca href=\"/docs/connect/express-accounts\"\u003EExpress accounts\u003C/a\u003E connected to your platform\u003C/strong\u003E.\u003C/p\u003E", + "operationId": "LightAccountLogout", + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "account": { + "description": "The identifier of the account to log out.", + "maxLength": 5000, + "type": "string" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "account" + ], + "type": "object" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/logout" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/account/people": { + "get": { + "description": "\u003Cp\u003EReturns a list of people associated with the account’s legal entity. The people are returned sorted by creation date, with the most recent people appearing first.\u003C/p\u003E", + "operationId": "AllPeople", + "parameters": [ + { + "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.", + "in": "query", + "name": "ending_before", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.", + "in": "query", + "name": "limit", + "required": false, + "schema": { + "type": "integer" + }, + "style": "form" + }, + { + "description": "Filters on the list of people returned based on the person's relationship to the account's company.", + "explode": true, + "in": "query", + "name": "relationship", + "required": false, + "schema": { + "properties": { + "account_opener": { + "type": "boolean" + }, + "director": { + "type": "boolean" + }, + "executive": { + "type": "boolean" + }, + "owner": { + "type": "boolean" + } + }, + "title": "all_people_relationship_specs", + "type": "object" + }, + "style": "deepObject" + }, + { + "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.", + "in": "query", + "name": "starting_after", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/person" + }, + "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, + "type": "string" + } + }, + "required": [ + "data", + "has_more", + "object", + "url" + ], + "type": "object", + "x-expandableFields": [ + "data" + ] + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003ECreates a new person.\u003C/p\u003E", + "operationId": "CreatePerson", + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "address": { + "explode": true, + "style": "deepObject" + }, + "address_kana": { + "explode": true, + "style": "deepObject" + }, + "address_kanji": { + "explode": true, + "style": "deepObject" + }, + "dob": { + "explode": true, + "style": "deepObject" + }, + "expand": { + "explode": true, + "style": "deepObject" + }, + "metadata": { + "explode": true, + "style": "deepObject" + }, + "relationship": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "address": { + "description": "The person's address.", + "properties": { + "city": { + "maxLength": 100, + "type": "string" + }, + "country": { + "maxLength": 5000, + "type": "string" + }, + "line1": { + "maxLength": 200, + "type": "string" + }, + "line2": { + "maxLength": 200, + "type": "string" + }, + "postal_code": { + "maxLength": 5000, + "type": "string" + }, + "state": { + "maxLength": 5000, + "type": "string" + } + }, + "title": "address_specs", + "type": "object" + }, + "address_kana": { + "description": "The Kana variation of the person's address (Japan only).", + "properties": { + "city": { + "maxLength": 5000, + "type": "string" + }, + "country": { + "maxLength": 5000, + "type": "string" + }, + "line1": { + "maxLength": 5000, + "type": "string" + }, + "line2": { + "maxLength": 5000, + "type": "string" + }, + "postal_code": { + "maxLength": 5000, + "type": "string" + }, + "state": { + "maxLength": 5000, + "type": "string" + }, + "town": { + "maxLength": 5000, + "type": "string" + } + }, + "title": "japan_address_kana_specs", + "type": "object" + }, + "address_kanji": { + "description": "The Kanji variation of the person's address (Japan only).", + "properties": { + "city": { + "maxLength": 5000, + "type": "string" + }, + "country": { + "maxLength": 5000, + "type": "string" + }, + "line1": { + "maxLength": 5000, + "type": "string" + }, + "line2": { + "maxLength": 5000, + "type": "string" + }, + "postal_code": { + "maxLength": 5000, + "type": "string" + }, + "state": { + "maxLength": 5000, + "type": "string" + }, + "town": { + "maxLength": 5000, + "type": "string" + } + }, + "title": "japan_address_kanji_specs", + "type": "object" + }, + "dob": { + "description": "The person's date of birth.", + "properties": { + "day": { + "type": "integer" + }, + "month": { + "type": "integer" + }, + "year": { + "type": "integer" + } + }, + "required": [ + "day", + "month", + "year" + ], + "title": "date_of_birth_specs", + "type": "object" + }, + "email": { + "description": "The person's email address.", + "type": "string" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "first_name": { + "description": "The person's first name.", + "maxLength": 5000, + "type": "string" + }, + "first_name_kana": { + "description": "The Kana variation of the person's first name (Japan only).", + "maxLength": 5000, + "type": "string" + }, + "first_name_kanji": { + "description": "The Kanji variation of the person's first name (Japan only).", + "maxLength": 5000, + "type": "string" + }, + "gender": { + "description": "The person's gender (International regulations require either \"male\" or \"female\").", + "maxLength": 5000, + "type": "string" + }, + "id_number": { + "description": "The person's ID number, as appropriate for their country. For example, a social security number in the U.S., social insurance number in Canada, etc. Instead of the number itself, you can also provide a [PII token provided by Stripe.js](https://stripe.com/docs/stripe.js#collecting-pii-data).", + "maxLength": 5000, + "type": "string" + }, + "last_name": { + "description": "The person's last name.", + "maxLength": 5000, + "type": "string" + }, + "last_name_kana": { + "description": "The Kana variation of the person's last name (Japan only).", + "maxLength": 5000, + "type": "string" + }, + "last_name_kanji": { + "description": "The Kanji variation of the person's last name (Japan only).", + "maxLength": 5000, + "type": "string" + }, + "maiden_name": { + "description": "The person's maiden name.", + "maxLength": 5000, + "type": "string" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "Set of key-value pairs 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`.", + "type": "object" + }, + "phone": { + "description": "The person's phone number.", + "type": "string" + }, + "relationship": { + "description": "The relationship that this person has with the account's legal entity.", + "properties": { + "account_opener": { + "type": "boolean" + }, + "director": { + "type": "boolean" + }, + "executive": { + "type": "boolean" + }, + "owner": { + "type": "boolean" + }, + "percent_ownership": { + "anyOf": [ + { + "type": "number" + }, + { + "enum": [ + "" + ], + "type": "string" + } + ] + }, + "title": { + "maxLength": 5000, + "type": "string" + } + }, + "title": "relationship_specs", + "type": "object" + }, + "ssn_last_4": { + "description": "The last 4 digits of the person's social security number.", + "type": "string" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/person" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/account/people/{person}": { + "delete": { + "description": "\u003Cp\u003EDeletes an existing person’s relationship to the account’s legal entity.\u003C/p\u003E", + "operationId": "DeletePerson", + "parameters": [ + { + "description": "The ID of the person to be deleted.", + "in": "path", + "name": "person", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/deleted_person" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "get": { + "description": "\u003Cp\u003ERetrieves an existing person.\u003C/p\u003E", + "operationId": "RetrievePerson", + "parameters": [ + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "The ID of a person to retrieve.", + "in": "path", + "name": "person", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/person" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003EUpdates an existing person.\u003C/p\u003E", + "operationId": "UpdatePerson", + "parameters": [ + { + "description": "The ID of a person to update.", + "in": "path", + "name": "person", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "address": { + "explode": true, + "style": "deepObject" + }, + "address_kana": { + "explode": true, + "style": "deepObject" + }, + "address_kanji": { + "explode": true, + "style": "deepObject" + }, + "dob": { + "explode": true, + "style": "deepObject" + }, + "expand": { + "explode": true, + "style": "deepObject" + }, + "metadata": { + "explode": true, + "style": "deepObject" + }, + "relationship": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "address": { + "description": "The person's address.", + "properties": { + "city": { + "maxLength": 100, + "type": "string" + }, + "country": { + "maxLength": 5000, + "type": "string" + }, + "line1": { + "maxLength": 200, + "type": "string" + }, + "line2": { + "maxLength": 200, + "type": "string" + }, + "postal_code": { + "maxLength": 5000, + "type": "string" + }, + "state": { + "maxLength": 5000, + "type": "string" + } + }, + "title": "address_specs", + "type": "object" + }, + "address_kana": { + "description": "The Kana variation of the person's address (Japan only).", + "properties": { + "city": { + "maxLength": 5000, + "type": "string" + }, + "country": { + "maxLength": 5000, + "type": "string" + }, + "line1": { + "maxLength": 5000, + "type": "string" + }, + "line2": { + "maxLength": 5000, + "type": "string" + }, + "postal_code": { + "maxLength": 5000, + "type": "string" + }, + "state": { + "maxLength": 5000, + "type": "string" + }, + "town": { + "maxLength": 5000, + "type": "string" + } + }, + "title": "japan_address_kana_specs", + "type": "object" + }, + "address_kanji": { + "description": "The Kanji variation of the person's address (Japan only).", + "properties": { + "city": { + "maxLength": 5000, + "type": "string" + }, + "country": { + "maxLength": 5000, + "type": "string" + }, + "line1": { + "maxLength": 5000, + "type": "string" + }, + "line2": { + "maxLength": 5000, + "type": "string" + }, + "postal_code": { + "maxLength": 5000, + "type": "string" + }, + "state": { + "maxLength": 5000, + "type": "string" + }, + "town": { + "maxLength": 5000, + "type": "string" + } + }, + "title": "japan_address_kanji_specs", + "type": "object" + }, + "dob": { + "description": "The person's date of birth.", + "properties": { + "day": { + "type": "integer" + }, + "month": { + "type": "integer" + }, + "year": { + "type": "integer" + } + }, + "required": [ + "day", + "month", + "year" + ], + "title": "date_of_birth_specs", + "type": "object" + }, + "email": { + "description": "The person's email address.", + "type": "string" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "first_name": { + "description": "The person's first name.", + "maxLength": 5000, + "type": "string" + }, + "first_name_kana": { + "description": "The Kana variation of the person's first name (Japan only).", + "maxLength": 5000, + "type": "string" + }, + "first_name_kanji": { + "description": "The Kanji variation of the person's first name (Japan only).", + "maxLength": 5000, + "type": "string" + }, + "gender": { + "description": "The person's gender (International regulations require either \"male\" or \"female\").", + "maxLength": 5000, + "type": "string" + }, + "id_number": { + "description": "The person's ID number, as appropriate for their country. For example, a social security number in the U.S., social insurance number in Canada, etc. Instead of the number itself, you can also provide a [PII token provided by Stripe.js](https://stripe.com/docs/stripe.js#collecting-pii-data).", + "maxLength": 5000, + "type": "string" + }, + "last_name": { + "description": "The person's last name.", + "maxLength": 5000, + "type": "string" + }, + "last_name_kana": { + "description": "The Kana variation of the person's last name (Japan only).", + "maxLength": 5000, + "type": "string" + }, + "last_name_kanji": { + "description": "The Kanji variation of the person's last name (Japan only).", + "maxLength": 5000, + "type": "string" + }, + "maiden_name": { + "description": "The person's maiden name.", + "maxLength": 5000, + "type": "string" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "Set of key-value pairs 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`.", + "type": "object" + }, + "phone": { + "description": "The person's phone number.", + "type": "string" + }, + "relationship": { + "description": "The relationship that this person has with the account's legal entity.", + "properties": { + "account_opener": { + "type": "boolean" + }, + "director": { + "type": "boolean" + }, + "executive": { + "type": "boolean" + }, + "owner": { + "type": "boolean" + }, + "percent_ownership": { + "anyOf": [ + { + "type": "number" + }, + { + "enum": [ + "" + ], + "type": "string" + } + ] + }, + "title": { + "maxLength": 5000, + "type": "string" + } + }, + "title": "relationship_specs", + "type": "object" + }, + "ssn_last_4": { + "description": "The last 4 digits of the person's social security number.", + "type": "string" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/person" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/account/persons": { + "get": { + "description": "\u003Cp\u003EReturns a list of people associated with the account’s legal entity. The people are returned sorted by creation date, with the most recent people appearing first.\u003C/p\u003E", + "operationId": "AllPeople", + "parameters": [ + { + "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.", + "in": "query", + "name": "ending_before", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.", + "in": "query", + "name": "limit", + "required": false, + "schema": { + "type": "integer" + }, + "style": "form" + }, + { + "description": "Filters on the list of people returned based on the person's relationship to the account's company.", + "explode": true, + "in": "query", + "name": "relationship", + "required": false, + "schema": { + "properties": { + "account_opener": { + "type": "boolean" + }, + "director": { + "type": "boolean" + }, + "executive": { + "type": "boolean" + }, + "owner": { + "type": "boolean" + } + }, + "title": "all_people_relationship_specs", + "type": "object" + }, + "style": "deepObject" + }, + { + "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.", + "in": "query", + "name": "starting_after", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/person" + }, + "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, + "type": "string" + } + }, + "required": [ + "data", + "has_more", + "object", + "url" + ], + "type": "object", + "x-expandableFields": [ + "data" + ] + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003ECreates a new person.\u003C/p\u003E", + "operationId": "CreatePerson", + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "address": { + "explode": true, + "style": "deepObject" + }, + "address_kana": { + "explode": true, + "style": "deepObject" + }, + "address_kanji": { + "explode": true, + "style": "deepObject" + }, + "dob": { + "explode": true, + "style": "deepObject" + }, + "expand": { + "explode": true, + "style": "deepObject" + }, + "metadata": { + "explode": true, + "style": "deepObject" + }, + "relationship": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "address": { + "description": "The person's address.", + "properties": { + "city": { + "maxLength": 100, + "type": "string" + }, + "country": { + "maxLength": 5000, + "type": "string" + }, + "line1": { + "maxLength": 200, + "type": "string" + }, + "line2": { + "maxLength": 200, + "type": "string" + }, + "postal_code": { + "maxLength": 5000, + "type": "string" + }, + "state": { + "maxLength": 5000, + "type": "string" + } + }, + "title": "address_specs", + "type": "object" + }, + "address_kana": { + "description": "The Kana variation of the person's address (Japan only).", + "properties": { + "city": { + "maxLength": 5000, + "type": "string" + }, + "country": { + "maxLength": 5000, + "type": "string" + }, + "line1": { + "maxLength": 5000, + "type": "string" + }, + "line2": { + "maxLength": 5000, + "type": "string" + }, + "postal_code": { + "maxLength": 5000, + "type": "string" + }, + "state": { + "maxLength": 5000, + "type": "string" + }, + "town": { + "maxLength": 5000, + "type": "string" + } + }, + "title": "japan_address_kana_specs", + "type": "object" + }, + "address_kanji": { + "description": "The Kanji variation of the person's address (Japan only).", + "properties": { + "city": { + "maxLength": 5000, + "type": "string" + }, + "country": { + "maxLength": 5000, + "type": "string" + }, + "line1": { + "maxLength": 5000, + "type": "string" + }, + "line2": { + "maxLength": 5000, + "type": "string" + }, + "postal_code": { + "maxLength": 5000, + "type": "string" + }, + "state": { + "maxLength": 5000, + "type": "string" + }, + "town": { + "maxLength": 5000, + "type": "string" + } + }, + "title": "japan_address_kanji_specs", + "type": "object" + }, + "dob": { + "description": "The person's date of birth.", + "properties": { + "day": { + "type": "integer" + }, + "month": { + "type": "integer" + }, + "year": { + "type": "integer" + } + }, + "required": [ + "day", + "month", + "year" + ], + "title": "date_of_birth_specs", + "type": "object" + }, + "email": { + "description": "The person's email address.", + "type": "string" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "first_name": { + "description": "The person's first name.", + "maxLength": 5000, + "type": "string" + }, + "first_name_kana": { + "description": "The Kana variation of the person's first name (Japan only).", + "maxLength": 5000, + "type": "string" + }, + "first_name_kanji": { + "description": "The Kanji variation of the person's first name (Japan only).", + "maxLength": 5000, + "type": "string" + }, + "gender": { + "description": "The person's gender (International regulations require either \"male\" or \"female\").", + "maxLength": 5000, + "type": "string" + }, + "id_number": { + "description": "The person's ID number, as appropriate for their country. For example, a social security number in the U.S., social insurance number in Canada, etc. Instead of the number itself, you can also provide a [PII token provided by Stripe.js](https://stripe.com/docs/stripe.js#collecting-pii-data).", + "maxLength": 5000, + "type": "string" + }, + "last_name": { + "description": "The person's last name.", + "maxLength": 5000, + "type": "string" + }, + "last_name_kana": { + "description": "The Kana variation of the person's last name (Japan only).", + "maxLength": 5000, + "type": "string" + }, + "last_name_kanji": { + "description": "The Kanji variation of the person's last name (Japan only).", + "maxLength": 5000, + "type": "string" + }, + "maiden_name": { + "description": "The person's maiden name.", + "maxLength": 5000, + "type": "string" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "Set of key-value pairs 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`.", + "type": "object" + }, + "phone": { + "description": "The person's phone number.", + "type": "string" + }, + "relationship": { + "description": "The relationship that this person has with the account's legal entity.", + "properties": { + "account_opener": { + "type": "boolean" + }, + "director": { + "type": "boolean" + }, + "executive": { + "type": "boolean" + }, + "owner": { + "type": "boolean" + }, + "percent_ownership": { + "anyOf": [ + { + "type": "number" + }, + { + "enum": [ + "" + ], + "type": "string" + } + ] + }, + "title": { + "maxLength": 5000, + "type": "string" + } + }, + "title": "relationship_specs", + "type": "object" + }, + "ssn_last_4": { + "description": "The last 4 digits of the person's social security number.", + "type": "string" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/person" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/account/persons/{person}": { + "delete": { + "description": "\u003Cp\u003EDeletes an existing person’s relationship to the account’s legal entity.\u003C/p\u003E", + "operationId": "DeletePerson", + "parameters": [ + { + "description": "The ID of the person to be deleted.", + "in": "path", + "name": "person", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/deleted_person" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "get": { + "description": "\u003Cp\u003ERetrieves an existing person.\u003C/p\u003E", + "operationId": "RetrievePerson", + "parameters": [ + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "The ID of a person to retrieve.", + "in": "path", + "name": "person", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/person" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003EUpdates an existing person.\u003C/p\u003E", + "operationId": "UpdatePerson", + "parameters": [ + { + "description": "The ID of a person to update.", + "in": "path", + "name": "person", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "address": { + "explode": true, + "style": "deepObject" + }, + "address_kana": { + "explode": true, + "style": "deepObject" + }, + "address_kanji": { + "explode": true, + "style": "deepObject" + }, + "dob": { + "explode": true, + "style": "deepObject" + }, + "expand": { + "explode": true, + "style": "deepObject" + }, + "metadata": { + "explode": true, + "style": "deepObject" + }, + "relationship": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "address": { + "description": "The person's address.", + "properties": { + "city": { + "maxLength": 100, + "type": "string" + }, + "country": { + "maxLength": 5000, + "type": "string" + }, + "line1": { + "maxLength": 200, + "type": "string" + }, + "line2": { + "maxLength": 200, + "type": "string" + }, + "postal_code": { + "maxLength": 5000, + "type": "string" + }, + "state": { + "maxLength": 5000, + "type": "string" + } + }, + "title": "address_specs", + "type": "object" + }, + "address_kana": { + "description": "The Kana variation of the person's address (Japan only).", + "properties": { + "city": { + "maxLength": 5000, + "type": "string" + }, + "country": { + "maxLength": 5000, + "type": "string" + }, + "line1": { + "maxLength": 5000, + "type": "string" + }, + "line2": { + "maxLength": 5000, + "type": "string" + }, + "postal_code": { + "maxLength": 5000, + "type": "string" + }, + "state": { + "maxLength": 5000, + "type": "string" + }, + "town": { + "maxLength": 5000, + "type": "string" + } + }, + "title": "japan_address_kana_specs", + "type": "object" + }, + "address_kanji": { + "description": "The Kanji variation of the person's address (Japan only).", + "properties": { + "city": { + "maxLength": 5000, + "type": "string" + }, + "country": { + "maxLength": 5000, + "type": "string" + }, + "line1": { + "maxLength": 5000, + "type": "string" + }, + "line2": { + "maxLength": 5000, + "type": "string" + }, + "postal_code": { + "maxLength": 5000, + "type": "string" + }, + "state": { + "maxLength": 5000, + "type": "string" + }, + "town": { + "maxLength": 5000, + "type": "string" + } + }, + "title": "japan_address_kanji_specs", + "type": "object" + }, + "dob": { + "description": "The person's date of birth.", + "properties": { + "day": { + "type": "integer" + }, + "month": { + "type": "integer" + }, + "year": { + "type": "integer" + } + }, + "required": [ + "day", + "month", + "year" + ], + "title": "date_of_birth_specs", + "type": "object" + }, + "email": { + "description": "The person's email address.", + "type": "string" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "first_name": { + "description": "The person's first name.", + "maxLength": 5000, + "type": "string" + }, + "first_name_kana": { + "description": "The Kana variation of the person's first name (Japan only).", + "maxLength": 5000, + "type": "string" + }, + "first_name_kanji": { + "description": "The Kanji variation of the person's first name (Japan only).", + "maxLength": 5000, + "type": "string" + }, + "gender": { + "description": "The person's gender (International regulations require either \"male\" or \"female\").", + "maxLength": 5000, + "type": "string" + }, + "id_number": { + "description": "The person's ID number, as appropriate for their country. For example, a social security number in the U.S., social insurance number in Canada, etc. Instead of the number itself, you can also provide a [PII token provided by Stripe.js](https://stripe.com/docs/stripe.js#collecting-pii-data).", + "maxLength": 5000, + "type": "string" + }, + "last_name": { + "description": "The person's last name.", + "maxLength": 5000, + "type": "string" + }, + "last_name_kana": { + "description": "The Kana variation of the person's last name (Japan only).", + "maxLength": 5000, + "type": "string" + }, + "last_name_kanji": { + "description": "The Kanji variation of the person's last name (Japan only).", + "maxLength": 5000, + "type": "string" + }, + "maiden_name": { + "description": "The person's maiden name.", + "maxLength": 5000, + "type": "string" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "Set of key-value pairs 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`.", + "type": "object" + }, + "phone": { + "description": "The person's phone number.", + "type": "string" + }, + "relationship": { + "description": "The relationship that this person has with the account's legal entity.", + "properties": { + "account_opener": { + "type": "boolean" + }, + "director": { + "type": "boolean" + }, + "executive": { + "type": "boolean" + }, + "owner": { + "type": "boolean" + }, + "percent_ownership": { + "anyOf": [ + { + "type": "number" + }, + { + "enum": [ + "" + ], + "type": "string" + } + ] + }, + "title": { + "maxLength": 5000, + "type": "string" + } + }, + "title": "relationship_specs", + "type": "object" + }, + "ssn_last_4": { + "description": "The last 4 digits of the person's social security number.", + "type": "string" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/person" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/account_links": { + "post": { + "description": "\u003Cp\u003ECreates an AccountLink object that returns a Stripe URL that the user can redirect their user to in order to take them through the Hosted Verification flow.\u003C/p\u003E", + "operationId": "AccountLinkCreate", + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "account": { + "description": "The identifier of the account to create an account link for.", + "maxLength": 5000, + "type": "string" + }, + "collect": { + "description": "The information the platform wants to collect from users up-front. Only valid if the selected type is custom_account_verification.", + "maxLength": 5000, + "type": "string" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "failure_url": { + "description": "The URL that the user will be redirected to if the account link is no longer valid.", + "type": "string" + }, + "success_url": { + "description": "The URL that the user will be redirected to upon completing the linked flow successfully.", + "type": "string" + }, + "type": { + "description": "The type of account link the user is requesting.", + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "account", + "failure_url", + "success_url", + "type" + ], + "type": "object" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/account_link" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/accounts": { + "get": { + "description": "\u003Cp\u003EReturns a list of accounts connected to your platform via \u003Ca href=\"/docs/connect\"\u003EConnect\u003C/a\u003E. If you’re not a platform, the list is empty.\u003C/p\u003E", + "operationId": "AllAccount", + "parameters": [ + { + "explode": true, + "in": "query", + "name": "created", + "required": false, + "schema": { + "anyOf": [ + { + "properties": { + "gt": { + "type": "integer" + }, + "gte": { + "type": "integer" + }, + "lt": { + "type": "integer" + }, + "lte": { + "type": "integer" + } + }, + "title": "range_query_specs", + "type": "object" + }, + { + "type": "integer" + } + ] + }, + "style": "deepObject" + }, + { + "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.", + "in": "query", + "name": "ending_before", + "required": false, + "schema": { + "type": "string" + }, + "style": "form" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.", + "in": "query", + "name": "limit", + "required": false, + "schema": { + "type": "integer" + }, + "style": "form" + }, + { + "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.", + "in": "query", + "name": "starting_after", + "required": false, + "schema": { + "type": "string" + }, + "style": "form" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/account" + }, + "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/accounts", + "type": "string" + } + }, + "required": [ + "data", + "has_more", + "object", + "url" + ], + "type": "object", + "x-expandableFields": [ + "data" + ] + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003EWith \u003Ca href=\"/docs/connect\"\u003EConnect\u003C/a\u003E, you can create Stripe accounts for your users.\nTo do this, you’ll first need to \u003Ca href=\"https://dashboard.stripe.com/account/applications/settings\"\u003Eregister your platform\u003C/a\u003E.\u003C/p\u003E\n\n\u003Cp\u003EFor Standard accounts, parameters other than \u003Ccode\u003Ecountry\u003C/code\u003E, \u003Ccode\u003Eemail\u003C/code\u003E, and \u003Ccode\u003Etype\u003C/code\u003E\nare used to prefill the account application that we ask the account holder to complete.\u003C/p\u003E", + "operationId": "AccountCreate", + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "bank_account": { + "explode": true, + "style": "deepObject" + }, + "decline_charge_on": { + "explode": true, + "style": "deepObject" + }, + "expand": { + "explode": true, + "style": "deepObject" + }, + "external_account": { + "explode": true, + "style": "deepObject" + }, + "legal_entity": { + "explode": true, + "style": "deepObject" + }, + "metadata": { + "explode": true, + "style": "deepObject" + }, + "payout_schedule": { + "explode": true, + "style": "deepObject" + }, + "tos_acceptance": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "account_token": { + "description": "An [account token](https://stripe.com/docs/api#create_account_token), used to securely provide details to the account.", + "maxLength": 5000, + "type": "string" + }, + "bank_account": { + "anyOf": [ + { + "type": "object" + }, + { + "maxLength": 5000, + "type": "string" + } + ], + "description": "Either a token, like the ones returned by [Stripe.js](https://stripe.com/docs/stripe.js), or a dictionary containing a user's bank account details." + }, + "business_logo": { + "description": "(ID of a [file upload](https://stripe.com/docs/guides/file-upload)) A logo for this account (at least 128px x 128px)", + "maxLength": 5000, + "type": "string" + }, + "business_name": { + "description": "The publicly sharable name for this account.", + "maxLength": 5000, + "type": "string" + }, + "business_primary_color": { + "description": "A CSS hex color value representing the primary branding color for this account.", + "maxLength": 5000, + "type": "string" + }, + "business_url": { + "description": "The URL that best shows the service or product provided by this account.", + "maxLength": 5000, + "type": "string" + }, + "country": { + "description": "The country in which the account holder resides, or in which the business is legally established. This should be an ISO 3166-1 alpha-2 country code. For example, if you are in the United States and the business for which you're creating an account is legally represented in Canada, you would use `CA` as the country for the account being created.", + "maxLength": 5000, + "type": "string" + }, + "debit_negative_balances": { + "description": "A Boolean indicating whether Stripe should try to reclaim negative balances from an attached bank account. For details, see [Understanding Connect Account Balances](/docs/connect/account-balances).", + "type": "boolean" + }, + "decline_charge_on": { + "description": "Account-level settings to automatically decline certain types of charges, regardless of the card issuer's decision.", + "properties": { + "avs_failure": { + "type": "boolean" + }, + "cvc_failure": { + "type": "boolean" + } + }, + "title": "decline_charge_on_specs", + "type": "object" + }, + "default_currency": { + "description": "Three-letter ISO currency code representing the default currency for the account. This must be a currency that [Stripe supports in the account's country](https://stripe.com/docs/payouts).", + "type": "string" + }, + "email": { + "description": "The email address of the account holder. For Standard accounts, Stripe will email your user with instructions on how to set up their account. For Custom accounts, this is only to make the account easier to identify to you: Stripe will never directly email your users.", + "type": "string" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "external_account": { + "anyOf": [ + { + "type": "object" + }, + { + "maxLength": 5000, + "type": "string" + } + ], + "description": "A card or bank account to attach to the account. You can provide either a token, like the ones returned by [Stripe.js](/docs/stripe.js), or a dictionary, as documented in the `external_account` parameter for [bank account](/docs/api#account_create_bank_account) creation. \u003Cbr\u003E\u003Cbr\u003EBy default, providing an external account sets it as the new default external account for its currency, and deletes the old default if one exists. To add additional external accounts without replacing the existing default for the currency, use the bank account or card creation API." + }, + "from_recipient": { + "maxLength": 5000, + "type": "string" + }, + "legal_entity": { + "description": "Information about the legal entity itself, including information about the associated account representative.", + "properties": { + "additional_owners": { + "anyOf": [ + { + "additionalProperties": { + "properties": { + "address": { + "properties": { + "city": { + "maxLength": 100, + "type": "string" + }, + "country": { + "maxLength": 5000, + "type": "string" + }, + "line1": { + "maxLength": 200, + "type": "string" + }, + "line2": { + "maxLength": 200, + "type": "string" + }, + "postal_code": { + "maxLength": 5000, + "type": "string" + }, + "state": { + "maxLength": 5000, + "type": "string" + } + }, + "title": "address_specs", + "type": "object" + }, + "dob": { + "properties": { + "day": { + "type": "integer" + }, + "month": { + "type": "integer" + }, + "year": { + "type": "integer" + } + }, + "required": [ + "day", + "month", + "year" + ], + "title": "date_of_birth_specs", + "type": "object" + }, + "email": { + "type": "string" + }, + "first_name": { + "maxLength": 5000, + "type": "string" + }, + "last_name": { + "maxLength": 5000, + "type": "string" + }, + "maiden_name": { + "maxLength": 5000, + "type": "string" + }, + "personal_id_number": { + "maxLength": 5000, + "type": "string" + }, + "phone": { + "type": "string" + }, + "ssn_last_4": { + "maxLength": 5000, + "type": "string" + }, + "verification": { + "properties": { + "document": { + "maxLength": 500, + "type": "string" + }, + "status": { + "enum": [ + "", + "pending", + "unverified", + "verified" + ], + "maxLength": 5000, + "type": "string" + } + }, + "title": "account_person_verification_specs", + "type": "object" + } + }, + "title": "account_owner_specs", + "type": "object" + }, + "type": "object" + }, + { + "items": { + "properties": { + "address": { + "properties": { + "city": { + "maxLength": 100, + "type": "string" + }, + "country": { + "maxLength": 5000, + "type": "string" + }, + "line1": { + "maxLength": 200, + "type": "string" + }, + "line2": { + "maxLength": 200, + "type": "string" + }, + "postal_code": { + "maxLength": 5000, + "type": "string" + }, + "state": { + "maxLength": 5000, + "type": "string" + } + }, + "title": "address_specs", + "type": "object" + }, + "dob": { + "properties": { + "day": { + "type": "integer" + }, + "month": { + "type": "integer" + }, + "year": { + "type": "integer" + } + }, + "required": [ + "day", + "month", + "year" + ], + "title": "date_of_birth_specs", + "type": "object" + }, + "email": { + "type": "string" + }, + "first_name": { + "maxLength": 5000, + "type": "string" + }, + "last_name": { + "maxLength": 5000, + "type": "string" + }, + "maiden_name": { + "maxLength": 5000, + "type": "string" + }, + "personal_id_number": { + "maxLength": 5000, + "type": "string" + }, + "phone": { + "type": "string" + }, + "ssn_last_4": { + "maxLength": 5000, + "type": "string" + }, + "verification": { + "properties": { + "document": { + "maxLength": 500, + "type": "string" + }, + "status": { + "enum": [ + "", + "pending", + "unverified", + "verified" + ], + "maxLength": 5000, + "type": "string" + } + }, + "title": "account_person_verification_specs", + "type": "object" + } + }, + "title": "account_owner_specs", + "type": "object" + }, + "type": "array" + } + ] + }, + "address": { + "properties": { + "city": { + "maxLength": 100, + "type": "string" + }, + "country": { + "maxLength": 5000, + "type": "string" + }, + "line1": { + "maxLength": 200, + "type": "string" + }, + "line2": { + "maxLength": 200, + "type": "string" + }, + "postal_code": { + "maxLength": 5000, + "type": "string" + }, + "state": { + "maxLength": 5000, + "type": "string" + } + }, + "title": "address_specs", + "type": "object" + }, + "address_kana": { + "properties": { + "city": { + "maxLength": 5000, + "type": "string" + }, + "country": { + "maxLength": 5000, + "type": "string" + }, + "line1": { + "maxLength": 5000, + "type": "string" + }, + "line2": { + "maxLength": 5000, + "type": "string" + }, + "postal_code": { + "maxLength": 5000, + "type": "string" + }, + "state": { + "maxLength": 5000, + "type": "string" + }, + "town": { + "maxLength": 5000, + "type": "string" + } + }, + "title": "japan_address_kana_specs", + "type": "object" + }, + "address_kanji": { + "properties": { + "city": { + "maxLength": 5000, + "type": "string" + }, + "country": { + "maxLength": 5000, + "type": "string" + }, + "line1": { + "maxLength": 5000, + "type": "string" + }, + "line2": { + "maxLength": 5000, + "type": "string" + }, + "postal_code": { + "maxLength": 5000, + "type": "string" + }, + "state": { + "maxLength": 5000, + "type": "string" + }, + "town": { + "maxLength": 5000, + "type": "string" + } + }, + "title": "japan_address_kanji_specs", + "type": "object" + }, + "business_name": { + "maxLength": 100, + "type": "string" + }, + "business_name_kana": { + "maxLength": 100, + "type": "string" + }, + "business_name_kanji": { + "maxLength": 100, + "type": "string" + }, + "business_tax_id": { + "maxLength": 5000, + "type": "string" + }, + "business_vat_id": { + "maxLength": 5000, + "type": "string" + }, + "dob": { + "properties": { + "day": { + "type": "integer" + }, + "month": { + "type": "integer" + }, + "year": { + "type": "integer" + } + }, + "required": [ + "day", + "month", + "year" + ], + "title": "date_of_birth_specs", + "type": "object" + }, + "first_name": { + "maxLength": 100, + "type": "string" + }, + "first_name_kana": { + "maxLength": 5000, + "type": "string" + }, + "first_name_kanji": { + "maxLength": 5000, + "type": "string" + }, + "gender": { + "maxLength": 5000, + "type": "string" + }, + "last_name": { + "maxLength": 100, + "type": "string" + }, + "last_name_kana": { + "maxLength": 5000, + "type": "string" + }, + "last_name_kanji": { + "maxLength": 5000, + "type": "string" + }, + "maiden_name": { + "maxLength": 5000, + "type": "string" + }, + "personal_address": { + "properties": { + "city": { + "maxLength": 100, + "type": "string" + }, + "country": { + "maxLength": 5000, + "type": "string" + }, + "line1": { + "maxLength": 200, + "type": "string" + }, + "line2": { + "maxLength": 200, + "type": "string" + }, + "postal_code": { + "maxLength": 5000, + "type": "string" + }, + "state": { + "maxLength": 5000, + "type": "string" + } + }, + "title": "address_specs", + "type": "object" + }, + "personal_address_kana": { + "properties": { + "city": { + "maxLength": 5000, + "type": "string" + }, + "country": { + "maxLength": 5000, + "type": "string" + }, + "line1": { + "maxLength": 5000, + "type": "string" + }, + "line2": { + "maxLength": 5000, + "type": "string" + }, + "postal_code": { + "maxLength": 5000, + "type": "string" + }, + "state": { + "maxLength": 5000, + "type": "string" + }, + "town": { + "maxLength": 5000, + "type": "string" + } + }, + "title": "japan_address_kana_specs", + "type": "object" + }, + "personal_address_kanji": { + "properties": { + "city": { + "maxLength": 5000, + "type": "string" + }, + "country": { + "maxLength": 5000, + "type": "string" + }, + "line1": { + "maxLength": 5000, + "type": "string" + }, + "line2": { + "maxLength": 5000, + "type": "string" + }, + "postal_code": { + "maxLength": 5000, + "type": "string" + }, + "state": { + "maxLength": 5000, + "type": "string" + }, + "town": { + "maxLength": 5000, + "type": "string" + } + }, + "title": "japan_address_kanji_specs", + "type": "object" + }, + "personal_id_number": { + "maxLength": 5000, + "type": "string" + }, + "phone_number": { + "maxLength": 5000, + "type": "string" + }, + "ssn_last_4": { + "maxLength": 5000, + "type": "string" + }, + "tax_id_registrar": { + "maxLength": 5000, + "type": "string" + }, + "type": { + "maxLength": 5000, + "type": "string" + }, + "verification": { + "properties": { + "document": { + "maxLength": 500, + "type": "string" + }, + "status": { + "enum": [ + "", + "pending", + "unverified", + "verified" + ], + "maxLength": 5000, + "type": "string" + } + }, + "title": "account_person_verification_specs", + "type": "object" + } + }, + "title": "account_legal_entity_specs", + "type": "object" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "A set of key-value pairs that you can attach to an `Account` object. This can be useful for storing additional information about the account in a structured format.", + "type": "object" + }, + "payout_schedule": { + "description": "Details on when funds from charges are available, and when they are paid out to an external account. For details, see our [Setting Bank and Debit Card Payouts](/docs/connect/bank-transfers#payout-information) documentation.", + "properties": { + "delay_days": { + "type": "integer" + }, + "interval": { + "enum": [ + "daily", + "four_times_monthly", + "manual", + "monthly", + "weekly" + ], + "maxLength": 5000, + "type": "string" + }, + "monthly_anchor": { + "type": "integer" + }, + "weekly_anchor": { + "enum": [ + "friday", + "monday", + "saturday", + "sunday", + "thursday", + "tuesday", + "wednesday" + ], + "maxLength": 5000, + "type": "string" + } + }, + "title": "transfer_schedule_specs", + "type": "object" + }, + "payout_statement_descriptor": { + "description": "The text that appears on the bank account statement for payouts. If not set, this defaults to the platform's bank descriptor as set in the Dashboard.", + "maxLength": 5000, + "type": "string" + }, + "product_description": { + "description": "Internal-only description of the product sold or service provided by the business. It's used by Stripe for risk and underwriting purposes.", + "maxLength": 40000, + "type": "string" + }, + "statement_descriptor": { + "description": "The default text that appears on credit card statements when a charge is made [directly on the account](/docs/connect/direct-charges).", + "maxLength": 22, + "type": "string" + }, + "support_email": { + "description": "A publicly shareable support email address for the business.", + "type": "string" + }, + "support_phone": { + "description": "A publicly shareable support phone number for the business.", + "maxLength": 5000, + "type": "string" + }, + "support_url": { + "description": "A publicly shareable URL that provides support for this account.", + "type": "string" + }, + "tos_acceptance": { + "description": "Details on the account's acceptance of the [Stripe Services Agreement](/docs/connect/updating-accounts#tos-acceptance).", + "properties": { + "date": { + "format": "unix-time", + "type": "integer" + }, + "ip": { + "type": "string" + }, + "user_agent": { + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "date", + "ip" + ], + "title": "tos_acceptance_specs", + "type": "object" + }, + "type": { + "description": "Whether you'd like to create a [Standard or Custom](/docs/connect/accounts) account. Standard accounts are normal Stripe accounts: Stripe will email the account holder to set up a username and password, and will handle all account management directly with them. Custom accounts have extra parameters available to them, and require that you, the platform, handle all communication with the account holder. Possible values are `standard` and `custom`.", + "enum": [ + "custom", + "express", + "standard" + ], + "maxLength": 5000, + "type": "string" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/account" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/accounts/{account}": { + "delete": { + "description": "\u003Cp\u003EWith \u003Ca href=\"/docs/connect\"\u003EConnect\u003C/a\u003E, you may delete Custom accounts you manage.\u003C/p\u003E\n\n\u003Cp\u003ECustom accounts created using test-mode keys can be deleted at any time. Custom accounts created using live-mode keys may only be deleted once all balances are zero.\u003C/p\u003E\n\n\u003Cp\u003EIf you are looking to close your own account, use the \u003Ca href=\"https://dashboard.stripe.com/account/data\"\u003Edata tab in your account settings\u003C/a\u003E instead.\u003C/p\u003E", + "operationId": "AccountDelete", + "parameters": [ + { + "description": "The identifier of the account to be deleted. If none is provided, will default to the account of the API key.", + "in": "path", + "name": "account", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/deleted_account" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "get": { + "description": "\u003Cp\u003ERetrieves the details of the account.\u003C/p\u003E", + "operationId": "AccountRetrieve", + "parameters": [ + { + "description": "The identifier of the account to retrieve. If none is provided, the account associated with the API key is returned.", + "in": "path", + "name": "account", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/account" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003EUpdates a connected \u003Ca href=\"/docs/connect/accounts\"\u003EExpress or Custom account\u003C/a\u003E by setting the values of the parameters passed. Any parameters not provided are left unchanged. Most parameters can be changed only for Custom accounts. (These are marked \u003Cstrong\u003ECustom Only\u003C/strong\u003E below.) Parameters marked \u003Cstrong\u003ECustom and Express\u003C/strong\u003E are supported by both account types.\u003C/p\u003E\n\n\u003Cp\u003ETo update your own account, use the \u003Ca href=\"https://dashboard.stripe.com/account\"\u003EDashboard\u003C/a\u003E. Refer to our \u003Ca href=\"/docs/connect/updating-accounts\"\u003EConnect\u003C/a\u003E documentation to learn more about updating accounts.\u003C/p\u003E", + "operationId": "AccountUpdate", + "parameters": [ + { + "in": "path", + "name": "account", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "bank_account": { + "explode": true, + "style": "deepObject" + }, + "decline_charge_on": { + "explode": true, + "style": "deepObject" + }, + "expand": { + "explode": true, + "style": "deepObject" + }, + "external_account": { + "explode": true, + "style": "deepObject" + }, + "legal_entity": { + "explode": true, + "style": "deepObject" + }, + "metadata": { + "explode": true, + "style": "deepObject" + }, + "payout_schedule": { + "explode": true, + "style": "deepObject" + }, + "requested_capabilities": { + "explode": true, + "style": "deepObject" + }, + "tos_acceptance": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "account_token": { + "description": "An [account token](https://stripe.com/docs/api#create_account_token), used to securely provide details to the account.", + "maxLength": 5000, + "type": "string" + }, + "bank_account": { + "anyOf": [ + { + "type": "object" + }, + { + "maxLength": 5000, + "type": "string" + } + ], + "description": "Either a token, like the ones returned by [Stripe.js](https://stripe.com/docs/stripe.js), or a dictionary containing a user's bank account details." + }, + "business_logo": { + "description": "(ID of a [file upload](https://stripe.com/docs/guides/file-upload)) A logo for this account (at least 128px x 128px)", + "maxLength": 5000, + "type": "string" + }, + "business_name": { + "description": "The publicly sharable name for this account.", + "maxLength": 5000, + "type": "string" + }, + "business_primary_color": { + "description": "A CSS hex color value representing the primary branding color for this account.", + "maxLength": 5000, + "type": "string" + }, + "business_url": { + "description": "The URL that best shows the service or product provided by this account.", + "maxLength": 5000, + "type": "string" + }, + "debit_negative_balances": { + "description": "A Boolean indicating whether Stripe should try to reclaim negative balances from an attached bank account. For details, see [Understanding Connect Account Balances](/docs/connect/account-balances).", + "type": "boolean" + }, + "decline_charge_on": { + "description": "Account-level settings to automatically decline certain types of charges, regardless of the card issuer's decision.", + "properties": { + "avs_failure": { + "type": "boolean" + }, + "cvc_failure": { + "type": "boolean" + } + }, + "title": "decline_charge_on_specs", + "type": "object" + }, + "default_currency": { + "description": "Three-letter ISO currency code representing the default currency for the account. This must be a currency that [Stripe supports in the account's country](https://stripe.com/docs/payouts).", + "type": "string" + }, + "email": { + "description": "Email address of the account representative. For Standard accounts, this is used to ask them to claim their Stripe account. For Custom accounts, this only makes the account easier to identify to platforms; Stripe does not email the account representative.", + "type": "string" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "external_account": { + "anyOf": [ + { + "type": "object" + }, + { + "maxLength": 5000, + "type": "string" + } + ], + "description": "A card or bank account to attach to the account. You can provide either a token, like the ones returned by [Stripe.js](/docs/stripe.js), or a dictionary, as documented in the `external_account` parameter for [bank account](/docs/api#account_create_bank_account) creation. \u003Cbr\u003E\u003Cbr\u003EBy default, providing an external account sets it as the new default external account for its currency, and deletes the old default if one exists. To add additional external accounts without replacing the existing default for the currency, use the bank account or card creation API." + }, + "legal_entity": { + "description": "Information about the legal entity itself, including information about the associated account representative.", + "properties": { + "additional_owners": { + "anyOf": [ + { + "additionalProperties": { + "properties": { + "address": { + "properties": { + "city": { + "maxLength": 100, + "type": "string" + }, + "country": { + "maxLength": 5000, + "type": "string" + }, + "line1": { + "maxLength": 200, + "type": "string" + }, + "line2": { + "maxLength": 200, + "type": "string" + }, + "postal_code": { + "maxLength": 5000, + "type": "string" + }, + "state": { + "maxLength": 5000, + "type": "string" + } + }, + "title": "address_specs", + "type": "object" + }, + "dob": { + "properties": { + "day": { + "type": "integer" + }, + "month": { + "type": "integer" + }, + "year": { + "type": "integer" + } + }, + "required": [ + "day", + "month", + "year" + ], + "title": "date_of_birth_specs", + "type": "object" + }, + "email": { + "type": "string" + }, + "first_name": { + "maxLength": 5000, + "type": "string" + }, + "last_name": { + "maxLength": 5000, + "type": "string" + }, + "maiden_name": { + "maxLength": 5000, + "type": "string" + }, + "personal_id_number": { + "maxLength": 5000, + "type": "string" + }, + "phone": { + "type": "string" + }, + "ssn_last_4": { + "maxLength": 5000, + "type": "string" + }, + "verification": { + "properties": { + "document": { + "maxLength": 500, + "type": "string" + }, + "status": { + "enum": [ + "", + "pending", + "unverified", + "verified" + ], + "maxLength": 5000, + "type": "string" + } + }, + "title": "account_person_verification_specs", + "type": "object" + } + }, + "title": "account_owner_specs", + "type": "object" + }, + "type": "object" + }, + { + "items": { + "properties": { + "address": { + "properties": { + "city": { + "maxLength": 100, + "type": "string" + }, + "country": { + "maxLength": 5000, + "type": "string" + }, + "line1": { + "maxLength": 200, + "type": "string" + }, + "line2": { + "maxLength": 200, + "type": "string" + }, + "postal_code": { + "maxLength": 5000, + "type": "string" + }, + "state": { + "maxLength": 5000, + "type": "string" + } + }, + "title": "address_specs", + "type": "object" + }, + "dob": { + "properties": { + "day": { + "type": "integer" + }, + "month": { + "type": "integer" + }, + "year": { + "type": "integer" + } + }, + "required": [ + "day", + "month", + "year" + ], + "title": "date_of_birth_specs", + "type": "object" + }, + "email": { + "type": "string" + }, + "first_name": { + "maxLength": 5000, + "type": "string" + }, + "last_name": { + "maxLength": 5000, + "type": "string" + }, + "maiden_name": { + "maxLength": 5000, + "type": "string" + }, + "personal_id_number": { + "maxLength": 5000, + "type": "string" + }, + "phone": { + "type": "string" + }, + "ssn_last_4": { + "maxLength": 5000, + "type": "string" + }, + "verification": { + "properties": { + "document": { + "maxLength": 500, + "type": "string" + }, + "status": { + "enum": [ + "", + "pending", + "unverified", + "verified" + ], + "maxLength": 5000, + "type": "string" + } + }, + "title": "account_person_verification_specs", + "type": "object" + } + }, + "title": "account_owner_specs", + "type": "object" + }, + "type": "array" + } + ] + }, + "address": { + "properties": { + "city": { + "maxLength": 100, + "type": "string" + }, + "country": { + "maxLength": 5000, + "type": "string" + }, + "line1": { + "maxLength": 200, + "type": "string" + }, + "line2": { + "maxLength": 200, + "type": "string" + }, + "postal_code": { + "maxLength": 5000, + "type": "string" + }, + "state": { + "maxLength": 5000, + "type": "string" + } + }, + "title": "address_specs", + "type": "object" + }, + "address_kana": { + "properties": { + "city": { + "maxLength": 5000, + "type": "string" + }, + "country": { + "maxLength": 5000, + "type": "string" + }, + "line1": { + "maxLength": 5000, + "type": "string" + }, + "line2": { + "maxLength": 5000, + "type": "string" + }, + "postal_code": { + "maxLength": 5000, + "type": "string" + }, + "state": { + "maxLength": 5000, + "type": "string" + }, + "town": { + "maxLength": 5000, + "type": "string" + } + }, + "title": "japan_address_kana_specs", + "type": "object" + }, + "address_kanji": { + "properties": { + "city": { + "maxLength": 5000, + "type": "string" + }, + "country": { + "maxLength": 5000, + "type": "string" + }, + "line1": { + "maxLength": 5000, + "type": "string" + }, + "line2": { + "maxLength": 5000, + "type": "string" + }, + "postal_code": { + "maxLength": 5000, + "type": "string" + }, + "state": { + "maxLength": 5000, + "type": "string" + }, + "town": { + "maxLength": 5000, + "type": "string" + } + }, + "title": "japan_address_kanji_specs", + "type": "object" + }, + "business_name": { + "maxLength": 100, + "type": "string" + }, + "business_name_kana": { + "maxLength": 100, + "type": "string" + }, + "business_name_kanji": { + "maxLength": 100, + "type": "string" + }, + "business_tax_id": { + "maxLength": 5000, + "type": "string" + }, + "business_vat_id": { + "maxLength": 5000, + "type": "string" + }, + "dob": { + "properties": { + "day": { + "type": "integer" + }, + "month": { + "type": "integer" + }, + "year": { + "type": "integer" + } + }, + "required": [ + "day", + "month", + "year" + ], + "title": "date_of_birth_specs", + "type": "object" + }, + "first_name": { + "maxLength": 100, + "type": "string" + }, + "first_name_kana": { + "maxLength": 5000, + "type": "string" + }, + "first_name_kanji": { + "maxLength": 5000, + "type": "string" + }, + "gender": { + "maxLength": 5000, + "type": "string" + }, + "last_name": { + "maxLength": 100, + "type": "string" + }, + "last_name_kana": { + "maxLength": 5000, + "type": "string" + }, + "last_name_kanji": { + "maxLength": 5000, + "type": "string" + }, + "maiden_name": { + "maxLength": 5000, + "type": "string" + }, + "personal_address": { + "properties": { + "city": { + "maxLength": 100, + "type": "string" + }, + "country": { + "maxLength": 5000, + "type": "string" + }, + "line1": { + "maxLength": 200, + "type": "string" + }, + "line2": { + "maxLength": 200, + "type": "string" + }, + "postal_code": { + "maxLength": 5000, + "type": "string" + }, + "state": { + "maxLength": 5000, + "type": "string" + } + }, + "title": "address_specs", + "type": "object" + }, + "personal_address_kana": { + "properties": { + "city": { + "maxLength": 5000, + "type": "string" + }, + "country": { + "maxLength": 5000, + "type": "string" + }, + "line1": { + "maxLength": 5000, + "type": "string" + }, + "line2": { + "maxLength": 5000, + "type": "string" + }, + "postal_code": { + "maxLength": 5000, + "type": "string" + }, + "state": { + "maxLength": 5000, + "type": "string" + }, + "town": { + "maxLength": 5000, + "type": "string" + } + }, + "title": "japan_address_kana_specs", + "type": "object" + }, + "personal_address_kanji": { + "properties": { + "city": { + "maxLength": 5000, + "type": "string" + }, + "country": { + "maxLength": 5000, + "type": "string" + }, + "line1": { + "maxLength": 5000, + "type": "string" + }, + "line2": { + "maxLength": 5000, + "type": "string" + }, + "postal_code": { + "maxLength": 5000, + "type": "string" + }, + "state": { + "maxLength": 5000, + "type": "string" + }, + "town": { + "maxLength": 5000, + "type": "string" + } + }, + "title": "japan_address_kanji_specs", + "type": "object" + }, + "personal_id_number": { + "maxLength": 5000, + "type": "string" + }, + "phone_number": { + "maxLength": 5000, + "type": "string" + }, + "ssn_last_4": { + "maxLength": 5000, + "type": "string" + }, + "tax_id_registrar": { + "maxLength": 5000, + "type": "string" + }, + "type": { + "maxLength": 5000, + "type": "string" + }, + "verification": { + "properties": { + "document": { + "maxLength": 500, + "type": "string" + }, + "status": { + "enum": [ + "", + "pending", + "unverified", + "verified" + ], + "maxLength": 5000, + "type": "string" + } + }, + "title": "account_person_verification_specs", + "type": "object" + } + }, + "title": "account_legal_entity_specs", + "type": "object" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "A set of key-value pairs that you can attach to an `Account` object. This can be useful for storing additional information about the account in a structured format.", + "type": "object" + }, + "payout_schedule": { + "description": "Details on when funds from charges are available, and when they are paid out to an external account. For details, see our [Setting Bank and Debit Card Payouts](/docs/connect/bank-transfers#payout-information) documentation.", + "properties": { + "delay_days": { + "type": "integer" + }, + "interval": { + "enum": [ + "daily", + "four_times_monthly", + "manual", + "monthly", + "weekly" + ], + "maxLength": 5000, + "type": "string" + }, + "monthly_anchor": { + "type": "integer" + }, + "weekly_anchor": { + "enum": [ + "friday", + "monday", + "saturday", + "sunday", + "thursday", + "tuesday", + "wednesday" + ], + "maxLength": 5000, + "type": "string" + } + }, + "title": "transfer_schedule_specs", + "type": "object" + }, + "payout_statement_descriptor": { + "description": "The text that appears on the bank account statement for payouts. If not set, this defaults to the platform's bank descriptor as set in the Dashboard.", + "maxLength": 5000, + "type": "string" + }, + "product_description": { + "description": "Internal-only description of the product sold or service provided by the business. It's used by Stripe for risk and underwriting purposes.", + "maxLength": 40000, + "type": "string" + }, + "requested_capabilities": { + "description": "The set of capabilities you want to unlock for this account. Each capability will be inactive until you have provided its specific requirements and Stripe has verified them. An account may have some of its requested capabilities be active and some be inactive.", + "items": { + "enum": [ + "card_payments", + "platform_payments" + ], + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "statement_descriptor": { + "description": "The default text that appears on credit card statements when a charge is made [directly on the account](/docs/connect/direct-charges).", + "maxLength": 22, + "type": "string" + }, + "support_email": { + "description": "A publicly shareable support email address for the business.", + "type": "string" + }, + "support_phone": { + "description": "A publicly shareable support phone number for the business.", + "maxLength": 5000, + "type": "string" + }, + "support_url": { + "description": "A publicly shareable URL that provides support for this account.", + "type": "string" + }, + "tos_acceptance": { + "description": "Details on the account's acceptance of the [Stripe Services Agreement](/docs/connect/updating-accounts#tos-acceptance).", + "properties": { + "date": { + "format": "unix-time", + "type": "integer" + }, + "ip": { + "type": "string" + }, + "user_agent": { + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "date", + "ip" + ], + "title": "tos_acceptance_specs", + "type": "object" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/account" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/accounts/{account}/bank_accounts": { + "post": { + "description": "\u003Cp\u003ECreate an external account for a given account.\u003C/p\u003E", + "operationId": "CreateAccountExternalAccount", + "parameters": [ + { + "in": "path", + "name": "account", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "bank_account": { + "explode": true, + "style": "deepObject" + }, + "expand": { + "explode": true, + "style": "deepObject" + }, + "external_account": { + "explode": true, + "style": "deepObject" + }, + "metadata": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "bank_account": { + "anyOf": [ + { + "type": "object" + }, + { + "maxLength": 5000, + "type": "string" + } + ], + "description": "Either a token, like the ones returned by [Stripe.js](https://stripe.com/docs/stripe.js), or a dictionary containing a user's bank account details." + }, + "default_for_currency": { + "description": "When set to true, or if this is the first external account added in this currency, this account becomes the default external account for its currency.", + "type": "boolean" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "external_account": { + "anyOf": [ + { + "type": "object" + }, + { + "maxLength": 5000, + "type": "string" + } + ], + "description": "This string to be replaced by DocSpecGenerator." + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "A set of key-value pairs that you can attach to an external account object. It can be useful for storing additional information about the external account in a structured format.", + "type": "object" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/external_account" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/accounts/{account}/bank_accounts/{id}": { + "delete": { + "description": "\u003Cp\u003EDelete a specified external account for a given account.\u003C/p\u003E", + "operationId": "DeleteAccountExternalAccount", + "parameters": [ + { + "in": "path", + "name": "account", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + }, + { + "description": "The ID of the external account to be deleted.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/deleted_external_account" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "get": { + "description": "\u003Cp\u003ERetrieve a specified external account for a given account.\u003C/p\u003E", + "operationId": "RetrieveAccountExternalAccount", + "parameters": [ + { + "in": "path", + "name": "account", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/external_account" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003EUpdates the metadata, account holder name, and account holder type of a bank account belonging to a \u003Ca href=\"/docs/connect/custom-accounts\"\u003ECustom account\u003C/a\u003E, and optionally sets it as the default for its currency. Other bank account details are not editable by design.\u003C/p\u003E\n\u003Cp\u003EYou can re-enable a disabled bank account by performing an update call without providing any arguments or changes.\u003C/p\u003E", + "operationId": "UpdateAccountExternalAccount", + "parameters": [ + { + "in": "path", + "name": "account", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + }, + { + "description": "The ID of the external account to update", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + }, + "metadata": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "account_holder_name": { + "description": "The name of the person or business that owns the bank account.", + "maxLength": 5000, + "type": "string" + }, + "account_holder_type": { + "description": "The type of entity that holds the account. This can be either `individual` or `company`.", + "enum": [ + "", + "company", + "individual" + ], + "maxLength": 5000, + "type": "string" + }, + "address_city": { + "description": "City/District/Suburb/Town/Village.", + "maxLength": 5000, + "type": "string" + }, + "address_country": { + "description": "Billing address country, if provided when creating card.", + "maxLength": 5000, + "type": "string" + }, + "address_line1": { + "description": "Address line 1 (Street address/PO Box/Company name).", + "maxLength": 5000, + "type": "string" + }, + "address_line2": { + "description": "Address line 2 (Apartment/Suite/Unit/Building).", + "maxLength": 5000, + "type": "string" + }, + "address_state": { + "description": "State/County/Province/Region.", + "maxLength": 5000, + "type": "string" + }, + "address_zip": { + "description": "ZIP or postal code.", + "maxLength": 5000, + "type": "string" + }, + "default_for_currency": { + "description": "When set to true, this becomes the default external account for its currency.", + "type": "boolean" + }, + "exp_month": { + "description": "Two digit number representing the card’s expiration month.", + "maxLength": 5000, + "type": "string" + }, + "exp_year": { + "description": "Four digit number representing the card’s expiration year.", + "maxLength": 5000, + "type": "string" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "name": { + "description": "Cardholder name.", + "maxLength": 5000, + "type": "string" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/external_account" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/accounts/{account}/external_accounts": { + "get": { + "description": "\u003Cp\u003EList external accounts for an account.\u003C/p\u003E", + "operationId": "AllAccountExternalAccounts", + "parameters": [ + { + "in": "path", + "name": "account", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + }, + { + "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.", + "in": "query", + "name": "ending_before", + "required": false, + "schema": { + "type": "string" + }, + "style": "form" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.", + "in": "query", + "name": "limit", + "required": false, + "schema": { + "type": "integer" + }, + "style": "form" + }, + { + "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.", + "in": "query", + "name": "starting_after", + "required": false, + "schema": { + "type": "string" + }, + "style": "form" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "description": "The list contains all external accounts that have been attached to the Stripe account. These may be bank accounts or cards.", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/bank_account" + }, + { + "$ref": "#/components/schemas/card" + } + ], + "title": "Polymorphic" + }, + "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, + "type": "string" + } + }, + "required": [ + "data", + "has_more", + "object", + "url" + ], + "title": "ExternalAccountList", + "type": "object", + "x-expandableFields": [ + "data" + ] + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003ECreate an external account for a given account.\u003C/p\u003E", + "operationId": "CreateAccountExternalAccount", + "parameters": [ + { + "in": "path", + "name": "account", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "bank_account": { + "explode": true, + "style": "deepObject" + }, + "expand": { + "explode": true, + "style": "deepObject" + }, + "external_account": { + "explode": true, + "style": "deepObject" + }, + "metadata": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "bank_account": { + "anyOf": [ + { + "type": "object" + }, + { + "maxLength": 5000, + "type": "string" + } + ], + "description": "Either a token, like the ones returned by [Stripe.js](https://stripe.com/docs/stripe.js), or a dictionary containing a user's bank account details." + }, + "default_for_currency": { + "description": "When set to true, or if this is the first external account added in this currency, this account becomes the default external account for its currency.", + "type": "boolean" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "external_account": { + "anyOf": [ + { + "type": "object" + }, + { + "maxLength": 5000, + "type": "string" + } + ], + "description": "This string to be replaced by DocSpecGenerator." + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "A set of key-value pairs that you can attach to an external account object. It can be useful for storing additional information about the external account in a structured format.", + "type": "object" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/external_account" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/accounts/{account}/external_accounts/{id}": { + "delete": { + "description": "\u003Cp\u003EDelete a specified external account for a given account.\u003C/p\u003E", + "operationId": "DeleteAccountExternalAccount", + "parameters": [ + { + "in": "path", + "name": "account", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + }, + { + "description": "The ID of the external account to be deleted.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/deleted_external_account" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "get": { + "description": "\u003Cp\u003ERetrieve a specified external account for a given account.\u003C/p\u003E", + "operationId": "RetrieveAccountExternalAccount", + "parameters": [ + { + "in": "path", + "name": "account", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/external_account" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003EUpdates the metadata, account holder name, and account holder type of a bank account belonging to a \u003Ca href=\"/docs/connect/custom-accounts\"\u003ECustom account\u003C/a\u003E, and optionally sets it as the default for its currency. Other bank account details are not editable by design.\u003C/p\u003E\n\u003Cp\u003EYou can re-enable a disabled bank account by performing an update call without providing any arguments or changes.\u003C/p\u003E", + "operationId": "UpdateAccountExternalAccount", + "parameters": [ + { + "in": "path", + "name": "account", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + }, + { + "description": "The ID of the external account to update", + "in": "path", + "name": "id", + "required": true, + "schema": { + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + }, + "metadata": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "account_holder_name": { + "description": "The name of the person or business that owns the bank account.", + "maxLength": 5000, + "type": "string" + }, + "account_holder_type": { + "description": "The type of entity that holds the account. This can be either `individual` or `company`.", + "enum": [ + "", + "company", + "individual" + ], + "maxLength": 5000, + "type": "string" + }, + "address_city": { + "description": "City/District/Suburb/Town/Village.", + "maxLength": 5000, + "type": "string" + }, + "address_country": { + "description": "Billing address country, if provided when creating card.", + "maxLength": 5000, + "type": "string" + }, + "address_line1": { + "description": "Address line 1 (Street address/PO Box/Company name).", + "maxLength": 5000, + "type": "string" + }, + "address_line2": { + "description": "Address line 2 (Apartment/Suite/Unit/Building).", + "maxLength": 5000, + "type": "string" + }, + "address_state": { + "description": "State/County/Province/Region.", + "maxLength": 5000, + "type": "string" + }, + "address_zip": { + "description": "ZIP or postal code.", + "maxLength": 5000, + "type": "string" + }, + "default_for_currency": { + "description": "When set to true, this becomes the default external account for its currency.", + "type": "boolean" + }, + "exp_month": { + "description": "Two digit number representing the card’s expiration month.", + "maxLength": 5000, + "type": "string" + }, + "exp_year": { + "description": "Four digit number representing the card’s expiration year.", + "maxLength": 5000, + "type": "string" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "name": { + "description": "Cardholder name.", + "maxLength": 5000, + "type": "string" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/external_account" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/accounts/{account}/login_links": { + "post": { + "description": "\u003Cp\u003ECreates a single-use login link for an Express account to access their Stripe dashboard.\u003C/p\u003E\n\n\u003Cp\u003E\u003Cstrong\u003EYou may only create login links for \u003Ca href=\"/docs/connect/express-accounts\"\u003EExpress accounts\u003C/a\u003E connected to your platform\u003C/strong\u003E.\u003C/p\u003E", + "operationId": "LoginLinkCreate", + "parameters": [ + { + "description": "The identifier of the account to create a login link for.", + "in": "path", + "name": "account", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "redirect_url": { + "description": "Where to redirect the user after they log out of their dashboard.", + "type": "string" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/login_link" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/accounts/{account}/logout": { + "put": { + "description": "\u003Cp\u003EInvalidates all sessions for a light account, for a platform to use during platform logout.\u003C/p\u003E\n\n\u003Cp\u003E\u003Cstrong\u003EYou may only log out \u003Ca href=\"/docs/connect/express-accounts\"\u003EExpress accounts\u003C/a\u003E connected to your platform\u003C/strong\u003E.\u003C/p\u003E", + "operationId": "LightAccountLogout", + "parameters": [ + { + "description": "The identifier of the account to log out.", + "in": "path", + "name": "account", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/logout" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/accounts/{account}/people": { + "get": { + "description": "\u003Cp\u003EReturns a list of people associated with the account’s legal entity. The people are returned sorted by creation date, with the most recent people appearing first.\u003C/p\u003E", + "operationId": "AllPeople", + "parameters": [ + { + "in": "path", + "name": "account", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + }, + { + "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.", + "in": "query", + "name": "ending_before", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.", + "in": "query", + "name": "limit", + "required": false, + "schema": { + "type": "integer" + }, + "style": "form" + }, + { + "description": "Filters on the list of people returned based on the person's relationship to the account's company.", + "explode": true, + "in": "query", + "name": "relationship", + "required": false, + "schema": { + "properties": { + "account_opener": { + "type": "boolean" + }, + "director": { + "type": "boolean" + }, + "executive": { + "type": "boolean" + }, + "owner": { + "type": "boolean" + } + }, + "title": "all_people_relationship_specs", + "type": "object" + }, + "style": "deepObject" + }, + { + "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.", + "in": "query", + "name": "starting_after", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/person" + }, + "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, + "type": "string" + } + }, + "required": [ + "data", + "has_more", + "object", + "url" + ], + "type": "object", + "x-expandableFields": [ + "data" + ] + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003ECreates a new person.\u003C/p\u003E", + "operationId": "CreatePerson", + "parameters": [ + { + "in": "path", + "name": "account", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "address": { + "explode": true, + "style": "deepObject" + }, + "address_kana": { + "explode": true, + "style": "deepObject" + }, + "address_kanji": { + "explode": true, + "style": "deepObject" + }, + "dob": { + "explode": true, + "style": "deepObject" + }, + "expand": { + "explode": true, + "style": "deepObject" + }, + "metadata": { + "explode": true, + "style": "deepObject" + }, + "relationship": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "address": { + "description": "The person's address.", + "properties": { + "city": { + "maxLength": 100, + "type": "string" + }, + "country": { + "maxLength": 5000, + "type": "string" + }, + "line1": { + "maxLength": 200, + "type": "string" + }, + "line2": { + "maxLength": 200, + "type": "string" + }, + "postal_code": { + "maxLength": 5000, + "type": "string" + }, + "state": { + "maxLength": 5000, + "type": "string" + } + }, + "title": "address_specs", + "type": "object" + }, + "address_kana": { + "description": "The Kana variation of the person's address (Japan only).", + "properties": { + "city": { + "maxLength": 5000, + "type": "string" + }, + "country": { + "maxLength": 5000, + "type": "string" + }, + "line1": { + "maxLength": 5000, + "type": "string" + }, + "line2": { + "maxLength": 5000, + "type": "string" + }, + "postal_code": { + "maxLength": 5000, + "type": "string" + }, + "state": { + "maxLength": 5000, + "type": "string" + }, + "town": { + "maxLength": 5000, + "type": "string" + } + }, + "title": "japan_address_kana_specs", + "type": "object" + }, + "address_kanji": { + "description": "The Kanji variation of the person's address (Japan only).", + "properties": { + "city": { + "maxLength": 5000, + "type": "string" + }, + "country": { + "maxLength": 5000, + "type": "string" + }, + "line1": { + "maxLength": 5000, + "type": "string" + }, + "line2": { + "maxLength": 5000, + "type": "string" + }, + "postal_code": { + "maxLength": 5000, + "type": "string" + }, + "state": { + "maxLength": 5000, + "type": "string" + }, + "town": { + "maxLength": 5000, + "type": "string" + } + }, + "title": "japan_address_kanji_specs", + "type": "object" + }, + "dob": { + "description": "The person's date of birth.", + "properties": { + "day": { + "type": "integer" + }, + "month": { + "type": "integer" + }, + "year": { + "type": "integer" + } + }, + "required": [ + "day", + "month", + "year" + ], + "title": "date_of_birth_specs", + "type": "object" + }, + "email": { + "description": "The person's email address.", + "type": "string" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "first_name": { + "description": "The person's first name.", + "maxLength": 5000, + "type": "string" + }, + "first_name_kana": { + "description": "The Kana variation of the person's first name (Japan only).", + "maxLength": 5000, + "type": "string" + }, + "first_name_kanji": { + "description": "The Kanji variation of the person's first name (Japan only).", + "maxLength": 5000, + "type": "string" + }, + "gender": { + "description": "The person's gender (International regulations require either \"male\" or \"female\").", + "maxLength": 5000, + "type": "string" + }, + "id_number": { + "description": "The person's ID number, as appropriate for their country. For example, a social security number in the U.S., social insurance number in Canada, etc. Instead of the number itself, you can also provide a [PII token provided by Stripe.js](https://stripe.com/docs/stripe.js#collecting-pii-data).", + "maxLength": 5000, + "type": "string" + }, + "last_name": { + "description": "The person's last name.", + "maxLength": 5000, + "type": "string" + }, + "last_name_kana": { + "description": "The Kana variation of the person's last name (Japan only).", + "maxLength": 5000, + "type": "string" + }, + "last_name_kanji": { + "description": "The Kanji variation of the person's last name (Japan only).", + "maxLength": 5000, + "type": "string" + }, + "maiden_name": { + "description": "The person's maiden name.", + "maxLength": 5000, + "type": "string" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "Set of key-value pairs 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`.", + "type": "object" + }, + "phone": { + "description": "The person's phone number.", + "type": "string" + }, + "relationship": { + "description": "The relationship that this person has with the account's legal entity.", + "properties": { + "account_opener": { + "type": "boolean" + }, + "director": { + "type": "boolean" + }, + "executive": { + "type": "boolean" + }, + "owner": { + "type": "boolean" + }, + "percent_ownership": { + "anyOf": [ + { + "type": "number" + }, + { + "enum": [ + "" + ], + "type": "string" + } + ] + }, + "title": { + "maxLength": 5000, + "type": "string" + } + }, + "title": "relationship_specs", + "type": "object" + }, + "ssn_last_4": { + "description": "The last 4 digits of the person's social security number.", + "type": "string" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/person" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/accounts/{account}/people/{person}": { + "delete": { + "description": "\u003Cp\u003EDeletes an existing person’s relationship to the account’s legal entity.\u003C/p\u003E", + "operationId": "DeletePerson", + "parameters": [ + { + "in": "path", + "name": "account", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + }, + { + "description": "The ID of the person to be deleted.", + "in": "path", + "name": "person", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/deleted_person" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "get": { + "description": "\u003Cp\u003ERetrieves an existing person.\u003C/p\u003E", + "operationId": "RetrievePerson", + "parameters": [ + { + "in": "path", + "name": "account", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "The ID of a person to retrieve.", + "in": "path", + "name": "person", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/person" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003EUpdates an existing person.\u003C/p\u003E", + "operationId": "UpdatePerson", + "parameters": [ + { + "in": "path", + "name": "account", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + }, + { + "description": "The ID of a person to update.", + "in": "path", + "name": "person", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "address": { + "explode": true, + "style": "deepObject" + }, + "address_kana": { + "explode": true, + "style": "deepObject" + }, + "address_kanji": { + "explode": true, + "style": "deepObject" + }, + "dob": { + "explode": true, + "style": "deepObject" + }, + "expand": { + "explode": true, + "style": "deepObject" + }, + "metadata": { + "explode": true, + "style": "deepObject" + }, + "relationship": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "address": { + "description": "The person's address.", + "properties": { + "city": { + "maxLength": 100, + "type": "string" + }, + "country": { + "maxLength": 5000, + "type": "string" + }, + "line1": { + "maxLength": 200, + "type": "string" + }, + "line2": { + "maxLength": 200, + "type": "string" + }, + "postal_code": { + "maxLength": 5000, + "type": "string" + }, + "state": { + "maxLength": 5000, + "type": "string" + } + }, + "title": "address_specs", + "type": "object" + }, + "address_kana": { + "description": "The Kana variation of the person's address (Japan only).", + "properties": { + "city": { + "maxLength": 5000, + "type": "string" + }, + "country": { + "maxLength": 5000, + "type": "string" + }, + "line1": { + "maxLength": 5000, + "type": "string" + }, + "line2": { + "maxLength": 5000, + "type": "string" + }, + "postal_code": { + "maxLength": 5000, + "type": "string" + }, + "state": { + "maxLength": 5000, + "type": "string" + }, + "town": { + "maxLength": 5000, + "type": "string" + } + }, + "title": "japan_address_kana_specs", + "type": "object" + }, + "address_kanji": { + "description": "The Kanji variation of the person's address (Japan only).", + "properties": { + "city": { + "maxLength": 5000, + "type": "string" + }, + "country": { + "maxLength": 5000, + "type": "string" + }, + "line1": { + "maxLength": 5000, + "type": "string" + }, + "line2": { + "maxLength": 5000, + "type": "string" + }, + "postal_code": { + "maxLength": 5000, + "type": "string" + }, + "state": { + "maxLength": 5000, + "type": "string" + }, + "town": { + "maxLength": 5000, + "type": "string" + } + }, + "title": "japan_address_kanji_specs", + "type": "object" + }, + "dob": { + "description": "The person's date of birth.", + "properties": { + "day": { + "type": "integer" + }, + "month": { + "type": "integer" + }, + "year": { + "type": "integer" + } + }, + "required": [ + "day", + "month", + "year" + ], + "title": "date_of_birth_specs", + "type": "object" + }, + "email": { + "description": "The person's email address.", + "type": "string" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "first_name": { + "description": "The person's first name.", + "maxLength": 5000, + "type": "string" + }, + "first_name_kana": { + "description": "The Kana variation of the person's first name (Japan only).", + "maxLength": 5000, + "type": "string" + }, + "first_name_kanji": { + "description": "The Kanji variation of the person's first name (Japan only).", + "maxLength": 5000, + "type": "string" + }, + "gender": { + "description": "The person's gender (International regulations require either \"male\" or \"female\").", + "maxLength": 5000, + "type": "string" + }, + "id_number": { + "description": "The person's ID number, as appropriate for their country. For example, a social security number in the U.S., social insurance number in Canada, etc. Instead of the number itself, you can also provide a [PII token provided by Stripe.js](https://stripe.com/docs/stripe.js#collecting-pii-data).", + "maxLength": 5000, + "type": "string" + }, + "last_name": { + "description": "The person's last name.", + "maxLength": 5000, + "type": "string" + }, + "last_name_kana": { + "description": "The Kana variation of the person's last name (Japan only).", + "maxLength": 5000, + "type": "string" + }, + "last_name_kanji": { + "description": "The Kanji variation of the person's last name (Japan only).", + "maxLength": 5000, + "type": "string" + }, + "maiden_name": { + "description": "The person's maiden name.", + "maxLength": 5000, + "type": "string" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "Set of key-value pairs 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`.", + "type": "object" + }, + "phone": { + "description": "The person's phone number.", + "type": "string" + }, + "relationship": { + "description": "The relationship that this person has with the account's legal entity.", + "properties": { + "account_opener": { + "type": "boolean" + }, + "director": { + "type": "boolean" + }, + "executive": { + "type": "boolean" + }, + "owner": { + "type": "boolean" + }, + "percent_ownership": { + "anyOf": [ + { + "type": "number" + }, + { + "enum": [ + "" + ], + "type": "string" + } + ] + }, + "title": { + "maxLength": 5000, + "type": "string" + } + }, + "title": "relationship_specs", + "type": "object" + }, + "ssn_last_4": { + "description": "The last 4 digits of the person's social security number.", + "type": "string" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/person" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/accounts/{account}/persons": { + "get": { + "description": "\u003Cp\u003EReturns a list of people associated with the account’s legal entity. The people are returned sorted by creation date, with the most recent people appearing first.\u003C/p\u003E", + "operationId": "AllPeople", + "parameters": [ + { + "in": "path", + "name": "account", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + }, + { + "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.", + "in": "query", + "name": "ending_before", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.", + "in": "query", + "name": "limit", + "required": false, + "schema": { + "type": "integer" + }, + "style": "form" + }, + { + "description": "Filters on the list of people returned based on the person's relationship to the account's company.", + "explode": true, + "in": "query", + "name": "relationship", + "required": false, + "schema": { + "properties": { + "account_opener": { + "type": "boolean" + }, + "director": { + "type": "boolean" + }, + "executive": { + "type": "boolean" + }, + "owner": { + "type": "boolean" + } + }, + "title": "all_people_relationship_specs", + "type": "object" + }, + "style": "deepObject" + }, + { + "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.", + "in": "query", + "name": "starting_after", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/person" + }, + "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, + "type": "string" + } + }, + "required": [ + "data", + "has_more", + "object", + "url" + ], + "type": "object", + "x-expandableFields": [ + "data" + ] + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003ECreates a new person.\u003C/p\u003E", + "operationId": "CreatePerson", + "parameters": [ + { + "in": "path", + "name": "account", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "address": { + "explode": true, + "style": "deepObject" + }, + "address_kana": { + "explode": true, + "style": "deepObject" + }, + "address_kanji": { + "explode": true, + "style": "deepObject" + }, + "dob": { + "explode": true, + "style": "deepObject" + }, + "expand": { + "explode": true, + "style": "deepObject" + }, + "metadata": { + "explode": true, + "style": "deepObject" + }, + "relationship": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "address": { + "description": "The person's address.", + "properties": { + "city": { + "maxLength": 100, + "type": "string" + }, + "country": { + "maxLength": 5000, + "type": "string" + }, + "line1": { + "maxLength": 200, + "type": "string" + }, + "line2": { + "maxLength": 200, + "type": "string" + }, + "postal_code": { + "maxLength": 5000, + "type": "string" + }, + "state": { + "maxLength": 5000, + "type": "string" + } + }, + "title": "address_specs", + "type": "object" + }, + "address_kana": { + "description": "The Kana variation of the person's address (Japan only).", + "properties": { + "city": { + "maxLength": 5000, + "type": "string" + }, + "country": { + "maxLength": 5000, + "type": "string" + }, + "line1": { + "maxLength": 5000, + "type": "string" + }, + "line2": { + "maxLength": 5000, + "type": "string" + }, + "postal_code": { + "maxLength": 5000, + "type": "string" + }, + "state": { + "maxLength": 5000, + "type": "string" + }, + "town": { + "maxLength": 5000, + "type": "string" + } + }, + "title": "japan_address_kana_specs", + "type": "object" + }, + "address_kanji": { + "description": "The Kanji variation of the person's address (Japan only).", + "properties": { + "city": { + "maxLength": 5000, + "type": "string" + }, + "country": { + "maxLength": 5000, + "type": "string" + }, + "line1": { + "maxLength": 5000, + "type": "string" + }, + "line2": { + "maxLength": 5000, + "type": "string" + }, + "postal_code": { + "maxLength": 5000, + "type": "string" + }, + "state": { + "maxLength": 5000, + "type": "string" + }, + "town": { + "maxLength": 5000, + "type": "string" + } + }, + "title": "japan_address_kanji_specs", + "type": "object" + }, + "dob": { + "description": "The person's date of birth.", + "properties": { + "day": { + "type": "integer" + }, + "month": { + "type": "integer" + }, + "year": { + "type": "integer" + } + }, + "required": [ + "day", + "month", + "year" + ], + "title": "date_of_birth_specs", + "type": "object" + }, + "email": { + "description": "The person's email address.", + "type": "string" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "first_name": { + "description": "The person's first name.", + "maxLength": 5000, + "type": "string" + }, + "first_name_kana": { + "description": "The Kana variation of the person's first name (Japan only).", + "maxLength": 5000, + "type": "string" + }, + "first_name_kanji": { + "description": "The Kanji variation of the person's first name (Japan only).", + "maxLength": 5000, + "type": "string" + }, + "gender": { + "description": "The person's gender (International regulations require either \"male\" or \"female\").", + "maxLength": 5000, + "type": "string" + }, + "id_number": { + "description": "The person's ID number, as appropriate for their country. For example, a social security number in the U.S., social insurance number in Canada, etc. Instead of the number itself, you can also provide a [PII token provided by Stripe.js](https://stripe.com/docs/stripe.js#collecting-pii-data).", + "maxLength": 5000, + "type": "string" + }, + "last_name": { + "description": "The person's last name.", + "maxLength": 5000, + "type": "string" + }, + "last_name_kana": { + "description": "The Kana variation of the person's last name (Japan only).", + "maxLength": 5000, + "type": "string" + }, + "last_name_kanji": { + "description": "The Kanji variation of the person's last name (Japan only).", + "maxLength": 5000, + "type": "string" + }, + "maiden_name": { + "description": "The person's maiden name.", + "maxLength": 5000, + "type": "string" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "Set of key-value pairs 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`.", + "type": "object" + }, + "phone": { + "description": "The person's phone number.", + "type": "string" + }, + "relationship": { + "description": "The relationship that this person has with the account's legal entity.", + "properties": { + "account_opener": { + "type": "boolean" + }, + "director": { + "type": "boolean" + }, + "executive": { + "type": "boolean" + }, + "owner": { + "type": "boolean" + }, + "percent_ownership": { + "anyOf": [ + { + "type": "number" + }, + { + "enum": [ + "" + ], + "type": "string" + } + ] + }, + "title": { + "maxLength": 5000, + "type": "string" + } + }, + "title": "relationship_specs", + "type": "object" + }, + "ssn_last_4": { + "description": "The last 4 digits of the person's social security number.", + "type": "string" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/person" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/accounts/{account}/persons/{person}": { + "delete": { + "description": "\u003Cp\u003EDeletes an existing person’s relationship to the account’s legal entity.\u003C/p\u003E", + "operationId": "DeletePerson", + "parameters": [ + { + "in": "path", + "name": "account", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + }, + { + "description": "The ID of the person to be deleted.", + "in": "path", + "name": "person", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/deleted_person" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "get": { + "description": "\u003Cp\u003ERetrieves an existing person.\u003C/p\u003E", + "operationId": "RetrievePerson", + "parameters": [ + { + "in": "path", + "name": "account", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "The ID of a person to retrieve.", + "in": "path", + "name": "person", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/person" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003EUpdates an existing person.\u003C/p\u003E", + "operationId": "UpdatePerson", + "parameters": [ + { + "in": "path", + "name": "account", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + }, + { + "description": "The ID of a person to update.", + "in": "path", + "name": "person", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "address": { + "explode": true, + "style": "deepObject" + }, + "address_kana": { + "explode": true, + "style": "deepObject" + }, + "address_kanji": { + "explode": true, + "style": "deepObject" + }, + "dob": { + "explode": true, + "style": "deepObject" + }, + "expand": { + "explode": true, + "style": "deepObject" + }, + "metadata": { + "explode": true, + "style": "deepObject" + }, + "relationship": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "address": { + "description": "The person's address.", + "properties": { + "city": { + "maxLength": 100, + "type": "string" + }, + "country": { + "maxLength": 5000, + "type": "string" + }, + "line1": { + "maxLength": 200, + "type": "string" + }, + "line2": { + "maxLength": 200, + "type": "string" + }, + "postal_code": { + "maxLength": 5000, + "type": "string" + }, + "state": { + "maxLength": 5000, + "type": "string" + } + }, + "title": "address_specs", + "type": "object" + }, + "address_kana": { + "description": "The Kana variation of the person's address (Japan only).", + "properties": { + "city": { + "maxLength": 5000, + "type": "string" + }, + "country": { + "maxLength": 5000, + "type": "string" + }, + "line1": { + "maxLength": 5000, + "type": "string" + }, + "line2": { + "maxLength": 5000, + "type": "string" + }, + "postal_code": { + "maxLength": 5000, + "type": "string" + }, + "state": { + "maxLength": 5000, + "type": "string" + }, + "town": { + "maxLength": 5000, + "type": "string" + } + }, + "title": "japan_address_kana_specs", + "type": "object" + }, + "address_kanji": { + "description": "The Kanji variation of the person's address (Japan only).", + "properties": { + "city": { + "maxLength": 5000, + "type": "string" + }, + "country": { + "maxLength": 5000, + "type": "string" + }, + "line1": { + "maxLength": 5000, + "type": "string" + }, + "line2": { + "maxLength": 5000, + "type": "string" + }, + "postal_code": { + "maxLength": 5000, + "type": "string" + }, + "state": { + "maxLength": 5000, + "type": "string" + }, + "town": { + "maxLength": 5000, + "type": "string" + } + }, + "title": "japan_address_kanji_specs", + "type": "object" + }, + "dob": { + "description": "The person's date of birth.", + "properties": { + "day": { + "type": "integer" + }, + "month": { + "type": "integer" + }, + "year": { + "type": "integer" + } + }, + "required": [ + "day", + "month", + "year" + ], + "title": "date_of_birth_specs", + "type": "object" + }, + "email": { + "description": "The person's email address.", + "type": "string" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "first_name": { + "description": "The person's first name.", + "maxLength": 5000, + "type": "string" + }, + "first_name_kana": { + "description": "The Kana variation of the person's first name (Japan only).", + "maxLength": 5000, + "type": "string" + }, + "first_name_kanji": { + "description": "The Kanji variation of the person's first name (Japan only).", + "maxLength": 5000, + "type": "string" + }, + "gender": { + "description": "The person's gender (International regulations require either \"male\" or \"female\").", + "maxLength": 5000, + "type": "string" + }, + "id_number": { + "description": "The person's ID number, as appropriate for their country. For example, a social security number in the U.S., social insurance number in Canada, etc. Instead of the number itself, you can also provide a [PII token provided by Stripe.js](https://stripe.com/docs/stripe.js#collecting-pii-data).", + "maxLength": 5000, + "type": "string" + }, + "last_name": { + "description": "The person's last name.", + "maxLength": 5000, + "type": "string" + }, + "last_name_kana": { + "description": "The Kana variation of the person's last name (Japan only).", + "maxLength": 5000, + "type": "string" + }, + "last_name_kanji": { + "description": "The Kanji variation of the person's last name (Japan only).", + "maxLength": 5000, + "type": "string" + }, + "maiden_name": { + "description": "The person's maiden name.", + "maxLength": 5000, + "type": "string" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "Set of key-value pairs 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`.", + "type": "object" + }, + "phone": { + "description": "The person's phone number.", + "type": "string" + }, + "relationship": { + "description": "The relationship that this person has with the account's legal entity.", + "properties": { + "account_opener": { + "type": "boolean" + }, + "director": { + "type": "boolean" + }, + "executive": { + "type": "boolean" + }, + "owner": { + "type": "boolean" + }, + "percent_ownership": { + "anyOf": [ + { + "type": "number" + }, + { + "enum": [ + "" + ], + "type": "string" + } + ] + }, + "title": { + "maxLength": 5000, + "type": "string" + } + }, + "title": "relationship_specs", + "type": "object" + }, + "ssn_last_4": { + "description": "The last 4 digits of the person's social security number.", + "type": "string" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/person" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/accounts/{account}/reject": { + "post": { + "description": "\u003Cp\u003EWith \u003Ca href=\"/docs/connect\"\u003EConnect\u003C/a\u003E, you may flag accounts as suspicious.\u003C/p\u003E\n\n\u003Cp\u003ETest-mode Custom and Express accounts can be rejected at any time. Accounts created using live-mode keys may only be rejected once all balances are zero.\u003C/p\u003E", + "operationId": "AccountReject", + "parameters": [ + { + "description": "The identifier of the account to reject", + "in": "path", + "name": "account", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "reason": { + "description": "The reason for rejecting the account. Can be `fraud`, `terms_of_service`, or `other`.", + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "reason" + ], + "type": "object" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/account" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/apple_pay/domains": { + "get": { + "description": "\u003Cp\u003EList apple pay domains.\u003C/p\u003E", + "operationId": "AllApplePayDomains", + "parameters": [ + { + "in": "query", + "name": "domain_name", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "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.", + "in": "query", + "name": "ending_before", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.", + "in": "query", + "name": "limit", + "required": false, + "schema": { + "type": "integer" + }, + "style": "form" + }, + { + "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.", + "in": "query", + "name": "starting_after", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/apple_pay_domain" + }, + "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/apple_pay/domains", + "type": "string" + } + }, + "required": [ + "data", + "has_more", + "object", + "url" + ], + "title": "ApplePayDomainList", + "type": "object", + "x-expandableFields": [ + "data" + ] + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003ECreate an apple pay domain.\u003C/p\u003E", + "operationId": "CreateApplePayDomain", + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "domain_name": { + "type": "string" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "domain_name" + ], + "type": "object" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/apple_pay_domain" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/apple_pay/domains/{domain}": { + "delete": { + "description": "\u003Cp\u003EDelete an apple pay domain.\u003C/p\u003E", + "operationId": "DeleteApplePayDomain", + "parameters": [ + { + "in": "path", + "name": "domain", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/deleted_apple_pay_domain" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "get": { + "description": "\u003Cp\u003ERetrieve an apple pay domain.\u003C/p\u003E", + "operationId": "RetrieveApplePayDomain", + "parameters": [ + { + "in": "path", + "name": "domain", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/apple_pay_domain" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/application_fees": { + "get": { + "description": "\u003Cp\u003EReturns a list of application fees you’ve previously collected. The application fees are returned in sorted order, with the most recent fees appearing first.\u003C/p\u003E", + "operationId": "AllPlatformEarnings", + "parameters": [ + { + "description": "Only return application fees for the charge specified by this charge ID.", + "in": "query", + "name": "charge", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "explode": true, + "in": "query", + "name": "created", + "required": false, + "schema": { + "anyOf": [ + { + "properties": { + "gt": { + "type": "integer" + }, + "gte": { + "type": "integer" + }, + "lt": { + "type": "integer" + }, + "lte": { + "type": "integer" + } + }, + "title": "range_query_specs", + "type": "object" + }, + { + "type": "integer" + } + ] + }, + "style": "deepObject" + }, + { + "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.", + "in": "query", + "name": "ending_before", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.", + "in": "query", + "name": "limit", + "required": false, + "schema": { + "type": "integer" + }, + "style": "form" + }, + { + "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.", + "in": "query", + "name": "starting_after", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/application_fee" + }, + "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/application_fees", + "type": "string" + } + }, + "required": [ + "data", + "has_more", + "object", + "url" + ], + "type": "object", + "x-expandableFields": [ + "data" + ] + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/application_fees/{fee}/refunds/{id}": { + "get": { + "description": "\u003Cp\u003EBy default, you can see the 10 most recent refunds stored directly on the application fee object, but you can also retrieve details about a specific refund stored on the application fee.\u003C/p\u003E", + "operationId": "RetrievePlatformEarningRefund", + "parameters": [ + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "ID of the application fee refunded.", + "in": "path", + "name": "fee", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + }, + { + "description": "ID of refund to retrieve.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/fee_refund" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003EUpdates the specified application fee refund by setting the values of the parameters passed. Any parameters not provided will be left unchanged.\u003C/p\u003E\n\n\u003Cp\u003EThis request only accepts metadata as an argument.\u003C/p\u003E", + "operationId": "UpdatePlatformEarningRefund", + "parameters": [ + { + "description": "ID of the application fee refunded.", + "in": "path", + "name": "fee", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + }, + { + "description": "ID of refund to retrieve.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + }, + "metadata": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "Set of key-value pairs 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`.", + "type": "object" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/fee_refund" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/application_fees/{id}": { + "get": { + "description": "\u003Cp\u003ERetrieves the details of an application fee that your account has collected. The same information is returned when refunding the application fee.\u003C/p\u003E", + "operationId": "RetrievePlatformEarning", + "parameters": [ + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "The identifier of the fee to be retrieved.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/application_fee" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/application_fees/{id}/refund": { + "post": { + "description": "", + "operationId": "DeprecatedCreateRefundPlatformEarning", + "parameters": [ + { + "in": "path", + "name": "id", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "amount": { + "type": "integer" + }, + "directive": { + "maxLength": 5000, + "type": "string" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/application_fee" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/application_fees/{id}/refunds": { + "get": { + "description": "\u003Cp\u003EYou can see a list of the refunds belonging to a specific application fee. Note that the 10 most recent refunds are always available by default on the application fee object. If you need more than those 10, you can use this API method and the \u003Ccode\u003Elimit\u003C/code\u003E and \u003Ccode\u003Estarting_after\u003C/code\u003E parameters to page through additional refunds.\u003C/p\u003E", + "operationId": "AllPlatformEarningsRefunds", + "parameters": [ + { + "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.", + "in": "query", + "name": "ending_before", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "The ID of the application fee whose refunds will be retrieved.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + }, + { + "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.", + "in": "query", + "name": "limit", + "required": false, + "schema": { + "type": "integer" + }, + "style": "form" + }, + { + "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.", + "in": "query", + "name": "starting_after", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/fee_refund" + }, + "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, + "type": "string" + } + }, + "required": [ + "data", + "has_more", + "object", + "url" + ], + "title": "FeeRefundList", + "type": "object", + "x-expandableFields": [ + "data" + ] + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003ERefunds an application fee that has previously been collected but not yet refunded.\nFunds will be refunded to the Stripe account from which the fee was originally collected.\u003C/p\u003E\n\n\u003Cp\u003EYou can optionally refund only part of an application fee.\nYou can do so multiple times, until the entire fee has been refunded.\u003C/p\u003E\n\n\u003Cp\u003EOnce entirely refunded, an application fee can’t be refunded again.\nThis method will raise an error when called on an already-refunded application fee,\nor when trying to refund more money than is left on an application fee.\u003C/p\u003E", + "operationId": "CreatePlatformEarningRefund", + "parameters": [ + { + "description": "The identifier of the application fee to be refunded.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + }, + "metadata": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "amount": { + "description": "A positive integer, in _%s_, representing how much of this fee to refund. Can refund only up to the remaining unrefunded amount of the fee.", + "type": "integer" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "Set of key-value pairs 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`.", + "type": "object" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/fee_refund" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/balance": { + "get": { + "description": "\u003Cp\u003ERetrieves the current account balance, based on the authentication that was used to make the request.\u003C/p\u003E", + "operationId": "BalanceRetrieve", + "parameters": [ + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/balance" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/balance/history": { + "get": { + "description": "\u003Cp\u003EReturns a list of transactions that have contributed to the Stripe account balance (e.g., charges, transfers, and so forth). The transactions are returned in sorted order, with the most recent transactions appearing first.\u003C/p\u003E", + "operationId": "AllBalanceTransactions", + "parameters": [ + { + "explode": true, + "in": "query", + "name": "available_on", + "required": false, + "schema": { + "anyOf": [ + { + "properties": { + "gt": { + "type": "integer" + }, + "gte": { + "type": "integer" + }, + "lt": { + "type": "integer" + }, + "lte": { + "type": "integer" + } + }, + "title": "range_query_specs", + "type": "object" + }, + { + "type": "integer" + } + ] + }, + "style": "deepObject" + }, + { + "explode": true, + "in": "query", + "name": "created", + "required": false, + "schema": { + "anyOf": [ + { + "properties": { + "gt": { + "type": "integer" + }, + "gte": { + "type": "integer" + }, + "lt": { + "type": "integer" + }, + "lte": { + "type": "integer" + } + }, + "title": "range_query_specs", + "type": "object" + }, + { + "type": "integer" + } + ] + }, + "style": "deepObject" + }, + { + "in": "query", + "name": "currency", + "required": false, + "schema": { + "type": "string" + }, + "style": "form" + }, + { + "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.", + "in": "query", + "name": "ending_before", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.", + "in": "query", + "name": "limit", + "required": false, + "schema": { + "type": "integer" + }, + "style": "form" + }, + { + "description": "For automatic Stripe payouts only, only returns transactions that were paid out on the specified payout ID.", + "in": "query", + "name": "payout", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "Only returns the original transaction.", + "in": "query", + "name": "source", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "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.", + "in": "query", + "name": "starting_after", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "Only returns transactions of the given type. One of: `charge`, `refund`, `adjustment`, `application_fee`, `application_fee_refund`, `transfer`, `payment`, `payout`, `payout_failure`, `stripe_fee`, or `network_cost`.", + "in": "query", + "name": "type", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/balance_transaction" + }, + "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/balance/history", + "type": "string" + } + }, + "required": [ + "data", + "has_more", + "object", + "url" + ], + "title": "BalanceTransactionsList", + "type": "object", + "x-expandableFields": [ + "data" + ] + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/balance/history/{id}": { + "get": { + "description": "\u003Cp\u003ERetrieves the balance transaction with the given ID.\u003C/p\u003E", + "operationId": "RetrieveBalanceTransaction", + "parameters": [ + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "The ID of the desired balance transaction, as found on any API object that affects the balance (e.g., a charge or transfer).", + "in": "path", + "name": "id", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/balance_transaction" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/bitcoin/receivers": { + "get": { + "deprecated": true, + "description": "\u003Cp\u003EReturns a list of your receivers. Receivers are returned sorted by creation date, with the most recently created receivers appearing first.\u003C/p\u003E", + "operationId": "BitcoinAllReceivers", + "parameters": [ + { + "description": "Filter for active receivers.", + "in": "query", + "name": "active", + "required": false, + "schema": { + "type": "boolean" + }, + "style": "form" + }, + { + "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.", + "in": "query", + "name": "ending_before", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "Filter for filled receivers.", + "in": "query", + "name": "filled", + "required": false, + "schema": { + "type": "boolean" + }, + "style": "form" + }, + { + "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.", + "in": "query", + "name": "limit", + "required": false, + "schema": { + "type": "integer" + }, + "style": "form" + }, + { + "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.", + "in": "query", + "name": "starting_after", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "Filter for receivers with uncaptured funds.", + "in": "query", + "name": "uncaptured_funds", + "required": false, + "schema": { + "type": "boolean" + }, + "style": "form" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/bitcoin_receiver" + }, + "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/bitcoin/receivers", + "type": "string" + } + }, + "required": [ + "data", + "has_more", + "object", + "url" + ], + "type": "object", + "x-expandableFields": [ + "data" + ] + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/bitcoin/receivers/{id}": { + "get": { + "deprecated": true, + "description": "\u003Cp\u003ERetrieves the Bitcoin receiver with the given ID.\u003C/p\u003E", + "operationId": "BitcoinRetrieveReceiver", + "parameters": [ + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "in": "path", + "name": "id", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/bitcoin_receiver" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/bitcoin/receivers/{receiver}/transactions": { + "get": { + "deprecated": true, + "description": "\u003Cp\u003EList bitcoin transacitons for a given receiver.\u003C/p\u003E", + "operationId": "BitcoinAllTransactions", + "parameters": [ + { + "description": "Only return transactions for the customer specified by this customer ID.", + "in": "query", + "name": "customer", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "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.", + "in": "query", + "name": "ending_before", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.", + "in": "query", + "name": "limit", + "required": false, + "schema": { + "type": "integer" + }, + "style": "form" + }, + { + "description": "Only return transactions for the receiver specified by this receiver ID.", + "in": "path", + "name": "receiver", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + }, + { + "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.", + "in": "query", + "name": "starting_after", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/bitcoin_transaction" + }, + "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, + "type": "string" + } + }, + "required": [ + "data", + "has_more", + "object", + "url" + ], + "title": "BitcoinTransactionList", + "type": "object", + "x-expandableFields": [ + "data" + ] + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/bitcoin/transactions": { + "get": { + "deprecated": true, + "description": "\u003Cp\u003EList bitcoin transacitons for a given receiver.\u003C/p\u003E", + "operationId": "BitcoinAllTransactions", + "parameters": [ + { + "description": "Only return transactions for the customer specified by this customer ID.", + "in": "query", + "name": "customer", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "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.", + "in": "query", + "name": "ending_before", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.", + "in": "query", + "name": "limit", + "required": false, + "schema": { + "type": "integer" + }, + "style": "form" + }, + { + "description": "Only return transactions for the receiver specified by this receiver ID.", + "in": "query", + "name": "receiver", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "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.", + "in": "query", + "name": "starting_after", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/bitcoin_transaction" + }, + "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, + "type": "string" + } + }, + "required": [ + "data", + "has_more", + "object", + "url" + ], + "title": "BitcoinTransactionList", + "type": "object", + "x-expandableFields": [ + "data" + ] + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/charges": { + "get": { + "description": "\u003Cp\u003EReturns a list of charges you’ve previously created. The charges are returned in sorted order, with the most recent charges appearing first.\u003C/p\u003E", + "operationId": "AllCharges", + "parameters": [ + { + "explode": true, + "in": "query", + "name": "created", + "required": false, + "schema": { + "anyOf": [ + { + "properties": { + "gt": { + "type": "integer" + }, + "gte": { + "type": "integer" + }, + "lt": { + "type": "integer" + }, + "lte": { + "type": "integer" + } + }, + "title": "range_query_specs", + "type": "object" + }, + { + "type": "integer" + } + ] + }, + "style": "deepObject" + }, + { + "description": "Only return charges for the customer specified by this customer ID.", + "in": "query", + "name": "customer", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "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.", + "in": "query", + "name": "ending_before", + "required": false, + "schema": { + "type": "string" + }, + "style": "form" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.", + "in": "query", + "name": "limit", + "required": false, + "schema": { + "type": "integer" + }, + "style": "form" + }, + { + "description": "A filter on the list, based on the source of the charge. The value can be a dictionary with the following options:", + "explode": true, + "in": "query", + "name": "source", + "required": false, + "schema": { + "properties": { + "object": { + "maxLength": 5000, + "type": "string" + } + }, + "title": "source_param", + "type": "object" + }, + "style": "deepObject" + }, + { + "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.", + "in": "query", + "name": "starting_after", + "required": false, + "schema": { + "type": "string" + }, + "style": "form" + }, + { + "description": "Only return charges for this transfer group.", + "in": "query", + "name": "transfer_group", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/charge" + }, + "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/charges", + "type": "string" + } + }, + "required": [ + "data", + "has_more", + "object", + "url" + ], + "type": "object", + "x-expandableFields": [ + "data" + ] + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003ETo charge a credit card or other payment source, you create a \u003Ccode\u003ECharge\u003C/code\u003E object. If your API key is in test mode, the supplied payment source (e.g., card) won’t actually be charged, although everything else will occur as if in live mode. (Stripe assumes that the charge would have completed successfully).\u003C/p\u003E", + "operationId": "CreateCharge", + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "card": { + "explode": true, + "style": "deepObject" + }, + "destination": { + "explode": true, + "style": "deepObject" + }, + "expand": { + "explode": true, + "style": "deepObject" + }, + "metadata": { + "explode": true, + "style": "deepObject" + }, + "shipping": { + "explode": true, + "style": "deepObject" + }, + "source": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "amount": { + "description": "A positive integer representing how much to charge, in the [smallest currency unit](/docs/currencies#zero-decimal) (e.g., `100` cents to charge $1.00, or `100` to charge ¥100, a zero-decimal currency). The minimum amount is $0.50 USD or [equivalent in charge currency](/docs/currencies#minimum-and-maximum-charge-amounts).", + "type": "integer" + }, + "application_fee": { + "description": "A fee in %s that will be applied to the charge and transferred to the application owner's Stripe account. The request must be made with an OAuth key or the `Stripe-Account` header in order to take an application fee. For more information, see the application fees [documentation](/docs/connect/direct-charges#collecting-fees).", + "type": "integer" + }, + "application_fee_amount": { + "type": "integer" + }, + "capture": { + "description": "Whether to immediately capture the charge. Defaults to `true`. When `false`, the charge issues an authorization (or pre-authorization), and will need to be [captured](#capture_charge) later. Uncaptured charges expire in _seven days_. For more information, see the [authorizing charges and settling later](/docs/charges#auth-and-capture) documentation.", + "type": "boolean" + }, + "card": { + "anyOf": [ + { + "type": "object" + }, + { + "maxLength": 5000, + "type": "string" + }, + { + "properties": { + "emv_auth_data": { + "maxLength": 5000, + "type": "string" + }, + "encrypted_pin": { + "maxLength": 5000, + "type": "string" + }, + "encrypted_pin_key_id": { + "maxLength": 5000, + "type": "string" + }, + "object": { + "maxLength": 5000, + "type": "string" + }, + "processing_method": { + "enum": [ + "quick_chip", + "traditional" + ], + "maxLength": 5000, + "type": "string" + }, + "read_method": { + "enum": [ + "contact", + "contact_emv", + "contactless", + "contactless_emv", + "contactless_magstripe_mode", + "insert", + "keyed", + "magnetic_stripe_fallback", + "magnetic_stripe_track2", + "swipe" + ], + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "emv_auth_data" + ], + "title": "card_emv_auth_params", + "type": "object" + } + ], + "description": "A token, like the ones returned by [Stripe.js](https://stripe.com/docs/stripe.js)." + }, + "currency": { + "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).", + "type": "string" + }, + "customer": { + "description": "The ID of an existing customer that will be charged in this request.", + "maxLength": 500, + "type": "string" + }, + "description": { + "description": "An arbitrary string which you can attach to a `Charge` object. It is displayed when in the web interface alongside the charge. Note that if you use Stripe to send automatic email receipts to your customers, your receipt emails will include the `description` of the charge(s) that they are describing.", + "maxLength": 40000, + "type": "string" + }, + "destination": { + "anyOf": [ + { + "properties": { + "account": { + "maxLength": 5000, + "type": "string" + }, + "amount": { + "type": "integer" + } + }, + "required": [ + "account" + ], + "title": "destination_specs", + "type": "object" + }, + { + "type": "string" + } + ], + "description": "If specified, the charge will be attributed to the destination account for tax reporting, and the funds from the charge will be transferred to the destination account. The ID of the resulting transfer will be returned in the response's `transfer` field. For details, see [Creating Destination Charges on Your Platform](/docs/connect/destination-charges)." + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.", + "type": "object" + }, + "on_behalf_of": { + "description": "The Stripe account ID for which these funds are intended. Automatically set if you use the `destination` parameter. For details, see [Creating Separate Charges and Transfers](/docs/connect/charges-transfers#on-behalf-of).", + "maxLength": 5000, + "type": "string" + }, + "receipt_email": { + "description": "The email address to which this charge's [receipt](/docs/dashboard/receipts) will be sent. The receipt will not be sent until the charge is paid, and no receipts will be sent for test mode charges. If this charge is for a [Customer](/docs/api/customers/object), the email address specified here will override the customer's email address. If `receipt_email` is specified for a charge in live mode, a receipt will be sent regardless of your [email settings](https://dashboard.stripe.com/account/emails).", + "type": "string" + }, + "shipping": { + "description": "Shipping information for the charge. Helps prevent fraud on charges for physical goods.", + "properties": { + "address": { + "properties": { + "city": { + "maxLength": 5000, + "type": "string" + }, + "country": { + "maxLength": 5000, + "type": "string" + }, + "line1": { + "maxLength": 5000, + "type": "string" + }, + "line2": { + "maxLength": 5000, + "type": "string" + }, + "postal_code": { + "maxLength": 5000, + "type": "string" + }, + "state": { + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "line1" + ], + "title": "address", + "type": "object" + }, + "carrier": { + "maxLength": 5000, + "type": "string" + }, + "name": { + "maxLength": 5000, + "type": "string" + }, + "phone": { + "maxLength": 5000, + "type": "string" + }, + "tracking_number": { + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "address", + "name" + ], + "title": "shipping", + "type": "object" + }, + "source": { + "anyOf": [ + { + "type": "object" + }, + { + "maxLength": 5000, + "type": "string" + }, + { + "properties": { + "emv_auth_data": { + "maxLength": 5000, + "type": "string" + }, + "encrypted_pin": { + "maxLength": 5000, + "type": "string" + }, + "encrypted_pin_key_id": { + "maxLength": 5000, + "type": "string" + }, + "object": { + "maxLength": 5000, + "type": "string" + }, + "processing_method": { + "enum": [ + "quick_chip", + "traditional" + ], + "maxLength": 5000, + "type": "string" + }, + "read_method": { + "enum": [ + "contact", + "contact_emv", + "contactless", + "contactless_emv", + "contactless_magstripe_mode", + "insert", + "keyed", + "magnetic_stripe_fallback", + "magnetic_stripe_track2", + "swipe" + ], + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "emv_auth_data" + ], + "title": "card_emv_auth_params", + "type": "object" + } + ], + "description": "A payment source to be charged. This can be the ID of a [card](/docs/api#cards) (i.e., credit or debit card), a [bank account](/docs/api#bank_accounts), a [source](/docs/api#sources), a [token](/docs/api#tokens), or a [connected account](/docs/connect/account-debits#charging-a-connected-account). For certain sources---namely, [cards](/docs/api#cards), [bank accounts](/docs/api#bank_accounts), and attached [sources](/docs/api#sources)---you must also pass the ID of the associated customer." + }, + "statement_descriptor": { + "description": "An arbitrary string to be displayed on your customer's credit card statement. This can be up to _22 characters_. As an example, if your website is `RunClub` and the item you're charging for is a race ticket, you might want to specify a `statement_descriptor` of `RunClub 5K race ticket`. The statement description must contain at least one letter, must not contain `\u003C\u003E\"'` characters, and will appear on your customer's statement in capital letters. Non-ASCII characters are automatically stripped. While most banks and card issuers display this information consistently, some might display it incorrectly or not at all.", + "maxLength": 22, + "type": "string" + }, + "transfer_group": { + "description": "A string that identifies this transaction as part of a group. For details, see [Grouping transactions](/docs/connect/charges-transfers#grouping-transactions).", + "type": "string" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/charge" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/charges/{charge}": { + "get": { + "description": "\u003Cp\u003ERetrieves the details of a charge that has previously been created. Supply the unique charge ID that was returned from your previous request, and Stripe will return the corresponding charge information. The same information is returned when creating or refunding the charge.\u003C/p\u003E", + "operationId": "RetrieveCharge", + "parameters": [ + { + "description": "The identifier of the charge to be retrieved.", + "in": "path", + "name": "charge", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/charge" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003EUpdates the specified charge by setting the values of the parameters passed. Any parameters not provided will be left unchanged.\u003C/p\u003E", + "operationId": "UpdateCharge", + "parameters": [ + { + "in": "path", + "name": "charge", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + }, + "fraud_details": { + "explode": true, + "style": "deepObject" + }, + "metadata": { + "explode": true, + "style": "deepObject" + }, + "shipping": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "customer": { + "description": "The ID of an existing customer that will be associated with this request. This field may only be updated if there is no existing associated customer with this charge.", + "maxLength": 5000, + "type": "string" + }, + "description": { + "description": "An arbitrary string which you can attach to a charge object. It is displayed when in the web interface alongside the charge. Note that if you use Stripe to send automatic email receipts to your customers, your receipt emails will include the `description` of the charge(s) that they are describing.", + "maxLength": 40000, + "type": "string" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "fraud_details": { + "description": "A set of key/value pairs you can attach to a charge giving information about its riskiness. If you believe a charge is fraudulent, include a `user_report` key with a value of `fraudulent`. If you believe a charge is safe, include a `user_report` key with a value of `safe`. Note that you must refund a charge before setting the `user_report` to `fraudulent`. Stripe will use the information you send to improve our fraud detection algorithms.", + "properties": { + "user_report": { + "enum": [ + "fraudulent", + "safe" + ], + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "user_report" + ], + "title": "fraud_details", + "type": "object" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "Set of key-value pairs 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`.", + "type": "object" + }, + "receipt_email": { + "description": "This is the email address that the receipt for this charge will be sent to. If this field is updated, then a new email receipt will be sent to the updated address.", + "maxLength": 5000, + "type": "string" + }, + "shipping": { + "description": "Shipping information for the charge. Helps prevent fraud on charges for physical goods.", + "properties": { + "address": { + "properties": { + "city": { + "maxLength": 5000, + "type": "string" + }, + "country": { + "maxLength": 5000, + "type": "string" + }, + "line1": { + "maxLength": 5000, + "type": "string" + }, + "line2": { + "maxLength": 5000, + "type": "string" + }, + "postal_code": { + "maxLength": 5000, + "type": "string" + }, + "state": { + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "line1" + ], + "title": "address", + "type": "object" + }, + "carrier": { + "maxLength": 5000, + "type": "string" + }, + "name": { + "maxLength": 5000, + "type": "string" + }, + "phone": { + "maxLength": 5000, + "type": "string" + }, + "tracking_number": { + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "address", + "name" + ], + "title": "shipping", + "type": "object" + }, + "transfer_group": { + "description": "A string that identifies this transaction as part of a group. `transfer_group` may only be provided if it has not been set. See the [Connect documentation](/docs/connect/charges-transfers#grouping-transactions) for details.", + "type": "string" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/charge" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/charges/{charge}/capture": { + "post": { + "description": "\u003Cp\u003ECapture the payment of an existing, uncaptured, charge. This is the second half of the two-step payment flow, where first you \u003Ca href=\"#create_charge\"\u003Ecreated a charge\u003C/a\u003E with the capture option set to false.\u003C/p\u003E\n\n\u003Cp\u003EUncaptured payments expire exactly seven days after they are created. If they are not captured by that point in time, they will be marked as refunded and will no longer be capturable.\u003C/p\u003E", + "operationId": "ChargeCapture", + "parameters": [ + { + "in": "path", + "name": "charge", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "destination": { + "explode": true, + "style": "deepObject" + }, + "expand": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "amount": { + "description": "The amount to capture, which must be less than or equal to the original amount. Any additional amount will be automatically refunded.", + "type": "integer" + }, + "application_fee": { + "description": "An application fee to add on to this charge. Can only be used with Stripe Connect.", + "type": "integer" + }, + "destination": { + "description": "An optional dictionary containing a new destination amount to use. Can only be used with destination charges created with Stripe Connect.", + "properties": { + "amount": { + "type": "integer" + } + }, + "title": "destination_specs", + "type": "object" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "receipt_email": { + "description": "The email address to send this charge's receipt to. This will override the previously-specified email address for this charge, if one was set. Receipts will not be sent in test mode.", + "type": "string" + }, + "statement_descriptor": { + "description": "An arbitrary string to be displayed on your customer's credit card statement. This may be up to *22 characters*. As an example, if your website is `RunClub` and the item you're charging for is a race ticket, you may want to specify a `statement_descriptor` of `RunClub 5K race ticket`. The statement description must contain at least one letter, may not include `\u003C\u003E\"'` characters, and will appear on your customer's statement in capital letters. Non-ASCII characters are automatically stripped. Updating this value will overwrite the previous statement descriptor of this charge. While most banks display this information consistently, some may display it incorrectly or not at all.", + "maxLength": 22, + "type": "string" + }, + "transfer_group": { + "description": "A string that identifies this transaction as part of a group. `transfer_group` may only be provided if it has not been set. See the [Connect documentation](/docs/connect/charges-transfers#grouping-transactions) for details.", + "type": "string" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/charge" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/charges/{charge}/dispute": { + "get": { + "description": "\u003Cp\u003ERetrieve a dispute for a specified charge.\u003C/p\u003E", + "operationId": "RetrieveChargeDispute", + "parameters": [ + { + "in": "path", + "name": "charge", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/dispute" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "", + "operationId": "UpdateChargeDispute", + "parameters": [ + { + "in": "path", + "name": "charge", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "evidence": { + "explode": true, + "style": "deepObject" + }, + "expand": { + "explode": true, + "style": "deepObject" + }, + "metadata": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "evidence": { + "description": "Evidence to upload, to respond to a dispute. Updating any field in the hash will submit all fields in the hash for review. The combined character count of all fields is limited to 150,000.", + "properties": { + "access_activity_log": { + "maxLength": 20000, + "type": "string" + }, + "billing_address": { + "maxLength": 5000, + "type": "string" + }, + "cancellation_policy": { + "type": "string" + }, + "cancellation_policy_disclosure": { + "maxLength": 20000, + "type": "string" + }, + "cancellation_rebuttal": { + "maxLength": 20000, + "type": "string" + }, + "customer_communication": { + "type": "string" + }, + "customer_email_address": { + "maxLength": 5000, + "type": "string" + }, + "customer_name": { + "maxLength": 5000, + "type": "string" + }, + "customer_purchase_ip": { + "maxLength": 5000, + "type": "string" + }, + "customer_signature": { + "type": "string" + }, + "duplicate_charge_documentation": { + "type": "string" + }, + "duplicate_charge_explanation": { + "maxLength": 20000, + "type": "string" + }, + "duplicate_charge_id": { + "maxLength": 5000, + "type": "string" + }, + "product_description": { + "maxLength": 20000, + "type": "string" + }, + "receipt": { + "type": "string" + }, + "refund_policy": { + "type": "string" + }, + "refund_policy_disclosure": { + "maxLength": 20000, + "type": "string" + }, + "refund_refusal_explanation": { + "maxLength": 20000, + "type": "string" + }, + "service_date": { + "maxLength": 5000, + "type": "string" + }, + "service_documentation": { + "type": "string" + }, + "shipping_address": { + "maxLength": 5000, + "type": "string" + }, + "shipping_carrier": { + "maxLength": 5000, + "type": "string" + }, + "shipping_date": { + "maxLength": 5000, + "type": "string" + }, + "shipping_documentation": { + "type": "string" + }, + "shipping_tracking_number": { + "maxLength": 5000, + "type": "string" + }, + "uncategorized_file": { + "type": "string" + }, + "uncategorized_text": { + "maxLength": 20000, + "type": "string" + } + }, + "title": "dispute_evidence_params", + "type": "object" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "A set of key-value pairs that you can attach to a dispute object. This can be useful for storing additional information about the dispute in a structured format.", + "type": "object" + }, + "submit": { + "description": "Whether to immediately submit evidence to the bank. If `false`, evidence is staged on the dispute. Staged evidence is visible in the API and Dashboard, and can be submitted to the bank by making another request with this attribute set to `true` (the default).", + "type": "boolean" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/dispute" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/charges/{charge}/dispute/close": { + "post": { + "description": "", + "operationId": "CloseChargeDispute", + "parameters": [ + { + "in": "path", + "name": "charge", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/dispute" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/charges/{charge}/refund": { + "post": { + "description": "\u003Cp\u003EWhen you create a new refund, you must specify a charge on which to create it.\u003C/p\u003E\n\n\u003Cp\u003ECreating a new refund will refund a charge that has previously been created but not yet refunded.\nFunds will be refunded to the credit or debit card that was originally charged.\u003C/p\u003E\n\n\u003Cp\u003EYou can optionally refund only part of a charge.\nYou can do so multiple times, until the entire charge has been refunded.\u003C/p\u003E\n\n\u003Cp\u003EOnce entirely refunded, a charge can’t be refunded again.\nThis method will raise an error when called on an already-refunded charge,\nor when trying to refund more money than is left on a charge.\u003C/p\u003E", + "operationId": "ChargeRefund", + "parameters": [ + { + "in": "path", + "name": "charge", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "directive": { + "explode": true, + "style": "deepObject" + }, + "expand": { + "explode": true, + "style": "deepObject" + }, + "metadata": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "amount": { + "type": "integer" + }, + "description": { + "maxLength": 5000, + "type": "string" + }, + "directive": { + "anyOf": [ + { + "enum": [ + "risk_refund" + ], + "maxLength": 5000, + "type": "string" + }, + { + "maxLength": 5000, + "type": "string" + } + ] + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "reason": { + "enum": [ + "duplicate", + "fraudulent", + "requested_by_customer" + ], + "maxLength": 5000, + "type": "string" + }, + "refund_application_fee": { + "type": "boolean" + }, + "reverse_transfer": { + "type": "boolean" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/charge" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/charges/{charge}/refunds": { + "get": { + "description": "\u003Cp\u003EYou can see a list of the refunds belonging to a specific charge. Note that the 10 most recent refunds are always available by default on the charge object. If you need more than those 10, you can use this API method and the \u003Ccode\u003Elimit\u003C/code\u003E and \u003Ccode\u003Estarting_after\u003C/code\u003E parameters to page through additional refunds.\u003C/p\u003E", + "operationId": "AllChargeRefunds", + "parameters": [ + { + "description": "The ID of the charge whose refunds will be retrieved.", + "in": "path", + "name": "charge", + "required": true, + "schema": { + "type": "string" + }, + "style": "simple" + }, + { + "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.", + "in": "query", + "name": "ending_before", + "required": false, + "schema": { + "type": "string" + }, + "style": "form" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.", + "in": "query", + "name": "limit", + "required": false, + "schema": { + "type": "integer" + }, + "style": "form" + }, + { + "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.", + "in": "query", + "name": "starting_after", + "required": false, + "schema": { + "type": "string" + }, + "style": "form" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/refund" + }, + "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, + "type": "string" + } + }, + "required": [ + "data", + "has_more", + "object", + "url" + ], + "title": "RefundList", + "type": "object", + "x-expandableFields": [ + "data" + ] + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003ECreate a refund.\u003C/p\u003E", + "operationId": "UnifiedPaymentsCreateRefund", + "parameters": [ + { + "in": "path", + "name": "charge", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "directive": { + "explode": true, + "style": "deepObject" + }, + "expand": { + "explode": true, + "style": "deepObject" + }, + "metadata": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "amount": { + "type": "integer" + }, + "description": { + "maxLength": 5000, + "type": "string" + }, + "directive": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "enum": [ + "risk_refund" + ], + "maxLength": 5000, + "type": "string" + } + ] + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "reason": { + "enum": [ + "duplicate", + "fraudulent", + "requested_by_customer" + ], + "maxLength": 5000, + "type": "string" + }, + "refund_application_fee": { + "type": "boolean" + }, + "reverse_transfer": { + "type": "boolean" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/refund" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/charges/{charge}/refunds/{refund}": { + "get": { + "description": "\u003Cp\u003ERetrieves the details of an existing refund.\u003C/p\u003E", + "operationId": "RetrieveChargeRefund", + "parameters": [ + { + "in": "path", + "name": "charge", + "required": true, + "schema": { + "type": "string" + }, + "style": "simple" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "in": "path", + "name": "refund", + "required": true, + "schema": { + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/refund" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003EUpdate a specified refund.\u003C/p\u003E", + "operationId": "UpdateChargeRefund", + "parameters": [ + { + "in": "path", + "name": "charge", + "required": true, + "schema": { + "type": "string" + }, + "style": "simple" + }, + { + "in": "path", + "name": "refund", + "required": true, + "schema": { + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + }, + "metadata": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/refund" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/checkout_sessions": { + "post": { + "description": "\u003Cp\u003ECreates a CheckoutSession object.\u003C/p\u003E", + "operationId": "PaymentPagesCheckoutSessionCreate", + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "allowed_source_types": { + "explode": true, + "style": "deepObject" + }, + "expand": { + "explode": true, + "style": "deepObject" + }, + "line_items": { + "explode": true, + "style": "deepObject" + }, + "payment_intent_data": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "allowed_source_types": { + "description": "The list of source types (e.g. card) that this CheckoutSession is allowed to use.", + "items": { + "enum": [ + "card" + ], + "type": "string" + }, + "type": "array" + }, + "cancel_url": { + "description": "The URL the customer will be directed to if they decide to go back to your website.", + "maxLength": 5000, + "type": "string" + }, + "client_reference_id": { + "description": "The reference to identify a payment made with Checkout. This reference will be echoed back in Checkout webhooks.", + "maxLength": 200, + "type": "string" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "line_items": { + "description": "A list of items your customer is purchasing", + "items": { + "properties": { + "amount": { + "type": "integer" + }, + "currency": { + "type": "string" + }, + "description": { + "maxLength": 5000, + "type": "string" + }, + "images": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "name": { + "maxLength": 5000, + "type": "string" + }, + "quantity": { + "type": "integer" + } + }, + "required": [ + "amount", + "currency", + "name", + "quantity" + ], + "title": "line_item_params", + "type": "object" + }, + "type": "array" + }, + "payment_intent_data": { + "description": "A subset of parameters to be passed to payment intent creation", + "properties": { + "description": { + "maxLength": 1000, + "type": "string" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "receipt_email": { + "maxLength": 5000, + "type": "string" + }, + "shipping": { + "properties": { + "address": { + "properties": { + "city": { + "maxLength": 5000, + "type": "string" + }, + "country": { + "maxLength": 5000, + "type": "string" + }, + "line1": { + "maxLength": 5000, + "type": "string" + }, + "line2": { + "maxLength": 5000, + "type": "string" + }, + "postal_code": { + "maxLength": 5000, + "type": "string" + }, + "state": { + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "line1" + ], + "title": "address", + "type": "object" + }, + "carrier": { + "maxLength": 5000, + "type": "string" + }, + "name": { + "maxLength": 5000, + "type": "string" + }, + "phone": { + "maxLength": 5000, + "type": "string" + }, + "tracking_number": { + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "address", + "name" + ], + "title": "shipping", + "type": "object" + }, + "statement_descriptor": { + "maxLength": 22, + "type": "string" + } + }, + "title": "payment_intent_data_params", + "type": "object" + }, + "success_url": { + "description": "The URL the customer will be directed to after a successful payment.", + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "allowed_source_types", + "cancel_url", + "line_items", + "success_url" + ], + "type": "object" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/checkout_session" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/country_specs": { + "get": { + "description": "\u003Cp\u003ELists all Country Spec objects available in the API.\u003C/p\u003E", + "operationId": "AllCountrySpecs", + "parameters": [ + { + "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.", + "in": "query", + "name": "ending_before", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.", + "in": "query", + "name": "limit", + "required": false, + "schema": { + "type": "integer" + }, + "style": "form" + }, + { + "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.", + "in": "query", + "name": "starting_after", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/country_spec" + }, + "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/country_specs", + "type": "string" + } + }, + "required": [ + "data", + "has_more", + "object", + "url" + ], + "type": "object", + "x-expandableFields": [ + "data" + ] + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/country_specs/{country}": { + "get": { + "description": "\u003Cp\u003EReturns a Country Spec for a given Country code.\u003C/p\u003E", + "operationId": "RetrieveCountrySpec", + "parameters": [ + { + "description": "An ISO 3166-1 alpha-2 country code. Available country codes can be listed with the [List Country Specs](/docs/api#list_country_specs) endpoint.", + "in": "path", + "name": "country", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/country_spec" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/coupons": { + "get": { + "description": "\u003Cp\u003EReturns a list of your coupons.\u003C/p\u003E", + "operationId": "AllCoupons", + "parameters": [ + { + "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.", + "explode": true, + "in": "query", + "name": "created", + "required": false, + "schema": { + "anyOf": [ + { + "properties": { + "gt": { + "type": "integer" + }, + "gte": { + "type": "integer" + }, + "lt": { + "type": "integer" + }, + "lte": { + "type": "integer" + } + }, + "title": "range_query_specs", + "type": "object" + }, + { + "type": "integer" + } + ] + }, + "style": "deepObject" + }, + { + "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.", + "in": "query", + "name": "ending_before", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.", + "in": "query", + "name": "limit", + "required": false, + "schema": { + "type": "integer" + }, + "style": "form" + }, + { + "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.", + "in": "query", + "name": "starting_after", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/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" + ], + "type": "object", + "x-expandableFields": [ + "data" + ] + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003EYou can create coupons easily via the \u003Ca href=\"https://dashboard.stripe.com/coupons\"\u003Ecoupon management\u003C/a\u003E page of the Stripe dashboard. Coupon creation is also accessible via the API if you need to create coupons on the fly.\u003C/p\u003E\n\n\u003Cp\u003EA coupon has either a \u003Ccode\u003Epercent_off\u003C/code\u003E or an \u003Ccode\u003Eamount_off\u003C/code\u003E and \u003Ccode\u003Ecurrency\u003C/code\u003E. If you set an \u003Ccode\u003Eamount_off\u003C/code\u003E, that amount will be subtracted from any invoice’s subtotal. For example, an invoice with a subtotal of \u003Ccurrency\u003E100\u003C/currency\u003E will have a final total of \u003Ccurrency\u003E0\u003C/currency\u003E if a coupon with an \u003Ccode\u003Eamount_off\u003C/code\u003E of \u003Camount\u003E200\u003C/amount\u003E is applied to it and an invoice with a subtotal of \u003Ccurrency\u003E300\u003C/currency\u003E will have a final total of \u003Ccurrency\u003E100\u003C/currency\u003E if a coupon with an \u003Ccode\u003Eamount_off\u003C/code\u003E of \u003Camount\u003E200\u003C/amount\u003E is applied to it.\u003C/p\u003E", + "operationId": "CreateCoupon", + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + }, + "metadata": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "amount_off": { + "description": "A positive integer representing the amount to subtract from an invoice total (required if `percent_off` is not passed).", + "type": "integer" + }, + "currency": { + "description": "Three-letter [ISO code for the currency](https://stripe.com/docs/currencies) of the `amount_off` parameter (required if `amount_off` is passed).", + "type": "string" + }, + "duration": { + "description": "Specifies how long the discount will be in effect. Can be `forever`, `once`, or `repeating`.", + "enum": [ + "forever", + "once", + "repeating" + ], + "maxLength": 5000, + "type": "string" + }, + "duration_in_months": { + "description": "Required only if `duration` is `repeating`, in which case it must be a positive integer that specifies the number of months the discount will be in effect.", + "type": "integer" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "id": { + "description": "Unique string of your choice that will be used to identify this coupon when applying it to a customer. This is often a specific code you'll give to your customer to use when signing up (e.g., `FALL25OFF`). If you don't want to specify a particular code, you can leave the ID blank and we'll generate a random code for you.", + "maxLength": 5000, + "type": "string" + }, + "max_redemptions": { + "description": "A positive integer specifying the number of times the coupon can be redeemed before it's no longer valid. For example, you might have a 50% off coupon that the first 20 readers of your blog can use.", + "type": "integer" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "A set of key/value pairs that you can attach to a coupon object. It can be useful for storing additional information about the coupon in a structured format.", + "type": "object" + }, + "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" + }, + "percent_off": { + "description": "A positive float larger than 0, and smaller or equal to 100, that represents the discount the coupon will apply (required if `amount_off` is not passed).", + "type": "number" + }, + "redeem_by": { + "description": "Unix timestamp specifying the last time at which the coupon can be redeemed. After the redeem_by date, the coupon can no longer be applied to new customers.", + "format": "unix-time", + "type": "integer" + } + }, + "required": [ + "duration" + ], + "type": "object" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/coupon" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/coupons/{coupon}": { + "delete": { + "description": "\u003Cp\u003EYou can delete coupons via the \u003Ca href=\"https://dashboard.stripe.com/coupons\"\u003Ecoupon management\u003C/a\u003E page of the Stripe dashboard. However, deleting a coupon does not affect any customers who have already applied the coupon; it means that new customers can’t redeem the coupon. You can also delete coupons via the API.\u003C/p\u003E", + "operationId": "DeleteCoupon", + "parameters": [ + { + "description": "The identifier of the coupon to be deleted.", + "in": "path", + "name": "coupon", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/deleted_coupon" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "get": { + "description": "\u003Cp\u003ERetrieves the coupon with the given ID.\u003C/p\u003E", + "operationId": "RetrieveCoupon", + "parameters": [ + { + "description": "The ID of the desired coupon.", + "in": "path", + "name": "coupon", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/coupon" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003EUpdates the metadata of a coupon. Other coupon details (currency, duration, amount_off) are, by design, not editable.\u003C/p\u003E", + "operationId": "UpdateCoupon", + "parameters": [ + { + "description": "The identifier of the coupon to be updated.", + "in": "path", + "name": "coupon", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + }, + "metadata": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "A set of key/value pairs that you can attach to a coupon object. It can be useful for storing additional information about the coupon in a structured format.", + "type": "object" + }, + "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" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/coupon" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/customers": { + "get": { + "description": "\u003Cp\u003EReturns a list of your customers. The customers are returned sorted by creation date, with the most recent customers appearing first.\u003C/p\u003E", + "operationId": "AllCustomers", + "parameters": [ + { + "explode": true, + "in": "query", + "name": "created", + "required": false, + "schema": { + "anyOf": [ + { + "properties": { + "gt": { + "type": "integer" + }, + "gte": { + "type": "integer" + }, + "lt": { + "type": "integer" + }, + "lte": { + "type": "integer" + } + }, + "title": "range_query_specs", + "type": "object" + }, + { + "type": "integer" + } + ] + }, + "style": "deepObject" + }, + { + "description": "A filter on the list based on the customer's `email` field. The value must be a string.", + "in": "query", + "name": "email", + "required": false, + "schema": { + "maxLength": 512, + "type": "string" + }, + "style": "form" + }, + { + "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.", + "in": "query", + "name": "ending_before", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.", + "in": "query", + "name": "limit", + "required": false, + "schema": { + "type": "integer" + }, + "style": "form" + }, + { + "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.", + "in": "query", + "name": "starting_after", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/customer" + }, + "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/customers", + "type": "string" + } + }, + "required": [ + "data", + "has_more", + "object", + "url" + ], + "type": "object", + "x-expandableFields": [ + "data" + ] + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003ECreates a new customer object.\u003C/p\u003E", + "operationId": "CustomerCreate", + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + }, + "metadata": { + "explode": true, + "style": "deepObject" + }, + "shipping": { + "explode": true, + "style": "deepObject" + }, + "source": { + "explode": true, + "style": "deepObject" + }, + "tax_info": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "account_balance": { + "description": "An integer amount in %s that represents the account balance for your customer. Account balances only affect invoices. A negative amount represents a credit that decreases the amount due on an invoice; a positive amount increases the amount due on an invoice.", + "type": "integer" + }, + "coupon": { + "maxLength": 5000, + "type": "string" + }, + "customer": { + "maxLength": 5000, + "type": "string" + }, + "default_source": { + "description": "ID of the source to make the customer's new default.", + "maxLength": 500, + "type": "string" + }, + "description": { + "description": "An arbitrary string that you can attach to a customer object. It is displayed alongside the customer in the dashboard.", + "maxLength": 5000, + "type": "string" + }, + "email": { + "description": "Customer's email address. It's displayed alongside the customer in your dashboard and can be useful for searching and tracking. This may be up to *512 characters*.", + "maxLength": 512, + "type": "string" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "id": { + "description": "A custom ID to use for the customer", + "maxLength": 5000, + "type": "string" + }, + "invoice_prefix": { + "description": "The prefix for the customer used to generate unique invoice numbers. Must be 3–12 uppercase letters or numbers.", + "maxLength": 5000, + "type": "string" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "A set of key/value pairs that you can attach to a customer object. It can be useful for storing additional information about the customer in a structured format.", + "type": "object" + }, + "shipping": { + "properties": { + "address": { + "properties": { + "city": { + "maxLength": 5000, + "type": "string" + }, + "country": { + "maxLength": 5000, + "type": "string" + }, + "line1": { + "maxLength": 5000, + "type": "string" + }, + "line2": { + "maxLength": 5000, + "type": "string" + }, + "postal_code": { + "maxLength": 5000, + "type": "string" + }, + "state": { + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "line1" + ], + "title": "address", + "type": "object" + }, + "name": { + "maxLength": 5000, + "type": "string" + }, + "phone": { + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "address", + "name" + ], + "title": "customer_shipping", + "type": "object" + }, + "source": { + "anyOf": [ + { + "type": "object" + }, + { + "maxLength": 5000, + "type": "string" + } + ] + }, + "tax_info": { + "description": "The customer's tax information. Appears on invoices emailed to this customer.", + "properties": { + "tax_id": { + "maxLength": 5000, + "type": "string" + }, + "type": { + "enum": [ + "vat" + ], + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "tax_id", + "type" + ], + "title": "tax_info_param", + "type": "object" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/customer" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/customers/{customer}": { + "delete": { + "description": "\u003Cp\u003EPermanently deletes a customer. It cannot be undone. Also immediately cancels any active subscriptions on the customer.\u003C/p\u003E", + "operationId": "DeleteCustomer", + "parameters": [ + { + "description": "The identifier of the customer to be deleted.", + "in": "path", + "name": "customer", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/deleted_customer" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "get": { + "description": "\u003Cp\u003ERetrieves the details of an existing customer. You need only supply the unique customer identifier that was returned upon customer creation.\u003C/p\u003E", + "operationId": "RetrieveCustomer", + "parameters": [ + { + "description": "The identifier of the customer to be retrieved.", + "in": "path", + "name": "customer", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "anyOf": [ + { + "$ref": "#/components/schemas/customer" + }, + { + "$ref": "#/components/schemas/deleted_customer" + } + ] + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003EUpdates the specified customer by setting the values of the parameters passed. Any parameters not provided will be left unchanged. For example, if you pass the \u003Cstrong\u003Esource\u003C/strong\u003E parameter, that becomes the customer’s active source (e.g., a card) to be used for all charges in the future. When you update a customer to a new valid source: for each of the customer’s current subscriptions, if the subscription bills automatically and is in the \u003Ccode\u003Epast_due\u003C/code\u003E state, then the latest unpaid, unclosed invoice for the subscription will be retried (note that this retry will not count as an automatic retry, and will not affect the next regularly scheduled payment for the invoice). (Note also that no invoices pertaining to subscriptions in the \u003Ccode\u003Eunpaid\u003C/code\u003E state, or invoices pertaining to canceled subscriptions, will be retried as a result of updating the customer’s source.)\u003C/p\u003E\n\n\u003Cp\u003EThis request accepts mostly the same arguments as the customer creation call.\u003C/p\u003E", + "operationId": "CustomerUpdate", + "parameters": [ + { + "description": "The identifier of the customer to subscribe.", + "in": "path", + "name": "customer", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "bank_account": { + "explode": true, + "style": "deepObject" + }, + "card": { + "explode": true, + "style": "deepObject" + }, + "expand": { + "explode": true, + "style": "deepObject" + }, + "metadata": { + "explode": true, + "style": "deepObject" + }, + "shipping": { + "explode": true, + "style": "deepObject" + }, + "source": { + "explode": true, + "style": "deepObject" + }, + "tax_info": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "account_balance": { + "description": "An integer amount in %s that represents the account balance for your customer. Account balances only affect invoices. A negative amount represents a credit that decreases the amount due on an invoice; a positive amount increases the amount due on an invoice.", + "type": "integer" + }, + "bank_account": { + "anyOf": [ + { + "type": "object" + }, + { + "maxLength": 5000, + "type": "string" + } + ], + "description": "Either a token, like the ones returned by [Stripe.js](https://stripe.com/docs/stripe.js), or a dictionary containing a user's bank account details." + }, + "card": { + "anyOf": [ + { + "type": "object" + }, + { + "maxLength": 5000, + "type": "string" + } + ], + "description": "A token, like the ones returned by [Stripe.js](https://stripe.com/docs/stripe.js)." + }, + "coupon": { + "maxLength": 5000, + "type": "string" + }, + "default_alipay_account": { + "description": "ID of Alipay account to make the customer's new default for invoice payments.", + "maxLength": 500, + "type": "string" + }, + "default_bank_account": { + "description": "ID of bank account to make the customer's new default for invoice payments.", + "maxLength": 500, + "type": "string" + }, + "default_card": { + "description": "ID of card to make the customer's new default for invoice payments.", + "maxLength": 500, + "type": "string" + }, + "default_source": { + "description": "ID of the source to make the customer's new default.", + "maxLength": 500, + "type": "string" + }, + "description": { + "description": "An arbitrary string that you can attach to a customer object. It is displayed alongside the customer in the dashboard.", + "maxLength": 5000, + "type": "string" + }, + "email": { + "description": "Customer's email address. It's displayed alongside the customer in your dashboard and can be useful for searching and tracking. This may be up to *512 characters*.", + "maxLength": 512, + "type": "string" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "invoice_prefix": { + "description": "The prefix for the customer used to generate unique invoice numbers. Must be 3–12 uppercase letters or numbers.", + "maxLength": 5000, + "type": "string" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "A set of key/value pairs that you can attach to a customer object. It can be useful for storing additional information about the customer in a structured format.", + "type": "object" + }, + "shipping": { + "properties": { + "address": { + "properties": { + "city": { + "maxLength": 5000, + "type": "string" + }, + "country": { + "maxLength": 5000, + "type": "string" + }, + "line1": { + "maxLength": 5000, + "type": "string" + }, + "line2": { + "maxLength": 5000, + "type": "string" + }, + "postal_code": { + "maxLength": 5000, + "type": "string" + }, + "state": { + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "line1" + ], + "title": "address", + "type": "object" + }, + "name": { + "maxLength": 5000, + "type": "string" + }, + "phone": { + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "address", + "name" + ], + "title": "customer_shipping", + "type": "object" + }, + "source": { + "anyOf": [ + { + "type": "object" + }, + { + "maxLength": 5000, + "type": "string" + } + ] + }, + "tax_info": { + "description": "The customer's tax information. Appears on invoices emailed to this customer.", + "properties": { + "tax_id": { + "maxLength": 5000, + "type": "string" + }, + "type": { + "enum": [ + "vat" + ], + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "tax_id", + "type" + ], + "title": "tax_info_param", + "type": "object" + }, + "trial_end": { + "description": "Unix timestamp representing the end of the trial period the customer will get before being charged for the first time. This will always overwrite any trials that might apply via a subscribed plan. If set, trial_end will override the default trial period of the plan the customer is being subscribed to. The special value `now` can be provided to end the customer's trial immediately.", + "maxLength": 5000, + "type": "string" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/customer" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/customers/{customer}/bank_accounts": { + "get": { + "deprecated": true, + "description": "\u003Cp\u003EYou can see a list of the bank accounts belonging to a Customer. Note that the 10 most recent sources are always available by default on the Customer. If you need more than those 10, you can use this API method and the \u003Ccode\u003Elimit\u003C/code\u003E and \u003Ccode\u003Estarting_after\u003C/code\u003E parameters to page through additional bank accounts.\u003C/p\u003E", + "operationId": "AllCustomerBankAccounts", + "parameters": [ + { + "description": "The ID of the customer whose bank accounts will be retrieved.", + "in": "path", + "name": "customer", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + }, + { + "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.", + "in": "query", + "name": "ending_before", + "required": false, + "schema": { + "type": "string" + }, + "style": "form" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.", + "in": "query", + "name": "limit", + "required": false, + "schema": { + "type": "integer" + }, + "style": "form" + }, + { + "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.", + "in": "query", + "name": "starting_after", + "required": false, + "schema": { + "type": "string" + }, + "style": "form" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/bank_account" + }, + "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, + "type": "string" + } + }, + "required": [ + "data", + "has_more", + "object", + "url" + ], + "title": "BankAccountList", + "type": "object", + "x-expandableFields": [ + "data" + ] + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003EWhen you create a new credit card, you must specify a customer or recipient on which to create it.\u003C/p\u003E\n\n\u003Cp\u003EIf the card’s owner has no default card, then the new card will become the default.\nHowever, if the owner already has a default, then it will not change.\nTo change the default, you should either \u003Ca href=\"/docs/api#update_customer\"\u003Eupdate the customer\u003C/a\u003E to have a new \u003Ccode\u003Edefault_source\u003C/code\u003E,\nor \u003Ca href=\"/docs/api#update_recipient\"\u003Eupdate the recipient\u003C/a\u003E to have a new \u003Ccode\u003Edefault_card\u003C/code\u003E.\u003C/p\u003E", + "operationId": "CreateCustomerSource", + "parameters": [ + { + "in": "path", + "name": "customer", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "alipay_account": { + "explode": true, + "style": "deepObject" + }, + "bank_account": { + "explode": true, + "style": "deepObject" + }, + "card": { + "explode": true, + "style": "deepObject" + }, + "expand": { + "explode": true, + "style": "deepObject" + }, + "metadata": { + "explode": true, + "style": "deepObject" + }, + "source": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "alipay_account": { + "anyOf": [ + { + "type": "object" + }, + { + "maxLength": 5000, + "type": "string" + } + ], + "description": "A token returned by [Stripe.js](https://stripe.com/docs/stripe.js) representing the user’s Alipay account details." + }, + "bank_account": { + "anyOf": [ + { + "type": "object" + }, + { + "maxLength": 5000, + "type": "string" + } + ], + "description": "Either a token, like the ones returned by [Stripe.js](https://stripe.com/docs/stripe.js), or a dictionary containing a user's bank account details." + }, + "card": { + "anyOf": [ + { + "type": "object" + }, + { + "maxLength": 5000, + "type": "string" + } + ], + "description": "A token, like the ones returned by [Stripe.js](https://stripe.com/docs/stripe.js)." + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "A set of key/value pairs that you can attach to a card object. It can be useful for storing additional information about the card in a structured format.", + "type": "object" + }, + "source": { + "anyOf": [ + { + "type": "object" + }, + { + "maxLength": 5000, + "type": "string" + } + ], + "description": "This string to be replaced by DocSpecGenerator." + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/payment_source" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/customers/{customer}/bank_accounts/{id}": { + "delete": { + "description": "\u003Cp\u003EDelete a specified source for a given customer.\u003C/p\u003E", + "operationId": "DeleteCustomerSource", + "parameters": [ + { + "in": "path", + "name": "customer", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + }, + { + "description": "The ID of the source to be deleted.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "anyOf": [ + { + "$ref": "#/components/schemas/payment_source" + }, + { + "$ref": "#/components/schemas/deleted_payment_source" + } + ] + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "get": { + "deprecated": true, + "description": "\u003Cp\u003EBy default, you can see the 10 most recent sources stored on a Customer directly on the object, but you can also retrieve details about a specific bank account stored on the Stripe account.\u003C/p\u003E", + "operationId": "RetrieveCustomerBankAccount", + "parameters": [ + { + "in": "path", + "name": "customer", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "ID of bank account to retrieve.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/bank_account" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003EUpdate a specified source for a given customer.\u003C/p\u003E", + "operationId": "UpdateCustomerSource", + "parameters": [ + { + "in": "path", + "name": "customer", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + }, + { + "in": "path", + "name": "id", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + }, + "metadata": { + "explode": true, + "style": "deepObject" + }, + "owner": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "account_holder_name": { + "description": "The name of the person or business that owns the bank account.", + "maxLength": 5000, + "type": "string" + }, + "account_holder_type": { + "description": "The type of entity that holds the account. This can be either `individual` or `company`.", + "enum": [ + "company", + "individual" + ], + "maxLength": 5000, + "type": "string" + }, + "address_city": { + "description": "City/District/Suburb/Town/Village.", + "maxLength": 5000, + "type": "string" + }, + "address_country": { + "description": "Billing address country, if provided when creating card.", + "maxLength": 5000, + "type": "string" + }, + "address_line1": { + "description": "Address line 1 (Street address/PO Box/Company name).", + "maxLength": 5000, + "type": "string" + }, + "address_line2": { + "description": "Address line 2 (Apartment/Suite/Unit/Building).", + "maxLength": 5000, + "type": "string" + }, + "address_state": { + "description": "State/County/Province/Region.", + "maxLength": 5000, + "type": "string" + }, + "address_zip": { + "description": "ZIP or postal code.", + "maxLength": 5000, + "type": "string" + }, + "exp_month": { + "description": "Two digit number representing the card’s expiration month.", + "maxLength": 5000, + "type": "string" + }, + "exp_year": { + "description": "Four digit number representing the card’s expiration year.", + "maxLength": 5000, + "type": "string" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "name": { + "description": "Cardholder name.", + "maxLength": 5000, + "type": "string" + }, + "owner": { + "properties": { + "address": { + "properties": { + "city": { + "maxLength": 5000, + "type": "string" + }, + "country": { + "maxLength": 5000, + "type": "string" + }, + "line1": { + "maxLength": 5000, + "type": "string" + }, + "line2": { + "maxLength": 5000, + "type": "string" + }, + "postal_code": { + "maxLength": 5000, + "type": "string" + }, + "state": { + "maxLength": 5000, + "type": "string" + } + }, + "title": "source_address", + "type": "object" + }, + "email": { + "type": "string" + }, + "name": { + "maxLength": 5000, + "type": "string" + }, + "phone": { + "maxLength": 5000, + "type": "string" + } + }, + "title": "owner", + "type": "object" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "anyOf": [ + { + "$ref": "#/components/schemas/card" + }, + { + "$ref": "#/components/schemas/bank_account" + }, + { + "$ref": "#/components/schemas/source" + } + ] + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/customers/{customer}/bank_accounts/{id}/verify": { + "post": { + "description": "\u003Cp\u003EVerify a specified bank account for a given customer.\u003C/p\u003E", + "operationId": "VerifyCustomerSource", + "parameters": [ + { + "in": "path", + "name": "customer", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + }, + { + "description": "The ID of the source to be verified.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "amounts": { + "explode": true, + "style": "deepObject" + }, + "expand": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "amounts": { + "description": "Two positive integers, in *cents*, equal to the values of the microdeposits sent to the bank account.", + "items": { + "type": "integer" + }, + "type": "array" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "verification_method": { + "maxLength": 5000, + "type": "string" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/bank_account" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/customers/{customer}/cards": { + "get": { + "deprecated": true, + "description": "\u003Cp\u003EYou can see a list of the cards belonging to a customer.\nNote that the 10 most recent sources are always available on the \u003Ccode\u003ECustomer\u003C/code\u003E object.\nIf you need more than those 10, you can use this API method and the \u003Ccode\u003Elimit\u003C/code\u003E and \u003Ccode\u003Estarting_after\u003C/code\u003E parameters to page through additional cards.\u003C/p\u003E", + "operationId": "AllCustomerCards", + "parameters": [ + { + "description": "The ID of the customer whose cards will be retrieved.", + "in": "path", + "name": "customer", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + }, + { + "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.", + "in": "query", + "name": "ending_before", + "required": false, + "schema": { + "type": "string" + }, + "style": "form" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.", + "in": "query", + "name": "limit", + "required": false, + "schema": { + "type": "integer" + }, + "style": "form" + }, + { + "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.", + "in": "query", + "name": "starting_after", + "required": false, + "schema": { + "type": "string" + }, + "style": "form" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/card" + }, + "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, + "type": "string" + } + }, + "required": [ + "data", + "has_more", + "object", + "url" + ], + "title": "CardList", + "type": "object", + "x-expandableFields": [ + "data" + ] + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003EWhen you create a new credit card, you must specify a customer or recipient on which to create it.\u003C/p\u003E\n\n\u003Cp\u003EIf the card’s owner has no default card, then the new card will become the default.\nHowever, if the owner already has a default, then it will not change.\nTo change the default, you should either \u003Ca href=\"/docs/api#update_customer\"\u003Eupdate the customer\u003C/a\u003E to have a new \u003Ccode\u003Edefault_source\u003C/code\u003E,\nor \u003Ca href=\"/docs/api#update_recipient\"\u003Eupdate the recipient\u003C/a\u003E to have a new \u003Ccode\u003Edefault_card\u003C/code\u003E.\u003C/p\u003E", + "operationId": "CreateCustomerSource", + "parameters": [ + { + "in": "path", + "name": "customer", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "alipay_account": { + "explode": true, + "style": "deepObject" + }, + "bank_account": { + "explode": true, + "style": "deepObject" + }, + "card": { + "explode": true, + "style": "deepObject" + }, + "expand": { + "explode": true, + "style": "deepObject" + }, + "metadata": { + "explode": true, + "style": "deepObject" + }, + "source": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "alipay_account": { + "anyOf": [ + { + "type": "object" + }, + { + "maxLength": 5000, + "type": "string" + } + ], + "description": "A token returned by [Stripe.js](https://stripe.com/docs/stripe.js) representing the user’s Alipay account details." + }, + "bank_account": { + "anyOf": [ + { + "type": "object" + }, + { + "maxLength": 5000, + "type": "string" + } + ], + "description": "Either a token, like the ones returned by [Stripe.js](https://stripe.com/docs/stripe.js), or a dictionary containing a user's bank account details." + }, + "card": { + "anyOf": [ + { + "type": "object" + }, + { + "maxLength": 5000, + "type": "string" + } + ], + "description": "A token, like the ones returned by [Stripe.js](https://stripe.com/docs/stripe.js)." + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "A set of key/value pairs that you can attach to a card object. It can be useful for storing additional information about the card in a structured format.", + "type": "object" + }, + "source": { + "anyOf": [ + { + "type": "object" + }, + { + "maxLength": 5000, + "type": "string" + } + ], + "description": "This string to be replaced by DocSpecGenerator." + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/payment_source" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/customers/{customer}/cards/{id}": { + "delete": { + "description": "\u003Cp\u003EDelete a specified source for a given customer.\u003C/p\u003E", + "operationId": "DeleteCustomerSource", + "parameters": [ + { + "in": "path", + "name": "customer", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + }, + { + "description": "The ID of the source to be deleted.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "anyOf": [ + { + "$ref": "#/components/schemas/payment_source" + }, + { + "$ref": "#/components/schemas/deleted_payment_source" + } + ] + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "get": { + "deprecated": true, + "description": "\u003Cp\u003EYou can always see the 10 most recent cards directly on a customer; this method lets you retrieve details about a specific card stored on the customer.\u003C/p\u003E", + "operationId": "RetrieveCustomerCard", + "parameters": [ + { + "in": "path", + "name": "customer", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "The ID of the card to be retrieved.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/card" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003EUpdate a specified source for a given customer.\u003C/p\u003E", + "operationId": "UpdateCustomerSource", + "parameters": [ + { + "in": "path", + "name": "customer", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + }, + { + "in": "path", + "name": "id", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + }, + "metadata": { + "explode": true, + "style": "deepObject" + }, + "owner": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "account_holder_name": { + "description": "The name of the person or business that owns the bank account.", + "maxLength": 5000, + "type": "string" + }, + "account_holder_type": { + "description": "The type of entity that holds the account. This can be either `individual` or `company`.", + "enum": [ + "company", + "individual" + ], + "maxLength": 5000, + "type": "string" + }, + "address_city": { + "description": "City/District/Suburb/Town/Village.", + "maxLength": 5000, + "type": "string" + }, + "address_country": { + "description": "Billing address country, if provided when creating card.", + "maxLength": 5000, + "type": "string" + }, + "address_line1": { + "description": "Address line 1 (Street address/PO Box/Company name).", + "maxLength": 5000, + "type": "string" + }, + "address_line2": { + "description": "Address line 2 (Apartment/Suite/Unit/Building).", + "maxLength": 5000, + "type": "string" + }, + "address_state": { + "description": "State/County/Province/Region.", + "maxLength": 5000, + "type": "string" + }, + "address_zip": { + "description": "ZIP or postal code.", + "maxLength": 5000, + "type": "string" + }, + "exp_month": { + "description": "Two digit number representing the card’s expiration month.", + "maxLength": 5000, + "type": "string" + }, + "exp_year": { + "description": "Four digit number representing the card’s expiration year.", + "maxLength": 5000, + "type": "string" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "name": { + "description": "Cardholder name.", + "maxLength": 5000, + "type": "string" + }, + "owner": { + "properties": { + "address": { + "properties": { + "city": { + "maxLength": 5000, + "type": "string" + }, + "country": { + "maxLength": 5000, + "type": "string" + }, + "line1": { + "maxLength": 5000, + "type": "string" + }, + "line2": { + "maxLength": 5000, + "type": "string" + }, + "postal_code": { + "maxLength": 5000, + "type": "string" + }, + "state": { + "maxLength": 5000, + "type": "string" + } + }, + "title": "source_address", + "type": "object" + }, + "email": { + "type": "string" + }, + "name": { + "maxLength": 5000, + "type": "string" + }, + "phone": { + "maxLength": 5000, + "type": "string" + } + }, + "title": "owner", + "type": "object" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "anyOf": [ + { + "$ref": "#/components/schemas/card" + }, + { + "$ref": "#/components/schemas/bank_account" + }, + { + "$ref": "#/components/schemas/source" + } + ] + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/customers/{customer}/discount": { + "delete": { + "description": "\u003Cp\u003ERemoves the currently applied discount on a customer.\u003C/p\u003E", + "operationId": "DeleteCustomerDiscount", + "parameters": [ + { + "in": "path", + "name": "customer", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/deleted_discount" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "get": { + "description": "", + "operationId": "RetrieveCustomerDiscount", + "parameters": [ + { + "in": "path", + "name": "customer", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/discount" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/customers/{customer}/sources": { + "get": { + "description": "\u003Cp\u003EList sources for a specified customer.\u003C/p\u003E", + "operationId": "AllCustomerSources", + "parameters": [ + { + "description": "The ID of the customer whose sources will be retrieved.", + "in": "path", + "name": "customer", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + }, + { + "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.", + "in": "query", + "name": "ending_before", + "required": false, + "schema": { + "type": "string" + }, + "style": "form" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.", + "in": "query", + "name": "limit", + "required": false, + "schema": { + "type": "integer" + }, + "style": "form" + }, + { + "description": "Filter sources according to a particular object type.", + "in": "query", + "name": "object", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "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.", + "in": "query", + "name": "starting_after", + "required": false, + "schema": { + "type": "string" + }, + "style": "form" + }, + { + "in": "query", + "name": "type", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "description": "The list contains all payment sources that have been attached to the customer.", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/alipay_account" + }, + { + "$ref": "#/components/schemas/bank_account" + }, + { + "$ref": "#/components/schemas/bitcoin_receiver" + }, + { + "$ref": "#/components/schemas/card" + }, + { + "$ref": "#/components/schemas/source" + } + ], + "title": "Polymorphic" + }, + "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, + "type": "string" + } + }, + "required": [ + "data", + "has_more", + "object", + "url" + ], + "title": "ApmsSourcesSourceList", + "type": "object", + "x-expandableFields": [ + "data" + ] + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003EWhen you create a new credit card, you must specify a customer or recipient on which to create it.\u003C/p\u003E\n\n\u003Cp\u003EIf the card’s owner has no default card, then the new card will become the default.\nHowever, if the owner already has a default, then it will not change.\nTo change the default, you should either \u003Ca href=\"/docs/api#update_customer\"\u003Eupdate the customer\u003C/a\u003E to have a new \u003Ccode\u003Edefault_source\u003C/code\u003E,\nor \u003Ca href=\"/docs/api#update_recipient\"\u003Eupdate the recipient\u003C/a\u003E to have a new \u003Ccode\u003Edefault_card\u003C/code\u003E.\u003C/p\u003E", + "operationId": "CreateCustomerSource", + "parameters": [ + { + "in": "path", + "name": "customer", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "alipay_account": { + "explode": true, + "style": "deepObject" + }, + "bank_account": { + "explode": true, + "style": "deepObject" + }, + "card": { + "explode": true, + "style": "deepObject" + }, + "expand": { + "explode": true, + "style": "deepObject" + }, + "metadata": { + "explode": true, + "style": "deepObject" + }, + "source": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "alipay_account": { + "anyOf": [ + { + "type": "object" + }, + { + "maxLength": 5000, + "type": "string" + } + ], + "description": "A token returned by [Stripe.js](https://stripe.com/docs/stripe.js) representing the user’s Alipay account details." + }, + "bank_account": { + "anyOf": [ + { + "type": "object" + }, + { + "maxLength": 5000, + "type": "string" + } + ], + "description": "Either a token, like the ones returned by [Stripe.js](https://stripe.com/docs/stripe.js), or a dictionary containing a user's bank account details." + }, + "card": { + "anyOf": [ + { + "type": "object" + }, + { + "maxLength": 5000, + "type": "string" + } + ], + "description": "A token, like the ones returned by [Stripe.js](https://stripe.com/docs/stripe.js)." + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "A set of key/value pairs that you can attach to a card object. It can be useful for storing additional information about the card in a structured format.", + "type": "object" + }, + "source": { + "anyOf": [ + { + "type": "object" + }, + { + "maxLength": 5000, + "type": "string" + } + ], + "description": "This string to be replaced by DocSpecGenerator." + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/payment_source" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/customers/{customer}/sources/{id}": { + "delete": { + "description": "\u003Cp\u003EDelete a specified source for a given customer.\u003C/p\u003E", + "operationId": "DeleteCustomerSource", + "parameters": [ + { + "in": "path", + "name": "customer", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + }, + { + "description": "The ID of the source to be deleted.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "anyOf": [ + { + "$ref": "#/components/schemas/payment_source" + }, + { + "$ref": "#/components/schemas/deleted_payment_source" + } + ] + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "get": { + "description": "\u003Cp\u003ERetrieve a specified source for a given customer.\u003C/p\u003E", + "operationId": "RetrieveCustomerSource", + "parameters": [ + { + "in": "path", + "name": "customer", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "The ID of the source to be retrieved.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "maxLength": 500, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/payment_source" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003EUpdate a specified source for a given customer.\u003C/p\u003E", + "operationId": "UpdateCustomerSource", + "parameters": [ + { + "in": "path", + "name": "customer", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + }, + { + "in": "path", + "name": "id", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + }, + "metadata": { + "explode": true, + "style": "deepObject" + }, + "owner": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "account_holder_name": { + "description": "The name of the person or business that owns the bank account.", + "maxLength": 5000, + "type": "string" + }, + "account_holder_type": { + "description": "The type of entity that holds the account. This can be either `individual` or `company`.", + "enum": [ + "company", + "individual" + ], + "maxLength": 5000, + "type": "string" + }, + "address_city": { + "description": "City/District/Suburb/Town/Village.", + "maxLength": 5000, + "type": "string" + }, + "address_country": { + "description": "Billing address country, if provided when creating card.", + "maxLength": 5000, + "type": "string" + }, + "address_line1": { + "description": "Address line 1 (Street address/PO Box/Company name).", + "maxLength": 5000, + "type": "string" + }, + "address_line2": { + "description": "Address line 2 (Apartment/Suite/Unit/Building).", + "maxLength": 5000, + "type": "string" + }, + "address_state": { + "description": "State/County/Province/Region.", + "maxLength": 5000, + "type": "string" + }, + "address_zip": { + "description": "ZIP or postal code.", + "maxLength": 5000, + "type": "string" + }, + "exp_month": { + "description": "Two digit number representing the card’s expiration month.", + "maxLength": 5000, + "type": "string" + }, + "exp_year": { + "description": "Four digit number representing the card’s expiration year.", + "maxLength": 5000, + "type": "string" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "name": { + "description": "Cardholder name.", + "maxLength": 5000, + "type": "string" + }, + "owner": { + "properties": { + "address": { + "properties": { + "city": { + "maxLength": 5000, + "type": "string" + }, + "country": { + "maxLength": 5000, + "type": "string" + }, + "line1": { + "maxLength": 5000, + "type": "string" + }, + "line2": { + "maxLength": 5000, + "type": "string" + }, + "postal_code": { + "maxLength": 5000, + "type": "string" + }, + "state": { + "maxLength": 5000, + "type": "string" + } + }, + "title": "source_address", + "type": "object" + }, + "email": { + "type": "string" + }, + "name": { + "maxLength": 5000, + "type": "string" + }, + "phone": { + "maxLength": 5000, + "type": "string" + } + }, + "title": "owner", + "type": "object" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "anyOf": [ + { + "$ref": "#/components/schemas/card" + }, + { + "$ref": "#/components/schemas/bank_account" + }, + { + "$ref": "#/components/schemas/source" + } + ] + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/customers/{customer}/sources/{id}/verify": { + "post": { + "description": "\u003Cp\u003EVerify a specified bank account for a given customer.\u003C/p\u003E", + "operationId": "VerifyCustomerSource", + "parameters": [ + { + "in": "path", + "name": "customer", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + }, + { + "description": "The ID of the source to be verified.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "amounts": { + "explode": true, + "style": "deepObject" + }, + "expand": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "amounts": { + "description": "Two positive integers, in *cents*, equal to the values of the microdeposits sent to the bank account.", + "items": { + "type": "integer" + }, + "type": "array" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "verification_method": { + "maxLength": 5000, + "type": "string" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/bank_account" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/customers/{customer}/subscriptions": { + "get": { + "description": "\u003Cp\u003EYou can see a list of the customer’s active subscriptions. Note that the 10 most recent active subscriptions are always available by default on the customer object. If you need more than those 10, you can use the limit and starting_after parameters to page through additional subscriptions.\u003C/p\u003E", + "operationId": "AllCustomerSubscriptions", + "parameters": [ + { + "description": "The ID of the customer whose subscriptions will be retrieved.", + "in": "path", + "name": "customer", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + }, + { + "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.", + "in": "query", + "name": "ending_before", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.", + "in": "query", + "name": "limit", + "required": false, + "schema": { + "type": "integer" + }, + "style": "form" + }, + { + "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.", + "in": "query", + "name": "starting_after", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/subscription" + }, + "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, + "type": "string" + } + }, + "required": [ + "data", + "has_more", + "object", + "url" + ], + "title": "SubscriptionList", + "type": "object", + "x-expandableFields": [ + "data" + ] + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003ECreates a new subscription on an existing customer.\u003C/p\u003E", + "operationId": "CreateCustomerSubscription", + "parameters": [ + { + "description": "The identifier of the customer to subscribe.", + "in": "path", + "name": "customer", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + }, + "items": { + "explode": true, + "style": "deepObject" + }, + "metadata": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "application_fee_percent": { + "description": "A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice subtotal that will be transferred to the application owner's Stripe account. The request must be made with an OAuth key in order to set an application fee percentage. For more information, see the application fees [documentation](https://stripe.com/docs/connect/subscriptions#collecting-fees-on-subscriptions).", + "type": "number" + }, + "billing": { + "description": "Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay this subscription at the end of the cycle using the default source attached to the customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions. Defaults to `charge_automatically`.", + "enum": [ + "charge_automatically", + "send_invoice" + ], + "maxLength": 5000, + "type": "string" + }, + "billing_cycle_anchor": { + "description": "A future timestamp to anchor the subscription's [billing cycle](/docs/subscriptions/billing-cycle). This is used to determine the date of the first full invoice, and, for plans with `month` or `year` intervals, the day of the month for subsequent invoices.", + "maxLength": 5000, + "type": "string" + }, + "cancel_at_period_end": { + "description": "Boolean indicating whether this subscription should cancel at the end of the current period.", + "type": "boolean" + }, + "coupon": { + "description": "The code of the coupon to apply to this subscription. A coupon applied to a subscription will only affect invoices created for that particular subscription.", + "maxLength": 5000, + "type": "string" + }, + "days_until_due": { + "description": "Number of days a customer has to pay invoices generated by this subscription. Valid only for subscriptions where `billing` is set to `send_invoice`.", + "type": "integer" + }, + "default_source": { + "description": "ID of the default payment source for the subscription. It must belong to the customer associated with the subscription and be in a chargeable state. If not set, defaults to the customer's default source.", + "maxLength": 5000, + "type": "string" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "items": { + "description": "List of subscription items, each with an attached plan.", + "items": { + "properties": { + "metadata": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "plan": { + "maxLength": 5000, + "type": "string" + }, + "quantity": { + "type": "integer" + } + }, + "required": [ + "plan" + ], + "title": "subscription_item_create_params", + "type": "object" + }, + "type": "array" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "A set of key-value pairs that you can attach to a `Subscription` object. It can be useful for storing additional information about the subscription in a structured format.", + "type": "object" + }, + "prorate": { + "description": "Boolean (defaults to `true`) telling us whether to [credit for unused time](/docs/subscriptions/billing-cycle#prorations) when the billing cycle changes (e.g. when switching plans, resetting `billing_cycle_anchor=now`, or starting a trial), or if an item's `quantity` changes. If `false`, the anchor period will be free (similar to a trial) and no proration adjustments will be created.", + "type": "boolean" + }, + "tax_percent": { + "description": "A non-negative decimal (with at most four decimal places) between 0 and 100. This represents the percentage of the subscription invoice subtotal that will be calculated and added as tax to the final amount in each billing period. For example, a plan which charges $10/month with a `tax_percent` of `20.0` will charge $12 per invoice. To unset a previously-set value, pass an empty string.", + "nullable": true, + "type": "number" + }, + "trial_end": { + "description": "Unix timestamp representing the end of the trial period the customer will get before being charged for the first time. This will always overwrite any trials that might apply via a subscribed plan. If set, trial_end will override the default trial period of the plan the customer is being subscribed to. The special value `now` can be provided to end the customer's trial immediately.", + "maxLength": 5000, + "type": "string" + }, + "trial_from_plan": { + "description": "Indicates if a plan's `trial_period_days` should be applied to the subscription. Setting `trial_end` per subscription is preferred, and this defaults to `false`. Setting this flag to `true` together with `trial_end` is not allowed.", + "type": "boolean" + }, + "trial_period_days": { + "description": "Integer representing the number of trial period days before the customer is charged for the first time. This will always overwrite any trials that might apply via a subscribed plan.", + "type": "integer" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/subscription" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/customers/{customer}/subscriptions/{subscription_exposed_id}": { + "delete": { + "description": "\u003Cp\u003ECancels a customer’s subscription. If you set the \u003Ccode\u003Eat_period_end\u003C/code\u003E parameter to \u003Ccode\u003Etrue\u003C/code\u003E, the subscription will remain active until the end of the period, at which point it will be canceled and not renewed. Otherwise, with the default \u003Ccode\u003Efalse\u003C/code\u003E value, the subscription is terminated immediately. In either case, the customer will not be charged again for the subscription.\u003C/p\u003E\n\n\u003Cp\u003ENote, however, that any pending invoice items that you’ve created will still be charged for at the end of the period, unless manually \u003Ca href=\"#delete_invoiceitem\"\u003Edeleted\u003C/a\u003E. If you’ve set the subscription to cancel at the end of the period, any pending prorations will also be left in place and collected at the end of the period. But if the subscription is set to cancel immediately, pending prorations will be removed.\u003C/p\u003E\n\n\u003Cp\u003EBy default, upon subscription cancellation, Stripe will close all unpaid invoices for the customer. This is designed to prevent unexpected payment attempts after the customer has canceled a subscription. However, you can reopen the invoices manually after subscription cancellation to have us proceed with payment collection. Or, you could even re-attempt payment yourself on all unpaid invoices before allowing the customer to cancel the subscription at all.\u003C/p\u003E", + "operationId": "DeleteCustomerSubscription", + "parameters": [ + { + "in": "path", + "name": "customer", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + }, + { + "in": "path", + "name": "subscription_exposed_id", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + "invoice_now": { + "description": "Can be set to `true` if `at_period_end` is not set to `true`. Will generate a final invoice that invoices for any un-invoiced metered usage and new/pending proration invoice items.", + "type": "boolean" + }, + "prorate": { + "description": "Can be set to `true` if `at_period_end` is not set to `true`. Will generate a proration invoice item that credits remaining unused time until the subscription period end.", + "type": "boolean" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/subscription" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "get": { + "description": "\u003Cp\u003ERetrieves the subscription with the given ID.\u003C/p\u003E", + "operationId": "RetrieveCustomerSubscription", + "parameters": [ + { + "in": "path", + "name": "customer", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "ID of subscription to retrieve.", + "in": "path", + "name": "subscription_exposed_id", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/subscription" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003EUpdates an existing subscription on a customer to match the specified parameters. When changing plans or quantities, we will optionally prorate the price we charge next month to make up for any price changes. To preview how the proration will be calculated, use the \u003Ca href=\"#upcoming_invoice\"\u003Eupcoming invoice\u003C/a\u003E endpoint.\u003C/p\u003E", + "operationId": "UpdateCustomerSubscription", + "parameters": [ + { + "description": "The identifier of the customer to subscribe.", + "in": "path", + "name": "customer", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + }, + { + "description": "The identifier of the subscription to update.", + "in": "path", + "name": "subscription_exposed_id", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + }, + "items": { + "explode": true, + "style": "deepObject" + }, + "metadata": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "application_fee_percent": { + "description": "A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice subtotal that will be transferred to the application owner's Stripe account. The request must be made with an OAuth key in order to set an application fee percentage. For more information, see the application fees [documentation](https://stripe.com/docs/connect/subscriptions#collecting-fees-on-subscriptions).", + "type": "number" + }, + "billing": { + "description": "Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay this subscription at the end of the cycle using the default source attached to the customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions. Defaults to `charge_automatically`.", + "enum": [ + "charge_automatically", + "send_invoice" + ], + "maxLength": 5000, + "type": "string" + }, + "billing_cycle_anchor": { + "description": "Either `now` or `unchanged`. Setting the value to `now` resets the subscription's billing cycle anchor to the current time. For more information, see the billing cycle [documentation](/docs/billing/subscriptions/billing-cycle).", + "maxLength": 5000, + "type": "string" + }, + "cancel_at_period_end": { + "description": "Boolean indicating whether this subscription should cancel at the end of the current period.", + "type": "boolean" + }, + "coupon": { + "description": "The code of the coupon to apply to this subscription. A coupon applied to a subscription will only affect invoices created for that particular subscription.", + "maxLength": 5000, + "type": "string" + }, + "days_until_due": { + "description": "Number of days a customer has to pay invoices generated by this subscription. Valid only for subscriptions where `billing` is set to `send_invoice`.", + "type": "integer" + }, + "default_source": { + "description": "ID of the default payment source for the subscription. It must belong to the customer associated with the subscription and be in a chargeable state. If not set, defaults to the customer's default source.", + "maxLength": 5000, + "type": "string" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "items": { + "description": "List of subscription items, each with an attached plan.", + "items": { + "properties": { + "clear_usage": { + "type": "boolean" + }, + "deleted": { + "type": "boolean" + }, + "id": { + "maxLength": 5000, + "type": "string" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "plan": { + "maxLength": 5000, + "type": "string" + }, + "quantity": { + "type": "integer" + } + }, + "title": "subscription_item_update_params", + "type": "object" + }, + "type": "array" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "A set of key-value pairs that you can attach to a subscription object. This can be useful for storing additional information about the subscription in a structured format.", + "type": "object" + }, + "prorate": { + "description": "Boolean (defaults to `true`) telling us whether to [credit for unused time](/docs/subscriptions/billing-cycle#prorations) when the billing cycle changes (e.g. when switching plans, resetting `billing_cycle_anchor=now`, or starting a trial), or if an item's `quantity` changes. If `false`, the anchor period will be free (similar to a trial) and no proration adjustments will be created.", + "type": "boolean" + }, + "proration_date": { + "description": "If set, the proration will be calculated as though the subscription was updated at the given time. This can be used to apply exactly the same proration that was previewed with [upcoming invoice](#retrieve_customer_invoice) endpoint. It can also be used to implement custom proration logic, such as prorating by day instead of by second, by providing the time that you wish to use for proration calculations.", + "format": "unix-time", + "type": "integer" + }, + "tax_percent": { + "description": "A non-negative decimal (with at most four decimal places) between 0 and 100. This represents the percentage of the subscription invoice subtotal that will be calculated and added as tax to the final amount in each billing period. For example, a plan which charges $10/month with a `tax_percent` of `20.0` will charge $12 per invoice. To unset a previously-set value, pass an empty string.", + "nullable": true, + "type": "number" + }, + "trial_end": { + "description": "Unix timestamp representing the end of the trial period the customer will get before being charged for the first time. This will always overwrite any trials that might apply via a subscribed plan. If set, trial_end will override the default trial period of the plan the customer is being subscribed to. The special value `now` can be provided to end the customer's trial immediately.", + "maxLength": 5000, + "type": "string" + }, + "trial_from_plan": { + "description": "Indicates if a plan's `trial_period_days` should be applied to the subscription. Setting `trial_end` per subscription is preferred, and this defaults to `false`. Setting this flag to `true` together with `trial_end` is not allowed.", + "type": "boolean" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/subscription" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/customers/{customer}/subscriptions/{subscription_exposed_id}/discount": { + "delete": { + "description": "\u003Cp\u003ERemoves the currently applied discount on a customer.\u003C/p\u003E", + "operationId": "DeleteCustomerDiscount", + "parameters": [ + { + "in": "path", + "name": "customer", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + }, + { + "in": "path", + "name": "subscription_exposed_id", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/deleted_discount" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "get": { + "description": "", + "operationId": "RetrieveCustomerDiscount", + "parameters": [ + { + "in": "path", + "name": "customer", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "in": "path", + "name": "subscription_exposed_id", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/discount" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/disputes": { + "get": { + "description": "\u003Cp\u003EReturns a list of your disputes.\u003C/p\u003E", + "operationId": "AllDisputes", + "parameters": [ + { + "explode": true, + "in": "query", + "name": "created", + "required": false, + "schema": { + "anyOf": [ + { + "properties": { + "gt": { + "type": "integer" + }, + "gte": { + "type": "integer" + }, + "lt": { + "type": "integer" + }, + "lte": { + "type": "integer" + } + }, + "title": "range_query_specs", + "type": "object" + }, + { + "type": "integer" + } + ] + }, + "style": "deepObject" + }, + { + "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.", + "in": "query", + "name": "ending_before", + "required": false, + "schema": { + "type": "string" + }, + "style": "form" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.", + "in": "query", + "name": "limit", + "required": false, + "schema": { + "type": "integer" + }, + "style": "form" + }, + { + "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.", + "in": "query", + "name": "starting_after", + "required": false, + "schema": { + "type": "string" + }, + "style": "form" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/dispute" + }, + "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/disputes", + "type": "string" + } + }, + "required": [ + "data", + "has_more", + "object", + "url" + ], + "type": "object", + "x-expandableFields": [ + "data" + ] + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/disputes/{dispute}": { + "get": { + "description": "\u003Cp\u003ERetrieves the dispute with the given ID.\u003C/p\u003E", + "operationId": "RetrieveDispute", + "parameters": [ + { + "description": "ID of dispute to retrieve.", + "in": "path", + "name": "dispute", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/dispute" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003EWhen you get a dispute, contacting your customer is always the best first step. If that doesn’t work, you can submit evidence to help us resolve the dispute in your favor. You can do this in your \u003Ca href=\"https://dashboard.stripe.com/disputes\"\u003Edashboard\u003C/a\u003E, but if you prefer, you can use the API to submit evidence programmatically.\u003C/p\u003E\n\n\u003Cp\u003EDepending on your dispute type, different evidence fields will give you a better chance of winning your dispute. To figure out which evidence fields to provide, see our \u003Ca href=\"/docs/disputes/categories\"\u003Eguide to dispute types\u003C/a\u003E.\u003C/p\u003E", + "operationId": "UpdateDispute", + "parameters": [ + { + "description": "ID of the dispute to update.", + "in": "path", + "name": "dispute", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "evidence": { + "explode": true, + "style": "deepObject" + }, + "expand": { + "explode": true, + "style": "deepObject" + }, + "metadata": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "evidence": { + "description": "Evidence to upload, to respond to a dispute. Updating any field in the hash will submit all fields in the hash for review. The combined character count of all fields is limited to 150,000.", + "properties": { + "access_activity_log": { + "maxLength": 20000, + "type": "string" + }, + "billing_address": { + "maxLength": 5000, + "type": "string" + }, + "cancellation_policy": { + "type": "string" + }, + "cancellation_policy_disclosure": { + "maxLength": 20000, + "type": "string" + }, + "cancellation_rebuttal": { + "maxLength": 20000, + "type": "string" + }, + "customer_communication": { + "type": "string" + }, + "customer_email_address": { + "maxLength": 5000, + "type": "string" + }, + "customer_name": { + "maxLength": 5000, + "type": "string" + }, + "customer_purchase_ip": { + "maxLength": 5000, + "type": "string" + }, + "customer_signature": { + "type": "string" + }, + "duplicate_charge_documentation": { + "type": "string" + }, + "duplicate_charge_explanation": { + "maxLength": 20000, + "type": "string" + }, + "duplicate_charge_id": { + "maxLength": 5000, + "type": "string" + }, + "product_description": { + "maxLength": 20000, + "type": "string" + }, + "receipt": { + "type": "string" + }, + "refund_policy": { + "type": "string" + }, + "refund_policy_disclosure": { + "maxLength": 20000, + "type": "string" + }, + "refund_refusal_explanation": { + "maxLength": 20000, + "type": "string" + }, + "service_date": { + "maxLength": 5000, + "type": "string" + }, + "service_documentation": { + "type": "string" + }, + "shipping_address": { + "maxLength": 5000, + "type": "string" + }, + "shipping_carrier": { + "maxLength": 5000, + "type": "string" + }, + "shipping_date": { + "maxLength": 5000, + "type": "string" + }, + "shipping_documentation": { + "type": "string" + }, + "shipping_tracking_number": { + "maxLength": 5000, + "type": "string" + }, + "uncategorized_file": { + "type": "string" + }, + "uncategorized_text": { + "maxLength": 20000, + "type": "string" + } + }, + "title": "dispute_evidence_params", + "type": "object" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "A set of key-value pairs that you can attach to a dispute object. This can be useful for storing additional information about the dispute in a structured format.", + "type": "object" + }, + "submit": { + "description": "Whether to immediately submit evidence to the bank. If `false`, evidence is staged on the dispute. Staged evidence is visible in the API and Dashboard, and can be submitted to the bank by making another request with this attribute set to `true` (the default).", + "type": "boolean" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/dispute" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/disputes/{dispute}/close": { + "post": { + "description": "\u003Cp\u003EClosing the dispute for a charge indicates that you do not have any evidence to submit and are essentially dismissing the dispute, acknowledging it as lost.\u003C/p\u003E\n\n\u003Cp\u003EThe status of the dispute will change from \u003Ccode\u003Eneeds_response\u003C/code\u003E to \u003Ccode\u003Elost\u003C/code\u003E. \u003Cem\u003EClosing a dispute is irreversible\u003C/em\u003E.\u003C/p\u003E", + "operationId": "CloseDispute", + "parameters": [ + { + "description": "ID of the dispute to close.", + "in": "path", + "name": "dispute", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/dispute" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/ephemeral_keys": { + "post": { + "description": "\u003Cp\u003ECreates a short-lived API key for a given resource.\u003C/p\u003E", + "operationId": "CreateEphemeralKey", + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "customer": { + "description": "The ID of the Customer you'd like to modify using the resulting ephemeral key.", + "maxLength": 5000, + "type": "string" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "issuing_card": { + "description": "The ID of the Issuing Card you'd like to access using the resulting ephemeral key.", + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "customer" + ], + "type": "object" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ephemeral_key" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/ephemeral_keys/{key}": { + "delete": { + "description": "\u003Cp\u003EInvalidates a short-lived API key for a given resource.\u003C/p\u003E", + "operationId": "DeleteEphemeralKey", + "parameters": [ + { + "description": "The ID of the key you'd like to invalidate.", + "in": "path", + "name": "key", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ephemeral_key" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/events": { + "get": { + "description": "\u003Cp\u003EList events, going back up to 30 days.\u003C/p\u003E", + "operationId": "NotificationEventAll", + "parameters": [ + { + "explode": true, + "in": "query", + "name": "created", + "required": false, + "schema": { + "anyOf": [ + { + "properties": { + "gt": { + "type": "integer" + }, + "gte": { + "type": "integer" + }, + "lt": { + "type": "integer" + }, + "lte": { + "type": "integer" + } + }, + "title": "range_query_specs", + "type": "object" + }, + { + "type": "integer" + } + ] + }, + "style": "deepObject" + }, + { + "description": "Filter events by whether all webhooks were successfully delivered. If false, events which are still pending or have failed all delivery attempts to a webhook endpoint will be returned.", + "in": "query", + "name": "delivery_success", + "required": false, + "schema": { + "type": "boolean" + }, + "style": "form" + }, + { + "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.", + "in": "query", + "name": "ending_before", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.", + "in": "query", + "name": "limit", + "required": false, + "schema": { + "type": "integer" + }, + "style": "form" + }, + { + "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.", + "in": "query", + "name": "starting_after", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "A string containing a specific event name, or group of events using * as a wildcard. The list will be filtered to include only events with a matching event property.", + "in": "query", + "name": "type", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "An array of up to 20 strings containing specific event names. The list will be filtered to include only events with a matching event property. You may pass either `type` or `types`, but not both.", + "explode": true, + "in": "query", + "name": "types", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/event" + }, + "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/events", + "type": "string" + } + }, + "required": [ + "data", + "has_more", + "object", + "url" + ], + "type": "object", + "x-expandableFields": [ + "data" + ] + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/events/{id}": { + "get": { + "description": "\u003Cp\u003ERetrieves the details of an event. Supply the unique identifier of the event, which you might have received in a webhook.\u003C/p\u003E", + "operationId": "NotificationEventRetrieve", + "parameters": [ + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "The identifier of the event to be retrieved.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/event" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/events/{id}/retry": { + "post": { + "description": "\u003Cp\u003EResend an event. This only works in testmode\u003C/p\u003E", + "operationId": "NotificationEventRetry", + "parameters": [ + { + "in": "path", + "name": "id", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/event" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/exchange_rates": { + "get": { + "description": "\u003Cp\u003EReturns a list of objects that contain the rates at which foreign currencies are converted to one another. Only shows the currencies for which Stripe supports.\u003C/p\u003E", + "operationId": "AllExchangeRate", + "parameters": [ + { + "description": "A cursor for use in pagination. `ending_before` is the currency that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with the exchange rate for currency X your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.", + "in": "query", + "name": "ending_before", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "A limit on the number of objects to be returned. Limit can range between 1 and total number of supported payout currencies, and the default is the max.", + "in": "query", + "name": "limit", + "required": false, + "schema": { + "type": "integer" + }, + "style": "form" + }, + { + "description": "A cursor for use in pagination. `starting_after` is the currency that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with the exchange rate for currency X, your subsequent call can include `starting_after=X` in order to fetch the next page of the list.", + "in": "query", + "name": "starting_after", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/exchange_rate" + }, + "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/exchange_rates", + "type": "string" + } + }, + "required": [ + "data", + "has_more", + "object", + "url" + ], + "type": "object", + "x-expandableFields": [ + "data" + ] + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/exchange_rates/{currency}": { + "get": { + "description": "\u003Cp\u003ERetrieves the exchange rates from the given currency to every supported currency.\u003C/p\u003E", + "operationId": "RetrieveExchangeRate", + "parameters": [ + { + "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).", + "in": "path", + "name": "currency", + "required": true, + "schema": { + "maxLength": 3, + "type": "string" + }, + "style": "simple" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/exchange_rate" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/file_links": { + "get": { + "description": "\u003Cp\u003EReturns a list of file links.\u003C/p\u003E", + "operationId": "FileLinkAll", + "parameters": [ + { + "explode": true, + "in": "query", + "name": "created", + "required": false, + "schema": { + "anyOf": [ + { + "properties": { + "gt": { + "type": "integer" + }, + "gte": { + "type": "integer" + }, + "lt": { + "type": "integer" + }, + "lte": { + "type": "integer" + } + }, + "title": "range_query_specs", + "type": "object" + }, + { + "type": "integer" + } + ] + }, + "style": "deepObject" + }, + { + "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.", + "in": "query", + "name": "ending_before", + "required": false, + "schema": { + "type": "string" + }, + "style": "form" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "Filter links by their expiration status. By default, all links are returned.", + "in": "query", + "name": "expired", + "required": false, + "schema": { + "type": "boolean" + }, + "style": "form" + }, + { + "description": "Only return links for the given file.", + "in": "query", + "name": "file", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.", + "in": "query", + "name": "limit", + "required": false, + "schema": { + "type": "integer" + }, + "style": "form" + }, + { + "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.", + "in": "query", + "name": "starting_after", + "required": false, + "schema": { + "type": "string" + }, + "style": "form" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/file_link" + }, + "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/file_links", + "type": "string" + } + }, + "required": [ + "data", + "has_more", + "object", + "url" + ], + "type": "object", + "x-expandableFields": [ + "data" + ] + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003ECreates a new file link object.\u003C/p\u003E", + "operationId": "FileLinkCreate", + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + }, + "metadata": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "expires_at": { + "description": "A future timestamp after which the link will no longer be usable.", + "format": "unix-time", + "type": "integer" + }, + "file": { + "description": "The ID of the file.", + "maxLength": 5000, + "type": "string" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.", + "type": "object" + } + }, + "required": [ + "file" + ], + "type": "object" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/file_link" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/file_links/{link}": { + "get": { + "description": "\u003Cp\u003ERetrieves the file link with the given ID.\u003C/p\u003E", + "operationId": "FileLinkRetrieve", + "parameters": [ + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "The identifier of the file link to be retrieved.", + "in": "path", + "name": "link", + "required": true, + "schema": { + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/file_link" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003EUpdates an existing file link object. Expired links can no longer be updated.\u003C/p\u003E", + "operationId": "FileLinkUpdate", + "parameters": [ + { + "description": "The ID of the file link.", + "in": "path", + "name": "link", + "required": true, + "schema": { + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + }, + "expires_at": { + "explode": true, + "style": "deepObject" + }, + "metadata": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "expires_at": { + "anyOf": [ + { + "enum": [ + "now" + ], + "maxLength": 5000, + "type": "string" + }, + { + "format": "unix-time", + "type": "integer" + }, + { + "enum": [ + "" + ], + "type": "string" + } + ], + "description": "A future timestamp after which the link will no longer be usable, or `now` to expire the link immediately." + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.", + "type": "object" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/file_link" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/files": { + "get": { + "description": "\u003Cp\u003EReturns a list of the files that your account has access to. The files are returned sorted by creation date, with the most recently created files appearing first.\u003C/p\u003E", + "operationId": "FileAll", + "parameters": [ + { + "explode": true, + "in": "query", + "name": "created", + "required": false, + "schema": { + "anyOf": [ + { + "properties": { + "gt": { + "type": "integer" + }, + "gte": { + "type": "integer" + }, + "lt": { + "type": "integer" + }, + "lte": { + "type": "integer" + } + }, + "title": "range_query_specs", + "type": "object" + }, + { + "type": "integer" + } + ] + }, + "style": "deepObject" + }, + { + "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.", + "in": "query", + "name": "ending_before", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.", + "in": "query", + "name": "limit", + "required": false, + "schema": { + "type": "integer" + }, + "style": "form" + }, + { + "description": "The file purpose to filter queries by. If none is provided, files will not be filtered by purpose.", + "in": "query", + "name": "purpose", + "required": false, + "schema": { + "enum": [ + "additional_verification", + "bootstrap_pilot_user_report", + "business_logo", + "customer_signature", + "dispute_evidence", + "dsar_report", + "finance_report_run", + "founders_stock_document", + "identity_document", + "incorporation_article", + "incorporation_document", + "india_export_payment_advice", + "invoice_statement", + "onboarding_document_input", + "paper_check_image", + "payment_provider_transfer", + "pci_document", + "product_feed", + "radar_list_items", + "sigma_scheduled_query", + "support_attachment", + "tandem_accepted", + "tandem_requested", + "tandem_voidance", + "tax_document", + "tax_document_user_upload", + "works_with_image" + ], + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "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.", + "in": "query", + "name": "starting_after", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/file" + }, + "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/files", + "type": "string" + } + }, + "required": [ + "data", + "has_more", + "object", + "url" + ], + "type": "object", + "x-expandableFields": [ + "data" + ] + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003ETo upload a file to Stripe, you’ll need to send a request of type \u003Ccode\u003Emultipart/form-data\u003C/code\u003E. The request should contain the file you would like to upload, as well as the parameters for creating a file.\u003C/p\u003E\n\n\u003Cp\u003EAll of Stripe’s officially supported API libraries should have support for sending \u003Ccode\u003Emultipart/form-data\u003C/code\u003E.\u003C/p\u003E", + "operationId": "FileCreate", + "requestBody": { + "content": { + "multipart/form-data": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + }, + "file_link_data": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "file": { + "description": "A file to upload. The file should follow the specifications of RFC 2388 (which defines file transfers for the `multipart/form-data` protocol).", + "type": "string" + }, + "file_link_data": { + "description": "Optional parameters to automatically create a [file link](#file_links) for the newly created file.", + "properties": { + "create": { + "type": "boolean" + }, + "expires_at": { + "format": "unix-time", + "type": "integer" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + } + }, + "required": [ + "create" + ], + "title": "file_link_creation_params", + "type": "object" + }, + "purpose": { + "description": "The purpose of the uploaded file. Possible values are `business_logo`, `customer_signature`, `dispute_evidence`, `identity_document`, `pci_document`, or `tax_document_user_upload`", + "enum": [ + "business_logo", + "customer_signature", + "dispute_evidence", + "identity_document", + "pci_document", + "tax_document_user_upload" + ], + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "file", + "purpose" + ], + "type": "object" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/file" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + }, + "servers": [ + { + "url": "https://files.stripe.com/" + } + ] + } + }, + "/v1/files/{file}": { + "get": { + "description": "\u003Cp\u003ERetrieves the details of an existing file object. Supply the unique file ID from a file, and Stripe will return the corresponding file object.\u003C/p\u003E", + "operationId": "FileRetrieve", + "parameters": [ + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "The identifier of the file to be retrieved.", + "in": "path", + "name": "file", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/file" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/invoiceitems": { + "get": { + "description": "\u003Cp\u003EReturns a list of your invoice items. Invoice items are returned sorted by creation date, with the most recently created invoice items appearing first.\u003C/p\u003E", + "operationId": "AllInvoiceItems", + "parameters": [ + { + "explode": true, + "in": "query", + "name": "created", + "required": false, + "schema": { + "anyOf": [ + { + "properties": { + "gt": { + "type": "integer" + }, + "gte": { + "type": "integer" + }, + "lt": { + "type": "integer" + }, + "lte": { + "type": "integer" + } + }, + "title": "range_query_specs", + "type": "object" + }, + { + "type": "integer" + } + ] + }, + "style": "deepObject" + }, + { + "description": "The identifier of the customer whose invoice items to return. If none is provided, all invoice items will be returned.", + "in": "query", + "name": "customer", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "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.", + "in": "query", + "name": "ending_before", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "Only return invoice items belonging to this invoice. If none is provided, all invoice items will be returned. If specifying an invoice, no customer identifier is needed.", + "in": "query", + "name": "invoice", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.", + "in": "query", + "name": "limit", + "required": false, + "schema": { + "type": "integer" + }, + "style": "form" + }, + { + "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.", + "in": "query", + "name": "starting_after", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/invoiceitem" + }, + "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/invoiceitems", + "type": "string" + } + }, + "required": [ + "data", + "has_more", + "object", + "url" + ], + "type": "object", + "x-expandableFields": [ + "data" + ] + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003ECreates an item to be added to a draft invoice. If no invoice is specified, the item will be on the next invoice created for the customer specified.\u003C/p\u003E", + "operationId": "CreateInvoiceItem", + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + }, + "metadata": { + "explode": true, + "style": "deepObject" + }, + "period": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "amount": { + "description": "The integer amount in **%s** of the charge to be applied to the upcoming invoice. If you want to apply a credit to the customer's account, pass a negative amount.", + "type": "integer" + }, + "currency": { + "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).", + "type": "string" + }, + "customer": { + "description": "The ID of the customer who will be billed when this invoice item is billed.", + "maxLength": 5000, + "type": "string" + }, + "description": { + "description": "An arbitrary string which you can attach to the invoice item. The description is displayed in the invoice for easy tracking.", + "maxLength": 5000, + "type": "string" + }, + "discountable": { + "description": "Controls whether discounts apply to this invoice item. Defaults to false for prorations or negative invoice items, and true for all other invoice items.", + "type": "boolean" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "invoice": { + "description": "The ID of an existing invoice to add this invoice item to. When left blank, the invoice item will be added to the next upcoming scheduled invoice. This is useful when adding invoice items in response to an invoice.created webhook. You can only add invoice items to draft invoices.", + "maxLength": 5000, + "type": "string" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "A set of key/value pairs that you can attach to an invoice item object. It can be useful for storing additional information about the invoice item in a structured format.", + "type": "object" + }, + "period": { + "description": "The period associated with this invoice item.", + "properties": { + "end": { + "format": "unix-time", + "type": "integer" + }, + "start": { + "format": "unix-time", + "type": "integer" + } + }, + "required": [ + "end", + "start" + ], + "title": "period", + "type": "object" + }, + "quantity": { + "description": "Non-negative integer. The quantity of units for the invoice item.", + "type": "integer" + }, + "subscription": { + "description": "The ID of a subscription to add this invoice item to. When left blank, the invoice item will be be added to the next upcoming scheduled invoice. When set, scheduled invoices for subscriptions other than the specified subscription will ignore the invoice item. Use this when you want to express that an invoice item has been accrued within the context of a particular subscription.", + "maxLength": 5000, + "type": "string" + }, + "unit_amount": { + "description": "The integer unit amount in **%s** of the charge to be applied to the upcoming invoice. This unit_amount will be multiplied by the quantity to get the full amount. If you want to apply a credit to the customer's account, pass a negative unit_amount.", + "type": "integer" + } + }, + "required": [ + "currency", + "customer" + ], + "type": "object" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/invoiceitem" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/invoiceitems/{invoiceitem}": { + "delete": { + "description": "\u003Cp\u003EDeletes an invoice item, removing it from an invoice. Deleting invoice items is only possible when they’re not attached to invoices, or if it’s attached to a draft invoice.\u003C/p\u003E", + "operationId": "DeleteInvoiceItem", + "parameters": [ + { + "description": "The identifier of the invoice item to be deleted.", + "in": "path", + "name": "invoiceitem", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/deleted_invoiceitem" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "get": { + "description": "\u003Cp\u003ERetrieves the invoice item with the given ID.\u003C/p\u003E", + "operationId": "RetrieveInvoiceItem", + "parameters": [ + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "The ID of the desired invoice item.", + "in": "path", + "name": "invoiceitem", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/invoiceitem" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003EUpdates the amount or description of an invoice item on an upcoming invoice. Updating an invoice item is only possible before the invoice it’s attached to is closed.\u003C/p\u003E", + "operationId": "UpdateInvoiceItem", + "parameters": [ + { + "in": "path", + "name": "invoiceitem", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + }, + "metadata": { + "explode": true, + "style": "deepObject" + }, + "period": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "amount": { + "description": "The integer amount in **%s** of the charge to be applied to the upcoming invoice. If you want to apply a credit to the customer's account, pass a negative amount.", + "type": "integer" + }, + "description": { + "description": "An arbitrary string which you can attach to the invoice item. The description is displayed in the invoice for easy tracking.", + "maxLength": 5000, + "type": "string" + }, + "discountable": { + "description": "Controls whether discounts apply to this invoice item. Defaults to false for prorations or negative invoice items, and true for all other invoice items. Cannot be set to true for prorations.", + "type": "boolean" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "A set of key/value pairs that you can attach to an invoice item object. It can be useful for storing additional information about the invoice item in a structured format.", + "type": "object" + }, + "period": { + "description": "The period associated with this invoice item.", + "properties": { + "end": { + "format": "unix-time", + "type": "integer" + }, + "start": { + "format": "unix-time", + "type": "integer" + } + }, + "required": [ + "end", + "start" + ], + "title": "period", + "type": "object" + }, + "quantity": { + "description": "Non-negative integer. The quantity of units for the invoice item.", + "type": "integer" + }, + "unit_amount": { + "description": "The integer unit amount in **%s** of the charge to be applied to the upcoming invoice. This unit_amount will be multiplied by the quantity to get the full amount. If you want to apply a credit to the customer's account, pass a negative unit_amount.", + "type": "integer" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/invoiceitem" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/invoices": { + "get": { + "description": "\u003Cp\u003EYou can list all invoices, or list the invoices for a specific customer. The invoices are returned sorted by creation date, with the most recently created invoices appearing first.\u003C/p\u003E", + "operationId": "AllInvoices", + "parameters": [ + { + "description": "The billing mode of the invoice to retrieve. Either `charge_automatically` or `send_invoice`.", + "in": "query", + "name": "billing", + "required": false, + "schema": { + "enum": [ + "charge_automatically", + "send_invoice" + ], + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "Only return invoices for the customer specified by this customer ID.", + "in": "query", + "name": "customer", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "explode": true, + "in": "query", + "name": "date", + "required": false, + "schema": { + "anyOf": [ + { + "properties": { + "gt": { + "type": "integer" + }, + "gte": { + "type": "integer" + }, + "lt": { + "type": "integer" + }, + "lte": { + "type": "integer" + } + }, + "title": "range_query_specs", + "type": "object" + }, + { + "type": "integer" + } + ] + }, + "style": "deepObject" + }, + { + "explode": true, + "in": "query", + "name": "due_date", + "required": false, + "schema": { + "anyOf": [ + { + "properties": { + "gt": { + "type": "integer" + }, + "gte": { + "type": "integer" + }, + "lt": { + "type": "integer" + }, + "lte": { + "type": "integer" + } + }, + "title": "range_query_specs", + "type": "object" + }, + { + "type": "integer" + } + ] + }, + "style": "deepObject" + }, + { + "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.", + "in": "query", + "name": "ending_before", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.", + "in": "query", + "name": "limit", + "required": false, + "schema": { + "type": "integer" + }, + "style": "form" + }, + { + "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.", + "in": "query", + "name": "starting_after", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "Only return invoices for the subscription specified by this subscription ID.", + "in": "query", + "name": "subscription", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/invoice" + }, + "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/invoices", + "type": "string" + } + }, + "required": [ + "data", + "has_more", + "object", + "url" + ], + "type": "object", + "x-expandableFields": [ + "data" + ] + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003EThis endpoint creates a draft invoice for a given customer. The draft invoice created pulls in all pending invoice items on that customer, including prorations.\u003C/p\u003E", + "operationId": "CreateInvoice", + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + }, + "metadata": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "application_fee": { + "description": "A fee in %s that will be applied to the invoice and transferred to the application owner's Stripe account. The request must be made with an OAuth key or the Stripe-Account header in order to take an application fee. For more information, see the application fees [documentation](/docs/connect/subscriptions#invoices).", + "type": "integer" + }, + "auto_advance": { + "description": "Controls whether Stripe will perform [automatic collection](/docs/billing/invoices/workflow/#auto_advance) of the invoice. When `false`, the invoice's state will not automatically advance without an explicit action.", + "type": "boolean" + }, + "billing": { + "description": "Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay this invoice using the default source attached to the customer. When sending an invoice, Stripe will email this invoice to the customer with payment instructions. Defaults to `charge_automatically`.", + "enum": [ + "charge_automatically", + "send_invoice" + ], + "maxLength": 5000, + "type": "string" + }, + "customer": { + "maxLength": 5000, + "type": "string" + }, + "days_until_due": { + "description": "The number of days from when the invoice is created until it is due. Valid only for invoices where `billing=send_invoice`.", + "type": "integer" + }, + "default_source": { + "description": "ID of the default payment source for the invoice. It must belong to the customer associated with the invoice and be in a chargeable state. If not set, defaults to the subscription's default source, if any, or to the customer's default source.", + "maxLength": 5000, + "type": "string" + }, + "description": { + "maxLength": 1500, + "type": "string" + }, + "due_date": { + "description": "The date on which payment for this invoice is due. Valid only for invoices where `billing=send_invoice`.", + "format": "unix-time", + "type": "integer" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "statement_descriptor": { + "description": "Extra information about a charge for the customer's credit card statement. It must contain at least one letter. If not specified and this invoice is part of a subscription, the default `statement_descriptor` will be set to the first subscription item's product's `statement_descriptor`.", + "maxLength": 22, + "type": "string" + }, + "subscription": { + "description": "The ID of the subscription to invoice, if any. If not set, the created invoice will include all pending invoice items for the customer. If set, the created invoice will exclude pending invoice items that pertain to other subscriptions. The subscription's billing cycle and regular subscription events won't be affected.", + "maxLength": 5000, + "type": "string" + }, + "tax_percent": { + "description": "The percent tax rate applied to the invoice, represented as a decimal number.", + "type": "number" + } + }, + "required": [ + "customer" + ], + "type": "object" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/invoice" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/invoices/upcoming": { + "get": { + "description": "\u003Cp\u003EAt any time, you can preview the upcoming invoice for a customer. This will show you all the charges that are pending, including subscription renewal charges, invoice item charges, etc. It will also show you any discount that is applicable to the customer.\u003C/p\u003E\n\n\u003Cp\u003ENote that when you are viewing an upcoming invoice, you are simply viewing a preview – the invoice has not yet been created. As such, the upcoming invoice will not show up in invoice listing calls, and you cannot use the API to pay or edit the invoice. If you want to change the amount that your customer will be billed, you can add, remove, or update pending invoice items, or update the customer’s discount.\u003C/p\u003E\n\n\u003Cp\u003EYou can preview the effects of updating a subscription, including a preview of what proration will take place. To ensure that the actual proration is calculated exactly the same as the previewed proration, you should pass a \u003Ccode\u003Eproration_date\u003C/code\u003E parameter when doing the actual subscription update. The value passed in should be the same as the \u003Ccode\u003Esubscription_proration_date\u003C/code\u003E returned on the upcoming invoice resource. The recommended way to get only the prorations being previewed is to consider only proration line items where \u003Ccode\u003Eperiod[start]\u003C/code\u003E is equal to the \u003Ccode\u003Esubscription_proration_date\u003C/code\u003E on the upcoming invoice resource.\u003C/p\u003E", + "operationId": "RetrieveUpcomingInvoice", + "parameters": [ + { + "description": "The code of the coupon to apply. If `subscription` or `subscription_items` is provided, the invoice returned will preview updating or creating a subscription with that coupon. Otherwise, it will preview applying that coupon to the customer for the next upcoming invoice from among the customer's subscriptions. The invoice can be previewed without a coupon by passing this value as an empty string.", + "in": "query", + "name": "coupon", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "The identifier of the customer whose upcoming invoice you'd like to retrieve.", + "in": "query", + "name": "customer", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "List of invoice items to add or update in the upcoming invoice preview.", + "explode": true, + "in": "query", + "name": "invoice_items", + "required": false, + "schema": { + "items": { + "properties": { + "amount": { + "type": "integer" + }, + "currency": { + "type": "string" + }, + "description": { + "maxLength": 5000, + "type": "string" + }, + "discountable": { + "type": "boolean" + }, + "invoiceitem": { + "maxLength": 5000, + "type": "string" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "period": { + "properties": { + "end": { + "format": "unix-time", + "type": "integer" + }, + "start": { + "format": "unix-time", + "type": "integer" + } + }, + "required": [ + "end", + "start" + ], + "title": "period", + "type": "object" + } + }, + "title": "invoice_item_preview_params", + "type": "object" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "The identifier of the subscription for which you'd like to retrieve the upcoming invoice. If not provided, but a `subscription_items` is provided, you will preview creating a subscription with those items. If neither `subscription` nor `subscription_items` is provided, you will retrieve the next upcoming invoice from among the customer's subscriptions.", + "in": "query", + "name": "subscription", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "For new subscriptions, a future timestamp to anchor the subscription's [billing cycle](/docs/subscriptions/billing-cycle). This is used to determine the date of the first full invoice, and, for plans with `month` or `year` intervals, the day of the month for subsequent invoices. For existing subscriptions, the value can only be set to `now` or `unchanged`.", + "explode": true, + "in": "query", + "name": "subscription_billing_cycle_anchor", + "required": false, + "schema": { + "anyOf": [ + { + "enum": [ + "now", + "unchanged" + ], + "maxLength": 5000, + "type": "string" + }, + { + "format": "unix-time", + "type": "integer" + } + ] + }, + "style": "deepObject" + }, + { + "description": "Boolean indicating whether this subscription should cancel at the end of the current period.", + "in": "query", + "name": "subscription_cancel_at_period_end", + "required": false, + "schema": { + "type": "boolean" + }, + "style": "form" + }, + { + "description": "List of subscription items, each with an attached plan.", + "explode": true, + "in": "query", + "name": "subscription_items", + "required": false, + "schema": { + "items": { + "properties": { + "clear_usage": { + "type": "boolean" + }, + "deleted": { + "type": "boolean" + }, + "id": { + "maxLength": 5000, + "type": "string" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "plan": { + "maxLength": 5000, + "type": "string" + }, + "quantity": { + "type": "integer" + } + }, + "title": "subscription_item_update_params", + "type": "object" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "If previewing an update to a subscription, this decides whether the preview will show the result of applying prorations or not. If set, one of `subscription_items` or `subscription`, and one of `subscription_items` or `subscription_trial_end` are required.", + "in": "query", + "name": "subscription_prorate", + "required": false, + "schema": { + "type": "boolean" + }, + "style": "form" + }, + { + "description": "If previewing an update to a subscription, and doing proration, `subscription_proration_date` forces the proration to be calculated as though the update was done at the specified time. The time given must be within the current subscription period, and cannot be before the subscription was on its current plan. If set, `subscription`, and one of `subscription_items`, or `subscription_trial_end` are required. Also, `subscription_proration` cannot be set to false.", + "in": "query", + "name": "subscription_proration_date", + "required": false, + "schema": { + "format": "unix-time", + "type": "integer" + }, + "style": "form" + }, + { + "description": "If provided, the invoice returned will preview updating or creating a subscription with that tax percent. If set, one of `subscription_items` or `subscription` is required.", + "in": "query", + "name": "subscription_tax_percent", + "required": false, + "schema": { + "type": "number" + }, + "style": "form" + }, + { + "description": "If provided, the invoice returned will preview updating or creating a subscription with that trial end. If set, one of `subscription_items` or `subscription` is required.", + "explode": true, + "in": "query", + "name": "subscription_trial_end", + "required": false, + "schema": { + "anyOf": [ + { + "enum": [ + "now" + ], + "maxLength": 5000, + "type": "string" + }, + { + "format": "unix-time", + "type": "integer" + } + ] + }, + "style": "deepObject" + }, + { + "description": "Indicates if a plan's `trial_period_days` should be applied to the subscription. Setting `subscription_trial_end` per subscription is preferred, and this defaults to `false`. Setting this flag to `true` together with `subscription_trial_end` is not allowed.", + "in": "query", + "name": "subscription_trial_from_plan", + "required": false, + "schema": { + "type": "boolean" + }, + "style": "form" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/invoice" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/invoices/upcoming/lines": { + "get": { + "description": "\u003Cp\u003EWhen retrieving an upcoming invoice, you’ll get a \u003Cstrong\u003Elines\u003C/strong\u003E property containing the total count of line items and the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items.\u003C/p\u003E", + "operationId": "AllUpcomingInvoiceLines", + "parameters": [ + { + "description": "The code of the coupon to apply. If `subscription` or `subscription_items` is provided, the invoice returned will preview updating or creating a subscription with that coupon. Otherwise, it will preview applying that coupon to the customer for the next upcoming invoice from among the customer's subscriptions. The invoice can be previewed without a coupon by passing this value as an empty string.", + "in": "query", + "name": "coupon", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "The customer of the upcoming invoice is required. In other cases it is ignored.", + "in": "query", + "name": "customer", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "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.", + "in": "query", + "name": "ending_before", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.", + "in": "query", + "name": "limit", + "required": false, + "schema": { + "type": "integer" + }, + "style": "form" + }, + { + "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.", + "in": "query", + "name": "starting_after", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "The identifier of the subscription for which you'd like to retrieve the upcoming invoice. If not provided, but a `subscription_items` is provided, you will preview creating a subscription with those items. If neither `subscription` nor `subscription_items` is provided, you will retrieve the next upcoming invoice from among the customer's subscriptions.", + "in": "query", + "name": "subscription", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "For new subscriptions, a future timestamp to anchor the subscription's [billing cycle](/docs/subscriptions/billing-cycle). This is used to determine the date of the first full invoice, and, for plans with `month` or `year` intervals, the day of the month for subsequent invoices. For existing subscriptions, the value can only be set to `now` or `unchanged`.", + "explode": true, + "in": "query", + "name": "subscription_billing_cycle_anchor", + "required": false, + "schema": { + "anyOf": [ + { + "enum": [ + "now", + "unchanged" + ], + "maxLength": 5000, + "type": "string" + }, + { + "format": "unix-time", + "type": "integer" + } + ] + }, + "style": "deepObject" + }, + { + "description": "Boolean indicating whether this subscription should cancel at the end of the current period.", + "in": "query", + "name": "subscription_cancel_at_period_end", + "required": false, + "schema": { + "type": "boolean" + }, + "style": "form" + }, + { + "description": "Preview updating the subscription with this list of items. Otherwise this parameter is ignored.", + "explode": true, + "in": "query", + "name": "subscription_items", + "required": false, + "schema": { + "items": { + "properties": { + "clear_usage": { + "type": "boolean" + }, + "deleted": { + "type": "boolean" + }, + "id": { + "maxLength": 5000, + "type": "string" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "plan": { + "maxLength": 5000, + "type": "string" + }, + "quantity": { + "type": "integer" + } + }, + "title": "subscription_item_update_params", + "type": "object" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "If previewing an update to a subscription, this decides whether the preview will show the result of applying prorations or not. If set, one of `subscription_items` or `subscription`, and one of `subscription_items` or `subscription_trial_end` are required.", + "in": "query", + "name": "subscription_prorate", + "required": false, + "schema": { + "type": "boolean" + }, + "style": "form" + }, + { + "description": "If previewing an update to a subscription, and doing proration, `subscription_proration_date` forces the proration to be calculated as though the update was done at the specified time. The time given must be within the current subscription period, and cannot be before the subscription was on its current plan. If set, `subscription`, and one of `subscription_items`, or `subscription_trial_end` are required. Also, `subscription_proration` cannot be set to false.", + "in": "query", + "name": "subscription_proration_date", + "required": false, + "schema": { + "format": "unix-time", + "type": "integer" + }, + "style": "form" + }, + { + "description": "If provided, the invoice returned will preview updating or creating a subscription with that tax percent. If set, one of `subscription_items` or `subscription` is required.", + "in": "query", + "name": "subscription_tax_percent", + "required": false, + "schema": { + "type": "number" + }, + "style": "form" + }, + { + "description": "If provided, the invoice returned will preview updating or creating a subscription with that trial end. If set, one of `subscription_items` or `subscription` is required.", + "explode": true, + "in": "query", + "name": "subscription_trial_end", + "required": false, + "schema": { + "anyOf": [ + { + "enum": [ + "now" + ], + "maxLength": 5000, + "type": "string" + }, + { + "format": "unix-time", + "type": "integer" + } + ] + }, + "style": "deepObject" + }, + { + "description": "Indicates if a plan's `trial_period_days` should be applied to the subscription. Setting `subscription_trial_end` per subscription is preferred, and this defaults to `false`. Setting this flag to `true` together with `subscription_trial_end` is not allowed.", + "in": "query", + "name": "subscription_trial_from_plan", + "required": false, + "schema": { + "type": "boolean" + }, + "style": "form" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/line_item" + }, + "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, + "type": "string" + } + }, + "required": [ + "data", + "has_more", + "object", + "url" + ], + "title": "InvoiceLinesList", + "type": "object", + "x-expandableFields": [ + "data" + ] + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/invoices/{invoice}": { + "delete": { + "description": "\u003Cp\u003EPermanently deletes a draft invoice. This cannot be undone. Attempts to delete invoices that are no longer in a draft state will fail; once an invoice has been finalized, it must be \u003Ca href=\"#void_invoice\"\u003Evoided\u003C/a\u003E.\u003C/p\u003E", + "operationId": "DeleteInvoice", + "parameters": [ + { + "description": "The identifier of the invoice to be deleted.", + "in": "path", + "name": "invoice", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/deleted_invoice" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "get": { + "description": "\u003Cp\u003ERetrieves the invoice with the given ID.\u003C/p\u003E", + "operationId": "RetrieveInvoice", + "parameters": [ + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "The identifier of the desired invoice.", + "in": "path", + "name": "invoice", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/invoice" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003EDraft invoices are fully editable. Once an invoice is \u003Ca href=\"/docs/billing/invoices/workflow#finalized\"\u003Efinalized\u003C/a\u003E,\nmonetary values, as well as \u003Ccode\u003Ebilling\u003C/code\u003E, become uneditable.\u003C/p\u003E\n\n\u003Cp\u003EIf you would like to stop the Stripe Billing engine from automatically finalizing, reattempting payments on,\nsending reminders for, or \u003Ca href=\"/docs/billing/invoices/reconciliation\"\u003Eautomatically reconciling\u003C/a\u003E invoices, pass\n\u003Ccode\u003Eauto_advance=false\u003C/code\u003E.\u003C/p\u003E", + "operationId": "UpdateInvoice", + "parameters": [ + { + "in": "path", + "name": "invoice", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + }, + "metadata": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "application_fee": { + "description": "A fee in %s that will be applied to the invoice and transferred to the application owner's Stripe account. The request must be made with an OAuth key or the Stripe-Account header in order to take an application fee. For more information, see the application fees [documentation](/docs/connect/subscriptions#invoices).", + "type": "integer" + }, + "auto_advance": { + "description": "Controls whether Stripe will perform [automatic collection](/docs/billing/invoices/workflow/#auto_advance) of the invoice.", + "type": "boolean" + }, + "days_until_due": { + "description": "The number of days from which the invoice is created until it is due. Only valid for invoices where `billing=send_invoice`. This field can only be updated on `draft` invoices.", + "type": "integer" + }, + "default_source": { + "description": "ID of the default payment source for the invoice. It must belong to the customer associated with the invoice and be in a chargeable state. If not set, defaults to the subscription's default source, if any, or to the customer's default source.", + "maxLength": 5000, + "type": "string" + }, + "description": { + "maxLength": 1500, + "type": "string" + }, + "due_date": { + "description": "The date on which payment for this invoice is due. Only valid for invoices where `billing=send_invoice`. This field can only be updated on `draft` invoices.", + "format": "unix-time", + "type": "integer" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "statement_descriptor": { + "description": "Extra information about a charge for the customer's credit card statement. It must contain at least one letter. If not specified and this invoice is part of a subscription, the default `statement_descriptor` will be set to the first subscription item's product's `statement_descriptor`.", + "maxLength": 22, + "type": "string" + }, + "tax_percent": { + "description": "The percent tax rate applied to the invoice, represented as a non-negative decimal number (with at most four decimal places) between 0 and 100. To unset a previously-set value, pass an empty string. This field can be updated only on `draft` invoices.", + "nullable": true, + "type": "number" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/invoice" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/invoices/{invoice}/finalize": { + "post": { + "description": "\u003Cp\u003EStripe automatically finalizes drafts before sending and attempting payment on invoices. However, if you’d like to finalize a draft invoice manually, you can do so using this method.\u003C/p\u003E", + "operationId": "FinalizeInvoice", + "parameters": [ + { + "description": "The invoice to be finalized, it must have `status=draft`.", + "in": "path", + "name": "invoice", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "auto_advance": { + "description": "Controls whether Stripe will perform [automatic collection](/docs/billing/invoices/workflow/#auto_advance) of the invoice. When `false`, the invoice's state will not automatically advance without an explicit action.", + "type": "boolean" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/invoice" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/invoices/{invoice}/lines": { + "get": { + "description": "\u003Cp\u003EWhen retrieving an invoice, you’ll get a \u003Cstrong\u003Elines\u003C/strong\u003E property containing the total count of line items and the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items.\u003C/p\u003E", + "operationId": "AllInvoiceLines", + "parameters": [ + { + "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.", + "in": "query", + "name": "ending_before", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "The ID of the invoice containing the lines to be retrieved.", + "in": "path", + "name": "invoice", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + }, + { + "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.", + "in": "query", + "name": "limit", + "required": false, + "schema": { + "type": "integer" + }, + "style": "form" + }, + { + "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.", + "in": "query", + "name": "starting_after", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/line_item" + }, + "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, + "type": "string" + } + }, + "required": [ + "data", + "has_more", + "object", + "url" + ], + "title": "InvoiceLinesList", + "type": "object", + "x-expandableFields": [ + "data" + ] + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/invoices/{invoice}/mark_uncollectible": { + "post": { + "description": "\u003Cp\u003EMarking an invoice as uncollectible is useful for keeping track of bad debts that can be written off for accounting purposes.\u003C/p\u003E", + "operationId": "MarkUncollectibleInvoice", + "parameters": [ + { + "description": "The identifier of the invoice to be marked as uncollectible. The invoice must be `open`.", + "in": "path", + "name": "invoice", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/invoice" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/invoices/{invoice}/pay": { + "post": { + "description": "\u003Cp\u003EStripe automatically creates and then attempts to collect payment on invoices for customers on subscriptions according to your \u003Ca href=\"https://dashboard.stripe.com/account/recurring\"\u003Esubscriptions settings\u003C/a\u003E. However, if you’d like to attempt payment on an invoice out of the normal collection schedule or for some other reason, you can do so.\u003C/p\u003E", + "operationId": "PayInvoice", + "parameters": [ + { + "description": "ID of invoice to pay.", + "in": "path", + "name": "invoice", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "forgive": { + "description": "In cases where the source used to pay the invoice has insufficient funds, passing `forgive=true` controls whether a charge should be attempted for the full amount available on the source, up to the amount to fully pay the invoice. This effectively forgives the difference between the amount available on the source and the amount due. \n\nPassing `forgive=false` will fail the charge if the source hasn't been pre-funded with the right amount. An example for this case is with ACH Credit Transfers and wires: if the amount wired is less than the amount due by a small amount, you might want to forgive the difference.", + "type": "boolean" + }, + "paid_out_of_band": { + "description": "Boolean representing whether an invoice is paid outside of Stripe. This will result in no charge being made.", + "type": "boolean" + }, + "source": { + "description": "A payment source to be charged. The source must be the ID of a source belonging to the customer associated with the invoice being paid.", + "maxLength": 5000, + "type": "string" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/invoice" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/invoices/{invoice}/send": { + "post": { + "description": "\u003Cp\u003EStripe will automatically send invoices to customers according to your \u003Ca href=\"https://dashboard.stripe.com/account/recurring\"\u003Esubscriptions settings\u003C/a\u003E. However, if you’d like to manually send an invoice to your customer out of the normal schedule, you can do so. When sending invoices that have already been paid, there will be no reference to the payment in the email.\u003C/p\u003E\n\n\u003Cp\u003ERequests made in test-mode result in no emails being sent, despite sending an \u003Ccode\u003Einvoice.sent\u003C/code\u003E event.\u003C/p\u003E", + "operationId": "SendInvoice", + "parameters": [ + { + "description": "The invoice you would like to send. The billing mode for this invoice must be `send_invoice`.", + "in": "path", + "name": "invoice", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/invoice" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/invoices/{invoice}/void": { + "post": { + "description": "\u003Cp\u003EMark a finalized invoice as void. This cannot be undone. Voiding an invoice is similar to \u003Ca href=\"#delete_invoice\"\u003Edeletion\u003C/a\u003E, however it only applies to finalized invoices and maintains a papertrail where the invoice can still be found.\u003C/p\u003E", + "operationId": "VoidInvoice", + "parameters": [ + { + "description": "ID of invoice to void. It must be finalzied.", + "in": "path", + "name": "invoice", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/invoice" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/issuer_fraud_records": { + "get": { + "description": "\u003Cp\u003EReturns a list of issuer fraud records.\u003C/p\u003E", + "operationId": "RadarIssuerFraudRecordAll", + "parameters": [ + { + "description": "Only return issuer fraud records for the charge specified by this charge ID.", + "in": "query", + "name": "charge", + "required": false, + "schema": { + "type": "string" + }, + "style": "form" + }, + { + "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.", + "in": "query", + "name": "ending_before", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.", + "in": "query", + "name": "limit", + "required": false, + "schema": { + "type": "integer" + }, + "style": "form" + }, + { + "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.", + "in": "query", + "name": "starting_after", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/issuer_fraud_record" + }, + "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/issuer_fraud_records", + "type": "string" + } + }, + "required": [ + "data", + "has_more", + "object", + "url" + ], + "title": "RadarIssuerFraudRecordList", + "type": "object", + "x-expandableFields": [ + "data" + ] + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/issuer_fraud_records/{issuer_fraud_record}": { + "get": { + "description": "\u003Cp\u003ERetrieves the details of an issuer fraud record that has previously been created. \u003C/p\u003E\n\n\u003Cp\u003EPlease refer to the \u003Ca href=\"#issuer_fraud_record_object\"\u003Eissuer fraud record\u003C/a\u003E object reference for more details.\u003C/p\u003E", + "operationId": "RadarIssuerFraudRecordRetrieve", + "parameters": [ + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "The identifier of the issuer fraud record to be retrieved.", + "in": "path", + "name": "issuer_fraud_record", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/issuer_fraud_record" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/issuing/authorizations": { + "get": { + "description": "\u003Cp\u003EReturns a list of Issuing \u003Ccode\u003EAuthorization\u003C/code\u003E objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first.\u003C/p\u003E", + "operationId": "IssuingAuthorizationAll", + "parameters": [ + { + "description": "Only return issuing transactions that belong to the given card.", + "in": "query", + "name": "card", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "Only return authorizations belonging to the given cardholder.", + "in": "query", + "name": "cardholder", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "Only return authorizations that were created during the given date interval.", + "explode": true, + "in": "query", + "name": "created", + "required": false, + "schema": { + "anyOf": [ + { + "properties": { + "gt": { + "type": "integer" + }, + "gte": { + "type": "integer" + }, + "lt": { + "type": "integer" + }, + "lte": { + "type": "integer" + } + }, + "title": "range_query_specs", + "type": "object" + }, + { + "type": "integer" + } + ] + }, + "style": "deepObject" + }, + { + "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.", + "in": "query", + "name": "ending_before", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.", + "in": "query", + "name": "limit", + "required": false, + "schema": { + "type": "integer" + }, + "style": "form" + }, + { + "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.", + "in": "query", + "name": "starting_after", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "Only return authorizations with the given status. One of pending, closed, or reversed.", + "in": "query", + "name": "status", + "required": false, + "schema": { + "enum": [ + "closed", + "pending", + "reversed" + ], + "maxLength": 5000, + "type": "string" + }, + "style": "form" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/issuing.authorization" + }, + "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/issuing/authorizations", + "type": "string" + } + }, + "required": [ + "data", + "has_more", + "object", + "url" + ], + "type": "object", + "x-expandableFields": [ + "data" + ] + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/issuing/authorizations/{authorization}": { + "get": { + "description": "\u003Cp\u003ERetrieves an Issuing \u003Ccode\u003EAuthorization\u003C/code\u003E object.\u003C/p\u003E", + "operationId": "IssuingAuthorizationRetrieve", + "parameters": [ + { + "description": "The ID of the authorization to retrieve.", + "in": "path", + "name": "authorization", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/issuing.authorization" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003EUpdates the specified Issuing \u003Ccode\u003EAuthorization\u003C/code\u003E object by setting the values of the parameters passed. Any parameters not provided will be left unchanged.\u003C/p\u003E", + "operationId": "IssuingAuthorizationUpdate", + "parameters": [ + { + "description": "The identifier of the authorization to update.", + "in": "path", + "name": "authorization", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + }, + "metadata": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/issuing.authorization" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/issuing/authorizations/{authorization}/approve": { + "post": { + "description": "\u003Cp\u003EApproves a pending Issuing \u003Ccode\u003EAuthorization\u003C/code\u003E object.\u003C/p\u003E", + "operationId": "IssuingAuthorizationApprove", + "parameters": [ + { + "description": "The identifier of the authorization to approve.", + "in": "path", + "name": "authorization", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "held_amount": { + "description": "If the authorization's `is_held_amount_controllable` property is `true`, you may provide this value to control how much to hold for the authorization.", + "type": "integer" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/issuing.authorization" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/issuing/authorizations/{authorization}/decline": { + "post": { + "description": "\u003Cp\u003EDeclines a pending Issuing \u003Ccode\u003EAuthorization\u003C/code\u003E object.\u003C/p\u003E", + "operationId": "IssuingAuthorizationDecline", + "parameters": [ + { + "description": "The identifier of the issuing authorization to decline.", + "in": "path", + "name": "authorization", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/issuing.authorization" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/issuing/cardholders": { + "get": { + "description": "\u003Cp\u003EReturns a list of Issuing \u003Ccode\u003ECardholder\u003C/code\u003E objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first.\u003C/p\u003E", + "operationId": "IssuingCardholderAll", + "parameters": [ + { + "description": "Only return cardholders that were created during the given date interval.", + "explode": true, + "in": "query", + "name": "created", + "required": false, + "schema": { + "anyOf": [ + { + "properties": { + "gt": { + "type": "integer" + }, + "gte": { + "type": "integer" + }, + "lt": { + "type": "integer" + }, + "lte": { + "type": "integer" + } + }, + "title": "range_query_specs", + "type": "object" + }, + { + "type": "integer" + } + ] + }, + "style": "deepObject" + }, + { + "description": "Only return cardholders that have the given email address.", + "in": "query", + "name": "email", + "required": false, + "schema": { + "type": "string" + }, + "style": "form" + }, + { + "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.", + "in": "query", + "name": "ending_before", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "Only return the default cardholder.", + "in": "query", + "name": "is_default", + "required": false, + "schema": { + "type": "boolean" + }, + "style": "form" + }, + { + "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.", + "in": "query", + "name": "limit", + "required": false, + "schema": { + "type": "integer" + }, + "style": "form" + }, + { + "description": "Only return cardholders that have the given phone number.", + "in": "query", + "name": "phone_number", + "required": false, + "schema": { + "type": "string" + }, + "style": "form" + }, + { + "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.", + "in": "query", + "name": "starting_after", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "Only return cardholders that have the given status. One of `active`, `inactive`, or `blocked`.", + "in": "query", + "name": "status", + "required": false, + "schema": { + "enum": [ + "active", + "blocked", + "inactive" + ], + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "Only return cardholders that have the given type. One of `individual` or `business_entity`.", + "in": "query", + "name": "type", + "required": false, + "schema": { + "enum": [ + "business_entity", + "individual" + ], + "maxLength": 5000, + "type": "string" + }, + "style": "form" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/issuing.cardholder" + }, + "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/issuing/cardholders", + "type": "string" + } + }, + "required": [ + "data", + "has_more", + "object", + "url" + ], + "type": "object", + "x-expandableFields": [ + "data" + ] + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003ECreates a new Issuing \u003Ccode\u003ECardholder\u003C/code\u003E object that can be issued cards.\u003C/p\u003E", + "operationId": "IssuingCardholderCreate", + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "billing": { + "explode": true, + "style": "deepObject" + }, + "expand": { + "explode": true, + "style": "deepObject" + }, + "metadata": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "billing": { + "description": "The cardholder's billing address.", + "properties": { + "address": { + "properties": { + "city": { + "maxLength": 5000, + "type": "string" + }, + "country": { + "maxLength": 5000, + "type": "string" + }, + "line1": { + "maxLength": 5000, + "type": "string" + }, + "line2": { + "maxLength": 5000, + "type": "string" + }, + "postal_code": { + "maxLength": 5000, + "type": "string" + }, + "state": { + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "city", + "country", + "line1", + "postal_code" + ], + "title": "required_address", + "type": "object" + }, + "name": { + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "address" + ], + "title": "address_param", + "type": "object" + }, + "email": { + "description": "The cardholder's email address.", + "type": "string" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "is_default": { + "description": "Specifies whether to set this as the default cardholder.", + "type": "boolean" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "name": { + "description": "The cardholder's name. This will be printed on cards issued to them.", + "type": "string" + }, + "phone_number": { + "description": "The cardholder's phone number. This will be transformed to [E.164](https://en.wikipedia.org/wiki/E.164) if it is not provided in that format already.", + "type": "string" + }, + "status": { + "description": "Specifies whether to permit authorizations on this cardholder's cards. Possible values are `active` or `inactive`.", + "enum": [ + "active", + "inactive" + ], + "maxLength": 5000, + "type": "string" + }, + "type": { + "description": "The type of cardholder. Possible values are `individual` or `business_entity`.", + "enum": [ + "business_entity", + "individual" + ], + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "billing", + "name", + "type" + ], + "type": "object" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/issuing.cardholder" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/issuing/cardholders/{cardholder}": { + "get": { + "description": "\u003Cp\u003ERetrieves an Issuing \u003Ccode\u003ECardholder\u003C/code\u003E object.\u003C/p\u003E", + "operationId": "IssuingCardholderRetrieve", + "parameters": [ + { + "description": "The identifier of the cardholder to be retrieved.", + "in": "path", + "name": "cardholder", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/issuing.cardholder" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003EUpdates the specified Issuing \u003Ccode\u003ECardholder\u003C/code\u003E object by setting the values of the parameters passed. Any parameters not provided will be left unchanged.\u003C/p\u003E", + "operationId": "IssuingCardholderUpdate", + "parameters": [ + { + "description": "The ID of the cardholder to update.", + "in": "path", + "name": "cardholder", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "billing": { + "explode": true, + "style": "deepObject" + }, + "expand": { + "explode": true, + "style": "deepObject" + }, + "metadata": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "billing": { + "description": "The cardholder's billing address.", + "properties": { + "address": { + "properties": { + "city": { + "maxLength": 5000, + "type": "string" + }, + "country": { + "maxLength": 5000, + "type": "string" + }, + "line1": { + "maxLength": 5000, + "type": "string" + }, + "line2": { + "maxLength": 5000, + "type": "string" + }, + "postal_code": { + "maxLength": 5000, + "type": "string" + }, + "state": { + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "city", + "country", + "line1", + "postal_code" + ], + "title": "required_address", + "type": "object" + }, + "name": { + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "address" + ], + "title": "address_param", + "type": "object" + }, + "email": { + "description": "The cardholder's email address.", + "type": "string" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "is_default": { + "description": "Specifies whether to set this as the default cardholder.", + "type": "boolean" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "Set of key-value pairs 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`.", + "type": "object" + }, + "phone_number": { + "description": "The cardholder's phone number.", + "type": "string" + }, + "status": { + "description": "Specifies whether to permit authorizations on this cardholder's cards. Possible values are `active` or `inactive`.", + "enum": [ + "active", + "inactive" + ], + "maxLength": 5000, + "type": "string" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/issuing.cardholder" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/issuing/cards": { + "get": { + "description": "\u003Cp\u003EReturns a list of Issuing \u003Ccode\u003ECard\u003C/code\u003E objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first.\u003C/p\u003E", + "operationId": "IssuingCardAll", + "parameters": [ + { + "description": "Only return cards belonging to the Cardholder with the provided ID.", + "in": "query", + "name": "cardholder", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "Only return cards that were issued during the given date interval.", + "explode": true, + "in": "query", + "name": "created", + "required": false, + "schema": { + "anyOf": [ + { + "properties": { + "gt": { + "type": "integer" + }, + "gte": { + "type": "integer" + }, + "lt": { + "type": "integer" + }, + "lte": { + "type": "integer" + } + }, + "title": "range_query_specs", + "type": "object" + }, + { + "type": "integer" + } + ] + }, + "style": "deepObject" + }, + { + "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.", + "in": "query", + "name": "ending_before", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "Only return cards that have the given expiration month.", + "in": "query", + "name": "exp_month", + "required": false, + "schema": { + "type": "integer" + }, + "style": "form" + }, + { + "description": "Only return cards that have the given expiration year.", + "in": "query", + "name": "exp_year", + "required": false, + "schema": { + "type": "integer" + }, + "style": "form" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "Only return cards that have the given last four digits.", + "in": "query", + "name": "last4", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.", + "in": "query", + "name": "limit", + "required": false, + "schema": { + "type": "integer" + }, + "style": "form" + }, + { + "description": "Only return cards that have the given name.", + "in": "query", + "name": "name", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "Only return cards whose full card number matches that of this card source ID.", + "in": "query", + "name": "source", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "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.", + "in": "query", + "name": "starting_after", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "Only return cards that have the given status. One of `active`, `inactive`, or `canceled`.", + "in": "query", + "name": "status", + "required": false, + "schema": { + "enum": [ + "active", + "canceled", + "inactive", + "lost", + "stolen" + ], + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "Only return cards that have the given type. One of `virtual` or `physical`.", + "in": "query", + "name": "type", + "required": false, + "schema": { + "enum": [ + "physical", + "virtual" + ], + "maxLength": 5000, + "type": "string" + }, + "style": "form" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/issuing.card" + }, + "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/issuing/cards", + "type": "string" + } + }, + "required": [ + "data", + "has_more", + "object", + "url" + ], + "type": "object", + "x-expandableFields": [ + "data" + ] + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003ECreates an Issuing \u003Ccode\u003ECard\u003C/code\u003E object.\u003C/p\u003E", + "operationId": "IssuingCardCreate", + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "authorization_controls": { + "explode": true, + "style": "deepObject" + }, + "expand": { + "explode": true, + "style": "deepObject" + }, + "metadata": { + "explode": true, + "style": "deepObject" + }, + "shipping": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "authorization_controls": { + "description": "Spending rules that give you some control over how your cards can be used. Refer to our [authorizations](/docs/issuing/authorizations) documentation for more details.", + "properties": { + "allowed_categories": { + "items": { + "enum": [ + "ac_refrigeration_repair", + "accounting_bookkeeping_services", + "advertising_services", + "agricultural_cooperative", + "airlines_air_carriers", + "airports_flying_fields", + "ambulance_services", + "amusement_parks_carnivals", + "antique_reproductions", + "antique_shops", + "aquariums", + "architectural_surveying_services", + "art_dealers_and_galleries", + "artists_supply_and_craft_shops", + "auto_and_home_supply_stores", + "auto_body_repair_shops", + "auto_paint_shops", + "auto_service_shops", + "automated_cash_disburse", + "automated_fuel_dispensers", + "automobile_associations", + "automotive_parts_and_accessories_stores", + "automotive_tire_stores", + "bail_and_bond_payments", + "bakeries", + "bands_orchestras", + "barber_and_beauty_shops", + "betting_casino_gambling", + "bicycle_shops", + "billiard_pool_establishments", + "boat_dealers", + "boat_rentals_and_leases", + "book_stores", + "books_periodicals_and_newspapers", + "bowling_alleys", + "bus_lines", + "business_secretarial_schools", + "buying_shopping_services", + "cable_satellite_and_other_pay_television_and_radio", + "camera_and_photographic_supply_stores", + "candy_nut_and_confectionery_stores", + "car_and_truck_dealers_new_used", + "car_and_truck_dealers_used_only", + "car_rental_agencies", + "car_washes", + "carpentry_services", + "carpet_upholstery_cleaning", + "caterers", + "charitable_and_social_service_organizations_fundraising", + "chemicals_and_allied_products", + "chidrens_and_infants_wear_stores", + "child_care_services", + "chiropodists_podiatrists", + "chiropractors", + "cigar_stores_and_stands", + "civic_social_fraternal_associations", + "cleaning_and_maintenance", + "clothing_rental", + "colleges_universities", + "commercial_equipment", + "commercial_footwear", + "commercial_photography_art_and_graphics", + "commuter_transport_and_ferries", + "computer_network_services", + "computer_programming", + "computer_repair", + "computer_software_stores", + "computers_peripherals_and_software", + "concrete_work_services", + "construction_materials", + "consulting_public_relations", + "correspondence_schools", + "cosmetic_stores", + "counseling_services", + "country_clubs", + "courier_services", + "court_costs", + "credit_reporting_agencies", + "cruise_lines", + "dairy_products_stores", + "dance_hall_studios_schools", + "dating_escort_services", + "dentists_orthodontists", + "department_stores", + "detective_agencies", + "direct_marketing_catalog_merchant", + "direct_marketing_combination_catalog_and_retail_merchant", + "direct_marketing_inbound_telemarketing", + "direct_marketing_insurance_services", + "direct_marketing_other", + "direct_marketing_outbound_telemarketing", + "direct_marketing_subscription", + "direct_marketing_travel", + "discount_stores", + "doctors", + "door_to_door_sales", + "drapery_window_covering_and_upholstery_stores", + "drinking_places", + "drug_stores_and_pharmacies", + "drugs_drug_proprietaries_and_druggist_sundries", + "dry_cleaners", + "durable_goods", + "duty_free_stores", + "eating_places_restaurants", + "educational_services", + "electric_razor_stores", + "electrical_parts_and_equipment", + "electrical_services", + "electronics_repair_shops", + "electronics_stores", + "elementary_secondary_schools", + "employment_temp_agencies", + "equipment_rental", + "exterminating_services", + "family_clothing_stores", + "fast_food_restaurants", + "financial_institutions", + "fines_government_administrative_entities", + "fireplace_fireplace_screens_and_accessories_stores", + "floor_covering_stores", + "florists", + "florists_supplies_nursery_stock_and_flowers", + "freezer_and_locker_meat_provisioners", + "fuel_dealers_non_automotive", + "funeral_services_crematories", + "furniture_home_furnishings_and_equipment_stores_except_appliances", + "furniture_repair_refinishing", + "furriers_and_fur_shops", + "general_services", + "gift_card_novelty_and_souvenir_shops", + "glass_paint_and_wallpaper_stores", + "glassware_crystal_stores", + "golf_courses_public", + "government_services", + "grocery_stores_supermarkets", + "hardware_equipment_and_supplies", + "hardware_stores", + "health_and_beauty_spas", + "hearing_aids_sales_and_supplies", + "heating_plumbing_a_c", + "hobby_toy_and_game_shops", + "home_supply_warehouse_stores", + "hospitals", + "hotels_motels_and_resorts", + "household_appliance_stores", + "industrial_supplies", + "information_retrieval_services", + "insurance_default", + "insurance_underwriting_premiums", + "intra_company_purchases", + "jewelry_stores_watches_clocks_and_silverware_stores", + "landscaping_services", + "laundries", + "laundry_cleaning_services", + "legal_services_attorneys", + "luggage_and_leather_goods_stores", + "lumber_building_materials_stores", + "manual_cash_disburse", + "marinas_service_and_supplies", + "masonry_stonework_and_plaster", + "massage_parlors", + "means_womens_clothing_stores", + "medical_and_dental_labs", + "medical_dental_ophthalmic_and_hospital_equipment_and_supplies", + "medical_services", + "membership_organizations", + "mens_and_boys_clothing_and_accessories_stores", + "metal_service_centers", + "miscellaneous", + "miscellaneous_apparel_and_accessory_shops", + "miscellaneous_auto_dealers", + "miscellaneous_business_services", + "miscellaneous_food_stores", + "miscellaneous_general_merchandise", + "miscellaneous_general_services", + "miscellaneous_home_furnishing_specialty_stores", + "miscellaneous_publishing_and_printing", + "miscellaneous_recreation_services", + "miscellaneous_repair_shops", + "miscellaneous_specialty_retail", + "mobile_home_dealers", + "motion_picture_theaters", + "motor_freight_carriers_and_trucking", + "motor_homes_dealers", + "motor_vehicle_supplies_and_new_parts", + "motorcycle_shops_and_dealers", + "motorcycle_shops_dealers", + "music_stores_musical_instruments_pianos_and_sheet_music", + "news_dealers_and_newsstands", + "non_fi_money_orders", + "non_fi_stored_value_card_purchase_load", + "nondurable_goods", + "nurseries_lawn_and_garden_supply_stores", + "nursing_personal_care", + "office_and_commercial_furniture", + "opticians_eyeglasses", + "optometrists_ophthalmologist", + "orthopedic_goods_prosthetic_devices", + "osteopaths", + "package_stores_beer_wine_and_liquor", + "paints_varnishes_and_supplies", + "parking_lots_garages", + "passenger_railways", + "pawn_shops", + "pet_shops_pet_food_and_supplies", + "petroleum_and_petroleum_products", + "photo_developing", + "photographic_photocopy_microfilm_equipment_and_supplies", + "photographic_studios", + "picture_video_production", + "piece_goods_notions_and_other_dry_goods", + "plumbing_heating_equipment_and_supplies", + "political_organizations", + "postal_services_government_only", + "precious_stones_and_metals_watches_and_jewelry", + "professional_services", + "public_warehousing_and_storage", + "quick_copy_repro_and_blueprint", + "railroads", + "real_estate_agents_and_managers_rentals", + "record_stores", + "recreational_vehicle_rentals", + "religious_goods_stores", + "religious_organizations", + "roofing_siding_sheet_metal", + "secretarial_support_services", + "security_brokers_dealers", + "service_stations", + "sewing_needlework_fabric_and_piece_goods_stores", + "shoe_repair_hat_cleaning", + "shoe_stores", + "small_appliance_repair", + "snowmobile_dealers", + "special_trade_services", + "specialty_cleaning", + "sporting_goods_stores", + "sporting_recreation_camps", + "sports_and_riding_apparel_stores", + "sports_clubs_fields", + "stamp_and_coin_stores", + "stationary_office_supplies_printing_and_writing_paper", + "stationery_stores_office_and_school_supply_stores", + "swimming_pools_sales", + "t_ui_travel_germany", + "tailors_alterations", + "tax_payments_government_agencies", + "tax_preparation_services", + "taxicabs_limousines", + "telecommunication_equipment_and_telephone_sales", + "telecommunication_services", + "telegraph_services", + "tent_and_awning_shops", + "testing_laboratories", + "theatrical_ticket_agencies", + "timeshares", + "tire_retreading_and_repair", + "tolls_bridge_fees", + "tourist_attractions_and_exhibits", + "towing_services", + "trailer_parks_campgrounds", + "transportation_services", + "travel_agencies_tour_operators", + "truck_stop_iteration", + "truck_utility_trailer_rentals", + "typesetting_plate_making_and_related_services", + "typewriter_stores", + "u_s_federal_government_agencies_or_departments", + "uniforms_commercial_clothing", + "used_merchandise_and_secondhand_stores", + "utilities", + "variety_stores", + "veterinary_services", + "video_amusement_game_supplies", + "video_game_arcades", + "video_tape_rental_stores", + "vocational_trade_schools", + "watch_jewelry_repair", + "welding_repair", + "wholesale_clubs", + "wig_and_toupee_stores", + "wires_money_orders", + "womens_accessory_and_specialty_shops", + "womens_ready_to_wear_stores", + "wrecking_and_salvage_yards" + ], + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "blocked_categories": { + "items": { + "enum": [ + "ac_refrigeration_repair", + "accounting_bookkeeping_services", + "advertising_services", + "agricultural_cooperative", + "airlines_air_carriers", + "airports_flying_fields", + "ambulance_services", + "amusement_parks_carnivals", + "antique_reproductions", + "antique_shops", + "aquariums", + "architectural_surveying_services", + "art_dealers_and_galleries", + "artists_supply_and_craft_shops", + "auto_and_home_supply_stores", + "auto_body_repair_shops", + "auto_paint_shops", + "auto_service_shops", + "automated_cash_disburse", + "automated_fuel_dispensers", + "automobile_associations", + "automotive_parts_and_accessories_stores", + "automotive_tire_stores", + "bail_and_bond_payments", + "bakeries", + "bands_orchestras", + "barber_and_beauty_shops", + "betting_casino_gambling", + "bicycle_shops", + "billiard_pool_establishments", + "boat_dealers", + "boat_rentals_and_leases", + "book_stores", + "books_periodicals_and_newspapers", + "bowling_alleys", + "bus_lines", + "business_secretarial_schools", + "buying_shopping_services", + "cable_satellite_and_other_pay_television_and_radio", + "camera_and_photographic_supply_stores", + "candy_nut_and_confectionery_stores", + "car_and_truck_dealers_new_used", + "car_and_truck_dealers_used_only", + "car_rental_agencies", + "car_washes", + "carpentry_services", + "carpet_upholstery_cleaning", + "caterers", + "charitable_and_social_service_organizations_fundraising", + "chemicals_and_allied_products", + "chidrens_and_infants_wear_stores", + "child_care_services", + "chiropodists_podiatrists", + "chiropractors", + "cigar_stores_and_stands", + "civic_social_fraternal_associations", + "cleaning_and_maintenance", + "clothing_rental", + "colleges_universities", + "commercial_equipment", + "commercial_footwear", + "commercial_photography_art_and_graphics", + "commuter_transport_and_ferries", + "computer_network_services", + "computer_programming", + "computer_repair", + "computer_software_stores", + "computers_peripherals_and_software", + "concrete_work_services", + "construction_materials", + "consulting_public_relations", + "correspondence_schools", + "cosmetic_stores", + "counseling_services", + "country_clubs", + "courier_services", + "court_costs", + "credit_reporting_agencies", + "cruise_lines", + "dairy_products_stores", + "dance_hall_studios_schools", + "dating_escort_services", + "dentists_orthodontists", + "department_stores", + "detective_agencies", + "direct_marketing_catalog_merchant", + "direct_marketing_combination_catalog_and_retail_merchant", + "direct_marketing_inbound_telemarketing", + "direct_marketing_insurance_services", + "direct_marketing_other", + "direct_marketing_outbound_telemarketing", + "direct_marketing_subscription", + "direct_marketing_travel", + "discount_stores", + "doctors", + "door_to_door_sales", + "drapery_window_covering_and_upholstery_stores", + "drinking_places", + "drug_stores_and_pharmacies", + "drugs_drug_proprietaries_and_druggist_sundries", + "dry_cleaners", + "durable_goods", + "duty_free_stores", + "eating_places_restaurants", + "educational_services", + "electric_razor_stores", + "electrical_parts_and_equipment", + "electrical_services", + "electronics_repair_shops", + "electronics_stores", + "elementary_secondary_schools", + "employment_temp_agencies", + "equipment_rental", + "exterminating_services", + "family_clothing_stores", + "fast_food_restaurants", + "financial_institutions", + "fines_government_administrative_entities", + "fireplace_fireplace_screens_and_accessories_stores", + "floor_covering_stores", + "florists", + "florists_supplies_nursery_stock_and_flowers", + "freezer_and_locker_meat_provisioners", + "fuel_dealers_non_automotive", + "funeral_services_crematories", + "furniture_home_furnishings_and_equipment_stores_except_appliances", + "furniture_repair_refinishing", + "furriers_and_fur_shops", + "general_services", + "gift_card_novelty_and_souvenir_shops", + "glass_paint_and_wallpaper_stores", + "glassware_crystal_stores", + "golf_courses_public", + "government_services", + "grocery_stores_supermarkets", + "hardware_equipment_and_supplies", + "hardware_stores", + "health_and_beauty_spas", + "hearing_aids_sales_and_supplies", + "heating_plumbing_a_c", + "hobby_toy_and_game_shops", + "home_supply_warehouse_stores", + "hospitals", + "hotels_motels_and_resorts", + "household_appliance_stores", + "industrial_supplies", + "information_retrieval_services", + "insurance_default", + "insurance_underwriting_premiums", + "intra_company_purchases", + "jewelry_stores_watches_clocks_and_silverware_stores", + "landscaping_services", + "laundries", + "laundry_cleaning_services", + "legal_services_attorneys", + "luggage_and_leather_goods_stores", + "lumber_building_materials_stores", + "manual_cash_disburse", + "marinas_service_and_supplies", + "masonry_stonework_and_plaster", + "massage_parlors", + "means_womens_clothing_stores", + "medical_and_dental_labs", + "medical_dental_ophthalmic_and_hospital_equipment_and_supplies", + "medical_services", + "membership_organizations", + "mens_and_boys_clothing_and_accessories_stores", + "metal_service_centers", + "miscellaneous", + "miscellaneous_apparel_and_accessory_shops", + "miscellaneous_auto_dealers", + "miscellaneous_business_services", + "miscellaneous_food_stores", + "miscellaneous_general_merchandise", + "miscellaneous_general_services", + "miscellaneous_home_furnishing_specialty_stores", + "miscellaneous_publishing_and_printing", + "miscellaneous_recreation_services", + "miscellaneous_repair_shops", + "miscellaneous_specialty_retail", + "mobile_home_dealers", + "motion_picture_theaters", + "motor_freight_carriers_and_trucking", + "motor_homes_dealers", + "motor_vehicle_supplies_and_new_parts", + "motorcycle_shops_and_dealers", + "motorcycle_shops_dealers", + "music_stores_musical_instruments_pianos_and_sheet_music", + "news_dealers_and_newsstands", + "non_fi_money_orders", + "non_fi_stored_value_card_purchase_load", + "nondurable_goods", + "nurseries_lawn_and_garden_supply_stores", + "nursing_personal_care", + "office_and_commercial_furniture", + "opticians_eyeglasses", + "optometrists_ophthalmologist", + "orthopedic_goods_prosthetic_devices", + "osteopaths", + "package_stores_beer_wine_and_liquor", + "paints_varnishes_and_supplies", + "parking_lots_garages", + "passenger_railways", + "pawn_shops", + "pet_shops_pet_food_and_supplies", + "petroleum_and_petroleum_products", + "photo_developing", + "photographic_photocopy_microfilm_equipment_and_supplies", + "photographic_studios", + "picture_video_production", + "piece_goods_notions_and_other_dry_goods", + "plumbing_heating_equipment_and_supplies", + "political_organizations", + "postal_services_government_only", + "precious_stones_and_metals_watches_and_jewelry", + "professional_services", + "public_warehousing_and_storage", + "quick_copy_repro_and_blueprint", + "railroads", + "real_estate_agents_and_managers_rentals", + "record_stores", + "recreational_vehicle_rentals", + "religious_goods_stores", + "religious_organizations", + "roofing_siding_sheet_metal", + "secretarial_support_services", + "security_brokers_dealers", + "service_stations", + "sewing_needlework_fabric_and_piece_goods_stores", + "shoe_repair_hat_cleaning", + "shoe_stores", + "small_appliance_repair", + "snowmobile_dealers", + "special_trade_services", + "specialty_cleaning", + "sporting_goods_stores", + "sporting_recreation_camps", + "sports_and_riding_apparel_stores", + "sports_clubs_fields", + "stamp_and_coin_stores", + "stationary_office_supplies_printing_and_writing_paper", + "stationery_stores_office_and_school_supply_stores", + "swimming_pools_sales", + "t_ui_travel_germany", + "tailors_alterations", + "tax_payments_government_agencies", + "tax_preparation_services", + "taxicabs_limousines", + "telecommunication_equipment_and_telephone_sales", + "telecommunication_services", + "telegraph_services", + "tent_and_awning_shops", + "testing_laboratories", + "theatrical_ticket_agencies", + "timeshares", + "tire_retreading_and_repair", + "tolls_bridge_fees", + "tourist_attractions_and_exhibits", + "towing_services", + "trailer_parks_campgrounds", + "transportation_services", + "travel_agencies_tour_operators", + "truck_stop_iteration", + "truck_utility_trailer_rentals", + "typesetting_plate_making_and_related_services", + "typewriter_stores", + "u_s_federal_government_agencies_or_departments", + "uniforms_commercial_clothing", + "used_merchandise_and_secondhand_stores", + "utilities", + "variety_stores", + "veterinary_services", + "video_amusement_game_supplies", + "video_game_arcades", + "video_tape_rental_stores", + "vocational_trade_schools", + "watch_jewelry_repair", + "welding_repair", + "wholesale_clubs", + "wig_and_toupee_stores", + "wires_money_orders", + "womens_accessory_and_specialty_shops", + "womens_ready_to_wear_stores", + "wrecking_and_salvage_yards" + ], + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "max_amount": { + "type": "integer" + }, + "max_approvals": { + "type": "integer" + } + }, + "title": "authorization_controls_param", + "type": "object" + }, + "cardholder": { + "description": "The [Cardholder](/docs/api#issuing_cardholder_object) object with which the card will be associated.", + "maxLength": 5000, + "type": "string" + }, + "currency": { + "description": "The currency for the card. This currently must be `usd`.", + "type": "string" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "shipping": { + "description": "The address where the card will be shipped. This will default to the cardholder's billing address for physical cards.", + "properties": { + "address": { + "properties": { + "city": { + "maxLength": 5000, + "type": "string" + }, + "country": { + "maxLength": 5000, + "type": "string" + }, + "line1": { + "maxLength": 5000, + "type": "string" + }, + "line2": { + "maxLength": 5000, + "type": "string" + }, + "postal_code": { + "maxLength": 5000, + "type": "string" + }, + "state": { + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "city", + "country", + "line1", + "postal_code" + ], + "title": "required_address", + "type": "object" + }, + "name": { + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "address", + "name" + ], + "title": "shipping_param", + "type": "object" + }, + "status": { + "description": "Specifies whether to permit authorizations on this card. Possible values are `active` or `inactive`.", + "enum": [ + "active", + "inactive" + ], + "maxLength": 5000, + "type": "string" + }, + "type": { + "description": "The type of card to issue. Possible values are `physical` or `virtual`.", + "enum": [ + "physical", + "virtual" + ], + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "currency", + "type" + ], + "type": "object" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/issuing.card" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/issuing/cards/{card}": { + "get": { + "description": "\u003Cp\u003ERetrieves an Issuing \u003Ccode\u003ECard\u003C/code\u003E object.\u003C/p\u003E", + "operationId": "IssuingCardRetrieve", + "parameters": [ + { + "description": "The identifier of the card to be retrieved.", + "in": "path", + "name": "card", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/issuing.card" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003EUpdates the specified Issuing \u003Ccode\u003ECard\u003C/code\u003E object by setting the values of the parameters passed. Any parameters not provided will be left unchanged.\u003C/p\u003E", + "operationId": "IssuingCardUpdate", + "parameters": [ + { + "description": "The identifier of the issued card to update.", + "in": "path", + "name": "card", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "authorization_controls": { + "explode": true, + "style": "deepObject" + }, + "expand": { + "explode": true, + "style": "deepObject" + }, + "metadata": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "authorization_controls": { + "description": "Spending rules that give you some control over how your cards can be used. Refer to our [authorizations](/docs/issuing/authorizations) documentation for more details.", + "properties": { + "allowed_categories": { + "items": { + "enum": [ + "ac_refrigeration_repair", + "accounting_bookkeeping_services", + "advertising_services", + "agricultural_cooperative", + "airlines_air_carriers", + "airports_flying_fields", + "ambulance_services", + "amusement_parks_carnivals", + "antique_reproductions", + "antique_shops", + "aquariums", + "architectural_surveying_services", + "art_dealers_and_galleries", + "artists_supply_and_craft_shops", + "auto_and_home_supply_stores", + "auto_body_repair_shops", + "auto_paint_shops", + "auto_service_shops", + "automated_cash_disburse", + "automated_fuel_dispensers", + "automobile_associations", + "automotive_parts_and_accessories_stores", + "automotive_tire_stores", + "bail_and_bond_payments", + "bakeries", + "bands_orchestras", + "barber_and_beauty_shops", + "betting_casino_gambling", + "bicycle_shops", + "billiard_pool_establishments", + "boat_dealers", + "boat_rentals_and_leases", + "book_stores", + "books_periodicals_and_newspapers", + "bowling_alleys", + "bus_lines", + "business_secretarial_schools", + "buying_shopping_services", + "cable_satellite_and_other_pay_television_and_radio", + "camera_and_photographic_supply_stores", + "candy_nut_and_confectionery_stores", + "car_and_truck_dealers_new_used", + "car_and_truck_dealers_used_only", + "car_rental_agencies", + "car_washes", + "carpentry_services", + "carpet_upholstery_cleaning", + "caterers", + "charitable_and_social_service_organizations_fundraising", + "chemicals_and_allied_products", + "chidrens_and_infants_wear_stores", + "child_care_services", + "chiropodists_podiatrists", + "chiropractors", + "cigar_stores_and_stands", + "civic_social_fraternal_associations", + "cleaning_and_maintenance", + "clothing_rental", + "colleges_universities", + "commercial_equipment", + "commercial_footwear", + "commercial_photography_art_and_graphics", + "commuter_transport_and_ferries", + "computer_network_services", + "computer_programming", + "computer_repair", + "computer_software_stores", + "computers_peripherals_and_software", + "concrete_work_services", + "construction_materials", + "consulting_public_relations", + "correspondence_schools", + "cosmetic_stores", + "counseling_services", + "country_clubs", + "courier_services", + "court_costs", + "credit_reporting_agencies", + "cruise_lines", + "dairy_products_stores", + "dance_hall_studios_schools", + "dating_escort_services", + "dentists_orthodontists", + "department_stores", + "detective_agencies", + "direct_marketing_catalog_merchant", + "direct_marketing_combination_catalog_and_retail_merchant", + "direct_marketing_inbound_telemarketing", + "direct_marketing_insurance_services", + "direct_marketing_other", + "direct_marketing_outbound_telemarketing", + "direct_marketing_subscription", + "direct_marketing_travel", + "discount_stores", + "doctors", + "door_to_door_sales", + "drapery_window_covering_and_upholstery_stores", + "drinking_places", + "drug_stores_and_pharmacies", + "drugs_drug_proprietaries_and_druggist_sundries", + "dry_cleaners", + "durable_goods", + "duty_free_stores", + "eating_places_restaurants", + "educational_services", + "electric_razor_stores", + "electrical_parts_and_equipment", + "electrical_services", + "electronics_repair_shops", + "electronics_stores", + "elementary_secondary_schools", + "employment_temp_agencies", + "equipment_rental", + "exterminating_services", + "family_clothing_stores", + "fast_food_restaurants", + "financial_institutions", + "fines_government_administrative_entities", + "fireplace_fireplace_screens_and_accessories_stores", + "floor_covering_stores", + "florists", + "florists_supplies_nursery_stock_and_flowers", + "freezer_and_locker_meat_provisioners", + "fuel_dealers_non_automotive", + "funeral_services_crematories", + "furniture_home_furnishings_and_equipment_stores_except_appliances", + "furniture_repair_refinishing", + "furriers_and_fur_shops", + "general_services", + "gift_card_novelty_and_souvenir_shops", + "glass_paint_and_wallpaper_stores", + "glassware_crystal_stores", + "golf_courses_public", + "government_services", + "grocery_stores_supermarkets", + "hardware_equipment_and_supplies", + "hardware_stores", + "health_and_beauty_spas", + "hearing_aids_sales_and_supplies", + "heating_plumbing_a_c", + "hobby_toy_and_game_shops", + "home_supply_warehouse_stores", + "hospitals", + "hotels_motels_and_resorts", + "household_appliance_stores", + "industrial_supplies", + "information_retrieval_services", + "insurance_default", + "insurance_underwriting_premiums", + "intra_company_purchases", + "jewelry_stores_watches_clocks_and_silverware_stores", + "landscaping_services", + "laundries", + "laundry_cleaning_services", + "legal_services_attorneys", + "luggage_and_leather_goods_stores", + "lumber_building_materials_stores", + "manual_cash_disburse", + "marinas_service_and_supplies", + "masonry_stonework_and_plaster", + "massage_parlors", + "means_womens_clothing_stores", + "medical_and_dental_labs", + "medical_dental_ophthalmic_and_hospital_equipment_and_supplies", + "medical_services", + "membership_organizations", + "mens_and_boys_clothing_and_accessories_stores", + "metal_service_centers", + "miscellaneous", + "miscellaneous_apparel_and_accessory_shops", + "miscellaneous_auto_dealers", + "miscellaneous_business_services", + "miscellaneous_food_stores", + "miscellaneous_general_merchandise", + "miscellaneous_general_services", + "miscellaneous_home_furnishing_specialty_stores", + "miscellaneous_publishing_and_printing", + "miscellaneous_recreation_services", + "miscellaneous_repair_shops", + "miscellaneous_specialty_retail", + "mobile_home_dealers", + "motion_picture_theaters", + "motor_freight_carriers_and_trucking", + "motor_homes_dealers", + "motor_vehicle_supplies_and_new_parts", + "motorcycle_shops_and_dealers", + "motorcycle_shops_dealers", + "music_stores_musical_instruments_pianos_and_sheet_music", + "news_dealers_and_newsstands", + "non_fi_money_orders", + "non_fi_stored_value_card_purchase_load", + "nondurable_goods", + "nurseries_lawn_and_garden_supply_stores", + "nursing_personal_care", + "office_and_commercial_furniture", + "opticians_eyeglasses", + "optometrists_ophthalmologist", + "orthopedic_goods_prosthetic_devices", + "osteopaths", + "package_stores_beer_wine_and_liquor", + "paints_varnishes_and_supplies", + "parking_lots_garages", + "passenger_railways", + "pawn_shops", + "pet_shops_pet_food_and_supplies", + "petroleum_and_petroleum_products", + "photo_developing", + "photographic_photocopy_microfilm_equipment_and_supplies", + "photographic_studios", + "picture_video_production", + "piece_goods_notions_and_other_dry_goods", + "plumbing_heating_equipment_and_supplies", + "political_organizations", + "postal_services_government_only", + "precious_stones_and_metals_watches_and_jewelry", + "professional_services", + "public_warehousing_and_storage", + "quick_copy_repro_and_blueprint", + "railroads", + "real_estate_agents_and_managers_rentals", + "record_stores", + "recreational_vehicle_rentals", + "religious_goods_stores", + "religious_organizations", + "roofing_siding_sheet_metal", + "secretarial_support_services", + "security_brokers_dealers", + "service_stations", + "sewing_needlework_fabric_and_piece_goods_stores", + "shoe_repair_hat_cleaning", + "shoe_stores", + "small_appliance_repair", + "snowmobile_dealers", + "special_trade_services", + "specialty_cleaning", + "sporting_goods_stores", + "sporting_recreation_camps", + "sports_and_riding_apparel_stores", + "sports_clubs_fields", + "stamp_and_coin_stores", + "stationary_office_supplies_printing_and_writing_paper", + "stationery_stores_office_and_school_supply_stores", + "swimming_pools_sales", + "t_ui_travel_germany", + "tailors_alterations", + "tax_payments_government_agencies", + "tax_preparation_services", + "taxicabs_limousines", + "telecommunication_equipment_and_telephone_sales", + "telecommunication_services", + "telegraph_services", + "tent_and_awning_shops", + "testing_laboratories", + "theatrical_ticket_agencies", + "timeshares", + "tire_retreading_and_repair", + "tolls_bridge_fees", + "tourist_attractions_and_exhibits", + "towing_services", + "trailer_parks_campgrounds", + "transportation_services", + "travel_agencies_tour_operators", + "truck_stop_iteration", + "truck_utility_trailer_rentals", + "typesetting_plate_making_and_related_services", + "typewriter_stores", + "u_s_federal_government_agencies_or_departments", + "uniforms_commercial_clothing", + "used_merchandise_and_secondhand_stores", + "utilities", + "variety_stores", + "veterinary_services", + "video_amusement_game_supplies", + "video_game_arcades", + "video_tape_rental_stores", + "vocational_trade_schools", + "watch_jewelry_repair", + "welding_repair", + "wholesale_clubs", + "wig_and_toupee_stores", + "wires_money_orders", + "womens_accessory_and_specialty_shops", + "womens_ready_to_wear_stores", + "wrecking_and_salvage_yards" + ], + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "blocked_categories": { + "items": { + "enum": [ + "ac_refrigeration_repair", + "accounting_bookkeeping_services", + "advertising_services", + "agricultural_cooperative", + "airlines_air_carriers", + "airports_flying_fields", + "ambulance_services", + "amusement_parks_carnivals", + "antique_reproductions", + "antique_shops", + "aquariums", + "architectural_surveying_services", + "art_dealers_and_galleries", + "artists_supply_and_craft_shops", + "auto_and_home_supply_stores", + "auto_body_repair_shops", + "auto_paint_shops", + "auto_service_shops", + "automated_cash_disburse", + "automated_fuel_dispensers", + "automobile_associations", + "automotive_parts_and_accessories_stores", + "automotive_tire_stores", + "bail_and_bond_payments", + "bakeries", + "bands_orchestras", + "barber_and_beauty_shops", + "betting_casino_gambling", + "bicycle_shops", + "billiard_pool_establishments", + "boat_dealers", + "boat_rentals_and_leases", + "book_stores", + "books_periodicals_and_newspapers", + "bowling_alleys", + "bus_lines", + "business_secretarial_schools", + "buying_shopping_services", + "cable_satellite_and_other_pay_television_and_radio", + "camera_and_photographic_supply_stores", + "candy_nut_and_confectionery_stores", + "car_and_truck_dealers_new_used", + "car_and_truck_dealers_used_only", + "car_rental_agencies", + "car_washes", + "carpentry_services", + "carpet_upholstery_cleaning", + "caterers", + "charitable_and_social_service_organizations_fundraising", + "chemicals_and_allied_products", + "chidrens_and_infants_wear_stores", + "child_care_services", + "chiropodists_podiatrists", + "chiropractors", + "cigar_stores_and_stands", + "civic_social_fraternal_associations", + "cleaning_and_maintenance", + "clothing_rental", + "colleges_universities", + "commercial_equipment", + "commercial_footwear", + "commercial_photography_art_and_graphics", + "commuter_transport_and_ferries", + "computer_network_services", + "computer_programming", + "computer_repair", + "computer_software_stores", + "computers_peripherals_and_software", + "concrete_work_services", + "construction_materials", + "consulting_public_relations", + "correspondence_schools", + "cosmetic_stores", + "counseling_services", + "country_clubs", + "courier_services", + "court_costs", + "credit_reporting_agencies", + "cruise_lines", + "dairy_products_stores", + "dance_hall_studios_schools", + "dating_escort_services", + "dentists_orthodontists", + "department_stores", + "detective_agencies", + "direct_marketing_catalog_merchant", + "direct_marketing_combination_catalog_and_retail_merchant", + "direct_marketing_inbound_telemarketing", + "direct_marketing_insurance_services", + "direct_marketing_other", + "direct_marketing_outbound_telemarketing", + "direct_marketing_subscription", + "direct_marketing_travel", + "discount_stores", + "doctors", + "door_to_door_sales", + "drapery_window_covering_and_upholstery_stores", + "drinking_places", + "drug_stores_and_pharmacies", + "drugs_drug_proprietaries_and_druggist_sundries", + "dry_cleaners", + "durable_goods", + "duty_free_stores", + "eating_places_restaurants", + "educational_services", + "electric_razor_stores", + "electrical_parts_and_equipment", + "electrical_services", + "electronics_repair_shops", + "electronics_stores", + "elementary_secondary_schools", + "employment_temp_agencies", + "equipment_rental", + "exterminating_services", + "family_clothing_stores", + "fast_food_restaurants", + "financial_institutions", + "fines_government_administrative_entities", + "fireplace_fireplace_screens_and_accessories_stores", + "floor_covering_stores", + "florists", + "florists_supplies_nursery_stock_and_flowers", + "freezer_and_locker_meat_provisioners", + "fuel_dealers_non_automotive", + "funeral_services_crematories", + "furniture_home_furnishings_and_equipment_stores_except_appliances", + "furniture_repair_refinishing", + "furriers_and_fur_shops", + "general_services", + "gift_card_novelty_and_souvenir_shops", + "glass_paint_and_wallpaper_stores", + "glassware_crystal_stores", + "golf_courses_public", + "government_services", + "grocery_stores_supermarkets", + "hardware_equipment_and_supplies", + "hardware_stores", + "health_and_beauty_spas", + "hearing_aids_sales_and_supplies", + "heating_plumbing_a_c", + "hobby_toy_and_game_shops", + "home_supply_warehouse_stores", + "hospitals", + "hotels_motels_and_resorts", + "household_appliance_stores", + "industrial_supplies", + "information_retrieval_services", + "insurance_default", + "insurance_underwriting_premiums", + "intra_company_purchases", + "jewelry_stores_watches_clocks_and_silverware_stores", + "landscaping_services", + "laundries", + "laundry_cleaning_services", + "legal_services_attorneys", + "luggage_and_leather_goods_stores", + "lumber_building_materials_stores", + "manual_cash_disburse", + "marinas_service_and_supplies", + "masonry_stonework_and_plaster", + "massage_parlors", + "means_womens_clothing_stores", + "medical_and_dental_labs", + "medical_dental_ophthalmic_and_hospital_equipment_and_supplies", + "medical_services", + "membership_organizations", + "mens_and_boys_clothing_and_accessories_stores", + "metal_service_centers", + "miscellaneous", + "miscellaneous_apparel_and_accessory_shops", + "miscellaneous_auto_dealers", + "miscellaneous_business_services", + "miscellaneous_food_stores", + "miscellaneous_general_merchandise", + "miscellaneous_general_services", + "miscellaneous_home_furnishing_specialty_stores", + "miscellaneous_publishing_and_printing", + "miscellaneous_recreation_services", + "miscellaneous_repair_shops", + "miscellaneous_specialty_retail", + "mobile_home_dealers", + "motion_picture_theaters", + "motor_freight_carriers_and_trucking", + "motor_homes_dealers", + "motor_vehicle_supplies_and_new_parts", + "motorcycle_shops_and_dealers", + "motorcycle_shops_dealers", + "music_stores_musical_instruments_pianos_and_sheet_music", + "news_dealers_and_newsstands", + "non_fi_money_orders", + "non_fi_stored_value_card_purchase_load", + "nondurable_goods", + "nurseries_lawn_and_garden_supply_stores", + "nursing_personal_care", + "office_and_commercial_furniture", + "opticians_eyeglasses", + "optometrists_ophthalmologist", + "orthopedic_goods_prosthetic_devices", + "osteopaths", + "package_stores_beer_wine_and_liquor", + "paints_varnishes_and_supplies", + "parking_lots_garages", + "passenger_railways", + "pawn_shops", + "pet_shops_pet_food_and_supplies", + "petroleum_and_petroleum_products", + "photo_developing", + "photographic_photocopy_microfilm_equipment_and_supplies", + "photographic_studios", + "picture_video_production", + "piece_goods_notions_and_other_dry_goods", + "plumbing_heating_equipment_and_supplies", + "political_organizations", + "postal_services_government_only", + "precious_stones_and_metals_watches_and_jewelry", + "professional_services", + "public_warehousing_and_storage", + "quick_copy_repro_and_blueprint", + "railroads", + "real_estate_agents_and_managers_rentals", + "record_stores", + "recreational_vehicle_rentals", + "religious_goods_stores", + "religious_organizations", + "roofing_siding_sheet_metal", + "secretarial_support_services", + "security_brokers_dealers", + "service_stations", + "sewing_needlework_fabric_and_piece_goods_stores", + "shoe_repair_hat_cleaning", + "shoe_stores", + "small_appliance_repair", + "snowmobile_dealers", + "special_trade_services", + "specialty_cleaning", + "sporting_goods_stores", + "sporting_recreation_camps", + "sports_and_riding_apparel_stores", + "sports_clubs_fields", + "stamp_and_coin_stores", + "stationary_office_supplies_printing_and_writing_paper", + "stationery_stores_office_and_school_supply_stores", + "swimming_pools_sales", + "t_ui_travel_germany", + "tailors_alterations", + "tax_payments_government_agencies", + "tax_preparation_services", + "taxicabs_limousines", + "telecommunication_equipment_and_telephone_sales", + "telecommunication_services", + "telegraph_services", + "tent_and_awning_shops", + "testing_laboratories", + "theatrical_ticket_agencies", + "timeshares", + "tire_retreading_and_repair", + "tolls_bridge_fees", + "tourist_attractions_and_exhibits", + "towing_services", + "trailer_parks_campgrounds", + "transportation_services", + "travel_agencies_tour_operators", + "truck_stop_iteration", + "truck_utility_trailer_rentals", + "typesetting_plate_making_and_related_services", + "typewriter_stores", + "u_s_federal_government_agencies_or_departments", + "uniforms_commercial_clothing", + "used_merchandise_and_secondhand_stores", + "utilities", + "variety_stores", + "veterinary_services", + "video_amusement_game_supplies", + "video_game_arcades", + "video_tape_rental_stores", + "vocational_trade_schools", + "watch_jewelry_repair", + "welding_repair", + "wholesale_clubs", + "wig_and_toupee_stores", + "wires_money_orders", + "womens_accessory_and_specialty_shops", + "womens_ready_to_wear_stores", + "wrecking_and_salvage_yards" + ], + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "max_amount": { + "type": "integer" + }, + "max_approvals": { + "type": "integer" + } + }, + "title": "authorization_controls_param", + "type": "object" + }, + "cardholder": { + "description": "The [Cardholder](/docs/api#issuing_cardholder_object) to associate the card with.", + "maxLength": 5000, + "type": "string" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "status": { + "description": "Specifies whether to permit authorizations on this card. Possible values are `active`, `inactive`, or `canceled`.", + "enum": [ + "active", + "canceled", + "inactive", + "lost", + "stolen" + ], + "maxLength": 5000, + "type": "string" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/issuing.card" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/issuing/cards/{card}/details": { + "get": { + "description": "\u003Cp\u003EFor virtual cards only. Retrieves an Issuing \u003Ccode\u003ECard_details\u003C/code\u003E object that contains \u003Ca href=\"/docs/issuing/cards/management#virtual-card-info\"\u003Ethe sensitive details\u003C/a\u003E of a virtual card.\u003C/p\u003E", + "operationId": "IssuingCardDetailsRetrieve", + "parameters": [ + { + "description": "The identifier of the virtual card to be retrieved.", + "in": "path", + "name": "card", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/issuing.card_details" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/issuing/disputes": { + "get": { + "description": "\u003Cp\u003EReturns a list of Issuing \u003Ccode\u003EDispute\u003C/code\u003E objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first.\u003C/p\u003E", + "operationId": "IssuingDisputeAll", + "parameters": [ + { + "description": "Only return issuing disputes that were created during the given date interval.", + "explode": true, + "in": "query", + "name": "created", + "required": false, + "schema": { + "anyOf": [ + { + "properties": { + "gt": { + "type": "integer" + }, + "gte": { + "type": "integer" + }, + "lt": { + "type": "integer" + }, + "lte": { + "type": "integer" + } + }, + "title": "range_query_specs", + "type": "object" + }, + { + "type": "integer" + } + ] + }, + "style": "deepObject" + }, + { + "description": "Only return issuing disputes for the given transaction.", + "in": "query", + "name": "disputed_transaction", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "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.", + "in": "query", + "name": "ending_before", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.", + "in": "query", + "name": "limit", + "required": false, + "schema": { + "type": "integer" + }, + "style": "form" + }, + { + "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.", + "in": "query", + "name": "starting_after", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/issuing.dispute" + }, + "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/issuing/disputes", + "type": "string" + } + }, + "required": [ + "data", + "has_more", + "object", + "url" + ], + "title": "IssuingDisputeList", + "type": "object", + "x-expandableFields": [ + "data" + ] + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003ECreates an Issuing \u003Ccode\u003EDispute\u003C/code\u003E object.\u003C/p\u003E", + "operationId": "IssuingDisputeCreate", + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "evidence": { + "explode": true, + "style": "deepObject" + }, + "expand": { + "explode": true, + "style": "deepObject" + }, + "metadata": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "amount": { + "description": "Amount to dispute, defaults to full value, given in the currency the transaction was made in.", + "type": "integer" + }, + "disputed_transaction": { + "description": "The ID of the issuing transaction to create a dispute for.", + "maxLength": 5000, + "type": "string" + }, + "evidence": { + "description": "A hash containing all the evidence related to the dispute. This should have a single key, equal to the provided `reason`, mapping to an appropriate evidence object.", + "properties": { + "fraudulent": { + "properties": { + "dispute_explanation": { + "maxLength": 10000, + "type": "string" + }, + "uncategorized_file": { + "type": "string" + } + }, + "required": [ + "dispute_explanation" + ], + "title": "fraudulent", + "type": "object" + }, + "other": { + "properties": { + "dispute_explanation": { + "maxLength": 10000, + "type": "string" + }, + "uncategorized_file": { + "type": "string" + } + }, + "required": [ + "dispute_explanation" + ], + "title": "other", + "type": "object" + } + }, + "title": "disputes_evidence", + "type": "object" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "Set of key-value pairs 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`.", + "type": "object" + }, + "reason": { + "description": "The reason for the dispute, which can be chosen out of a set of valid values.", + "enum": [ + "fraudulent", + "other" + ], + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "disputed_transaction", + "reason" + ], + "type": "object" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/issuing.dispute" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/issuing/disputes/{dispute}": { + "get": { + "description": "\u003Cp\u003ERetrieves an Issuing \u003Ccode\u003EDispute\u003C/code\u003E object.\u003C/p\u003E", + "operationId": "IssuingDisputeRetrieve", + "parameters": [ + { + "description": "The ID of the dispute to retrieve.", + "in": "path", + "name": "dispute", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/issuing.dispute" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003EUpdates the specified Issuing \u003Ccode\u003EDispute\u003C/code\u003E object by setting the values of the parameters passed. Any parameters not provided will be left unchanged.\u003C/p\u003E", + "operationId": "IssuingDisputeUpdate", + "parameters": [ + { + "description": "The ID of the dispute to update.", + "in": "path", + "name": "dispute", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + }, + "metadata": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "Set of key-value pairs 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`.", + "type": "object" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/issuing.dispute" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/issuing/transactions": { + "get": { + "description": "\u003Cp\u003EReturns a list of Issuing \u003Ccode\u003ETransaction\u003C/code\u003E objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first.\u003C/p\u003E", + "operationId": "IssuingTransactionAll", + "parameters": [ + { + "description": "Only return issuing transactions that belong to the given card.", + "in": "query", + "name": "card", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "Only return authorizations belonging to the given cardholder.", + "in": "query", + "name": "cardholder", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "Only return transactions that were created during the given date interval.", + "explode": true, + "in": "query", + "name": "created", + "required": false, + "schema": { + "anyOf": [ + { + "properties": { + "gt": { + "type": "integer" + }, + "gte": { + "type": "integer" + }, + "lt": { + "type": "integer" + }, + "lte": { + "type": "integer" + } + }, + "title": "range_query_specs", + "type": "object" + }, + { + "type": "integer" + } + ] + }, + "style": "deepObject" + }, + { + "description": "Only return transactions that originate from a given dispute.", + "in": "query", + "name": "dispute", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "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.", + "in": "query", + "name": "ending_before", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.", + "in": "query", + "name": "limit", + "required": false, + "schema": { + "type": "integer" + }, + "style": "form" + }, + { + "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.", + "in": "query", + "name": "starting_after", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/issuing.transaction" + }, + "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/issuing/transactions", + "type": "string" + } + }, + "required": [ + "data", + "has_more", + "object", + "url" + ], + "type": "object", + "x-expandableFields": [ + "data" + ] + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/issuing/transactions/{transaction}": { + "get": { + "description": "\u003Cp\u003ERetrieves an Issuing \u003Ccode\u003ETransaction\u003C/code\u003E object.\u003C/p\u003E", + "operationId": "IssuingTransactionRetrieve", + "parameters": [ + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "The ID of the transaction to retrieve.", + "in": "path", + "name": "transaction", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/issuing.transaction" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003EUpdates the specified Issuing \u003Ccode\u003ETransaction\u003C/code\u003E object by setting the values of the parameters passed. Any parameters not provided will be left unchanged.\u003C/p\u003E", + "operationId": "IssuingTransactionUpdate", + "parameters": [ + { + "description": "The identifier of the transaction to update.", + "in": "path", + "name": "transaction", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + }, + "metadata": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/issuing.transaction" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/issuing/verifications": { + "post": { + "description": "\u003Cp\u003ESome actions (eg: updating a PIN) need confirmation from the cardholder\u003C/p\u003E", + "operationId": "IssuingVerificationCreate", + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "card": { + "description": "The `Card` for which a verification is requested", + "maxLength": 5000, + "type": "string" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "scope": { + "description": "The scope of the verification (one of pin_retrieve, pin_update)", + "enum": [ + "pin_retrieve", + "pin_update" + ], + "maxLength": 5000, + "type": "string" + }, + "verification_method": { + "description": "The method used to send the cardholder the verification (one of email, sms)", + "enum": [ + "email", + "sms" + ], + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "card", + "scope", + "verification_method" + ], + "type": "object" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/issuing.verification" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/order_returns": { + "get": { + "description": "\u003Cp\u003EReturns a list of your order returns. The returns are returned sorted by creation date, with the most recently created return appearing first.\u003C/p\u003E", + "operationId": "AllOrderReturns", + "parameters": [ + { + "description": "Date this return was created.", + "explode": true, + "in": "query", + "name": "created", + "required": false, + "schema": { + "anyOf": [ + { + "properties": { + "gt": { + "type": "integer" + }, + "gte": { + "type": "integer" + }, + "lt": { + "type": "integer" + }, + "lte": { + "type": "integer" + } + }, + "title": "range_query_specs", + "type": "object" + }, + { + "type": "integer" + } + ] + }, + "style": "deepObject" + }, + { + "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.", + "in": "query", + "name": "ending_before", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.", + "in": "query", + "name": "limit", + "required": false, + "schema": { + "type": "integer" + }, + "style": "form" + }, + { + "description": "The order to retrieve returns for.", + "in": "query", + "name": "order", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "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.", + "in": "query", + "name": "starting_after", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/order_return" + }, + "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/order_returns", + "type": "string" + } + }, + "required": [ + "data", + "has_more", + "object", + "url" + ], + "type": "object", + "x-expandableFields": [ + "data" + ] + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/order_returns/{id}": { + "get": { + "description": "\u003Cp\u003ERetrieves the details of an existing order return. Supply the unique order ID from either an order return creation request or the order return list, and Stripe will return the corresponding order information.\u003C/p\u003E", + "operationId": "RetrieveOrderReturn", + "parameters": [ + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "The identifier of the order return to be retrieved.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/order_return" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/orders": { + "get": { + "description": "\u003Cp\u003EReturns a list of your orders. The orders are returned sorted by creation date, with the most recently created orders appearing first.\u003C/p\u003E", + "operationId": "AllOrders", + "parameters": [ + { + "description": "Date this order was created.", + "explode": true, + "in": "query", + "name": "created", + "required": false, + "schema": { + "anyOf": [ + { + "properties": { + "gt": { + "type": "integer" + }, + "gte": { + "type": "integer" + }, + "lt": { + "type": "integer" + }, + "lte": { + "type": "integer" + } + }, + "title": "range_query_specs", + "type": "object" + }, + { + "type": "integer" + } + ] + }, + "style": "deepObject" + }, + { + "description": "Only return orders for the given customer.", + "in": "query", + "name": "customer", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "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.", + "in": "query", + "name": "ending_before", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "Only return orders with the given IDs.", + "explode": true, + "in": "query", + "name": "ids", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.", + "in": "query", + "name": "limit", + "required": false, + "schema": { + "type": "integer" + }, + "style": "form" + }, + { + "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.", + "in": "query", + "name": "starting_after", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "Only return orders that have the given status. One of `created`, `paid`, `fulfilled`, or `refunded`.", + "in": "query", + "name": "status", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "Filter orders based on when they were paid, fulfilled, canceled, or returned.", + "explode": true, + "in": "query", + "name": "status_transitions", + "required": false, + "schema": { + "properties": { + "canceled": { + "anyOf": [ + { + "properties": { + "gt": { + "type": "integer" + }, + "gte": { + "type": "integer" + }, + "lt": { + "type": "integer" + }, + "lte": { + "type": "integer" + } + }, + "title": "range_query_specs", + "type": "object" + }, + { + "type": "integer" + } + ] + }, + "fulfilled": { + "anyOf": [ + { + "properties": { + "gt": { + "type": "integer" + }, + "gte": { + "type": "integer" + }, + "lt": { + "type": "integer" + }, + "lte": { + "type": "integer" + } + }, + "title": "range_query_specs", + "type": "object" + }, + { + "type": "integer" + } + ] + }, + "paid": { + "anyOf": [ + { + "properties": { + "gt": { + "type": "integer" + }, + "gte": { + "type": "integer" + }, + "lt": { + "type": "integer" + }, + "lte": { + "type": "integer" + } + }, + "title": "range_query_specs", + "type": "object" + }, + { + "type": "integer" + } + ] + }, + "returned": { + "anyOf": [ + { + "properties": { + "gt": { + "type": "integer" + }, + "gte": { + "type": "integer" + }, + "lt": { + "type": "integer" + }, + "lte": { + "type": "integer" + } + }, + "title": "range_query_specs", + "type": "object" + }, + { + "type": "integer" + } + ] + } + }, + "title": "order_timestamp_specs", + "type": "object" + }, + "style": "deepObject" + }, + { + "description": "Only return orders with the given upstream order IDs.", + "explode": true, + "in": "query", + "name": "upstream_ids", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/order" + }, + "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/orders", + "type": "string" + } + }, + "required": [ + "data", + "has_more", + "object", + "url" + ], + "type": "object", + "x-expandableFields": [ + "data" + ] + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003ECreates a new \u003Ccode\u003EOrder\u003C/code\u003E object.\u003C/p\u003E", + "operationId": "CreateOrder", + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + }, + "items": { + "explode": true, + "style": "deepObject" + }, + "metadata": { + "explode": true, + "style": "deepObject" + }, + "shipping": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "coupon": { + "description": "A coupon code that represents a discount to be applied to this order. Must be one-time duration and in same currency as the order.", + "maxLength": 5000, + "type": "string" + }, + "currency": { + "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).", + "type": "string" + }, + "customer": { + "description": "The ID of an existing customer to use for this order. If provided, the customer email and shipping address will be used to create the order. Subsequently, the customer will also be charged to pay the order. If `email` or `shipping` are also provided, they will override the values retrieved from the customer object.", + "maxLength": 5000, + "type": "string" + }, + "email": { + "description": "The email address of the customer placing the order.", + "maxLength": 5000, + "type": "string" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "items": { + "description": "List of items constituting the order. An order can have up to 25 items.", + "items": { + "properties": { + "amount": { + "type": "integer" + }, + "currency": { + "type": "string" + }, + "description": { + "maxLength": 1000, + "type": "string" + }, + "parent": { + "maxLength": 5000, + "type": "string" + }, + "quantity": { + "type": "integer" + }, + "type": { + "enum": [ + "discount", + "shipping", + "sku", + "tax" + ], + "maxLength": 5000, + "type": "string" + } + }, + "title": "order_item_specs", + "type": "object" + }, + "type": "array" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "A set of key/value pairs that you can attach to an order object. Limited to 500 characters. Metadata can be useful for storing additional information about the order in a structured format.", + "type": "object" + }, + "shipping": { + "description": "Shipping address for the order. Required if any of the SKUs are for products that have `shippable` set to true.", + "properties": { + "address": { + "properties": { + "city": { + "maxLength": 5000, + "type": "string" + }, + "country": { + "maxLength": 5000, + "type": "string" + }, + "line1": { + "maxLength": 5000, + "type": "string" + }, + "line2": { + "maxLength": 5000, + "type": "string" + }, + "postal_code": { + "maxLength": 5000, + "type": "string" + }, + "state": { + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "line1" + ], + "title": "address", + "type": "object" + }, + "name": { + "maxLength": 5000, + "type": "string" + }, + "phone": { + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "address", + "name" + ], + "title": "customer_shipping", + "type": "object" + } + }, + "required": [ + "currency" + ], + "type": "object" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/order" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/orders/{id}": { + "get": { + "description": "\u003Cp\u003ERetrieves the details of an existing order. Supply the unique order ID from either an order creation request or the order list, and Stripe will return the corresponding order information.\u003C/p\u003E", + "operationId": "RetrieveOrder", + "parameters": [ + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "The identifier of the order to be retrieved.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/order" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003EUpdates the specific order by setting the values of the parameters passed. Any parameters not provided will be left unchanged.\u003C/p\u003E", + "operationId": "UpdateOrder", + "parameters": [ + { + "in": "path", + "name": "id", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + }, + "metadata": { + "explode": true, + "style": "deepObject" + }, + "shipping": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "coupon": { + "description": "A coupon code that represents a discount to be applied to this order. Must be one-time duration and in same currency as the order.", + "maxLength": 5000, + "type": "string" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "A set of key/value pairs that you can attach to a product object. It can be useful for storing additional information about the order in a structured format.", + "type": "object" + }, + "selected_shipping_method": { + "description": "The shipping method to select for fulfilling this order. If specified, must be one of the `id`s of a shipping method in the `shipping_methods` array. If specified, will overwrite the existing selected shipping method, updating `items` as necessary.", + "maxLength": 5000, + "type": "string" + }, + "shipping": { + "description": "Tracking information once the order has been fulfilled.", + "properties": { + "carrier": { + "maxLength": 5000, + "type": "string" + }, + "tracking_number": { + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "carrier", + "tracking_number" + ], + "title": "shipping_tracking_params", + "type": "object" + }, + "status": { + "description": "Current order status. One of `created`, `paid`, `canceled`, `fulfilled`, or `returned`. More detail in the [Orders Guide](/docs/orders/guide#understanding-order-statuses).", + "enum": [ + "canceled", + "created", + "fulfilled", + "paid", + "returned" + ], + "maxLength": 5000, + "type": "string" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/order" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/orders/{id}/pay": { + "post": { + "description": "\u003Cp\u003EPay an order by providing a \u003Ccode\u003Esource\u003C/code\u003E to create a payment.\u003C/p\u003E", + "operationId": "PayOrder", + "parameters": [ + { + "in": "path", + "name": "id", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + }, + "metadata": { + "explode": true, + "style": "deepObject" + }, + "source": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "application_fee": { + "type": "integer" + }, + "customer": { + "description": "The ID of an existing customer that will be charged for this order. If no customer was attached to the order at creation, either `source` or `customer` is required. Otherwise, the specified customer will be charged instead of the one attached to the order.", + "maxLength": 5000, + "type": "string" + }, + "email": { + "description": "The email address of the customer placing the order. Required if not previously specified for the order.", + "maxLength": 5000, + "type": "string" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "A set of key/value pairs that you can attach to an order object. Limited to 500 characters. Metadata can be useful for storing additional information about the order in a structured format.", + "type": "object" + }, + "shipping_method": { + "maxLength": 5000, + "type": "string" + }, + "source": { + "anyOf": [ + { + "type": "object" + }, + { + "maxLength": 5000, + "type": "string" + } + ], + "description": "A [Token](/docs/api#tokens)'s or a [Source](/docs/api#sources)'s ID, as returned by [Elements](/docs/elements). If no customer was attached to the order at creation, either `source` or `customer is required. Otherwise, the specified source will be charged intead of the customer attached to the order." + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/order" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/orders/{id}/returns": { + "post": { + "description": "\u003Cp\u003EReturn all or part of an order. The order must have a status of \u003Ccode\u003Epaid\u003C/code\u003E or \u003Ccode\u003Efulfilled\u003C/code\u003E before it can be returned. Once all items have been returned, the order will become \u003Ccode\u003Ecanceled\u003C/code\u003E or \u003Ccode\u003Ereturned\u003C/code\u003E depending on which status the order started in.\u003C/p\u003E", + "operationId": "CreateOrderReturn", + "parameters": [ + { + "in": "path", + "name": "id", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + }, + "items": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "items": { + "anyOf": [ + { + "items": { + "properties": { + "amount": { + "type": "integer" + }, + "description": { + "maxLength": 1000, + "type": "string" + }, + "parent": { + "maxLength": 5000, + "type": "string" + }, + "quantity": { + "type": "integer" + }, + "type": { + "enum": [ + "discount", + "shipping", + "sku", + "tax" + ], + "maxLength": 5000, + "type": "string" + } + }, + "title": "return_order_item_specs", + "type": "object" + }, + "type": "array" + }, + { + "enum": [ + "" + ], + "type": "string" + } + ], + "description": "List of items to return." + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/order_return" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/payment_intents": { + "get": { + "description": "\u003Cp\u003EReturns a list of PaymentIntents.\u003C/p\u003E", + "operationId": "PaymentFlowsPaymentIntentAll", + "parameters": [ + { + "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.", + "explode": true, + "in": "query", + "name": "created", + "required": false, + "schema": { + "anyOf": [ + { + "properties": { + "gt": { + "type": "integer" + }, + "gte": { + "type": "integer" + }, + "lt": { + "type": "integer" + }, + "lte": { + "type": "integer" + } + }, + "title": "range_query_specs", + "type": "object" + }, + { + "type": "integer" + } + ] + }, + "style": "deepObject" + }, + { + "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.", + "in": "query", + "name": "ending_before", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.", + "in": "query", + "name": "limit", + "required": false, + "schema": { + "type": "integer" + }, + "style": "form" + }, + { + "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.", + "in": "query", + "name": "starting_after", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/payment_intent" + }, + "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/payment_intents", + "type": "string" + } + }, + "required": [ + "data", + "has_more", + "object", + "url" + ], + "title": "PaymentFlowsPaymentIntentList", + "type": "object", + "x-expandableFields": [ + "data" + ] + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003ECreates a PaymentIntent object.\u003C/p\u003E", + "operationId": "PaymentIntentCreate", + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "allowed_source_types": { + "explode": true, + "style": "deepObject" + }, + "expand": { + "explode": true, + "style": "deepObject" + }, + "metadata": { + "explode": true, + "style": "deepObject" + }, + "shipping": { + "explode": true, + "style": "deepObject" + }, + "transfer_data": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "allowed_source_types": { + "description": "The list of source types (e.g. card) that this PaymentIntent is allowed to use.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "amount": { + "description": "Amount intended to be collected by this PaymentIntent", + "type": "integer" + }, + "application_fee_amount": { + "description": "The amount of the application fee (if any) that will be applied to the payment and transferred to the\napplication owner's Stripe account. To use an application fee, the\nrequest must be made on behalf of another account, using the\n`Stripe-Account` header or an OAuth key. For more information, see\n[Collecting application\nfees](/docs/connect/direct-charges#collecting-fees).", + "type": "integer" + }, + "capture_method": { + "description": "Capture method of this PaymentIntent, one of `automatic` or `manual`.", + "enum": [ + "automatic", + "manual" + ], + "maxLength": 5000, + "type": "string" + }, + "confirm": { + "description": "Attempt to confirm this PaymentIntent on source attachment.", + "type": "boolean" + }, + "currency": { + "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).", + "type": "string" + }, + "customer": { + "description": "ID of the customer this PaymentIntent is for if one exists.", + "maxLength": 5000, + "type": "string" + }, + "description": { + "description": "An arbitrary string attached to the object. Often useful for displaying to users.", + "maxLength": 1000, + "type": "string" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.", + "type": "object" + }, + "on_behalf_of": { + "description": "The Stripe account ID for which these funds are intended. For details, see [Creating Separate Charges and Transfers](/docs/connect/charges-transfers#on-behalf-of). When transfer_data is specified, on_behalf_of must also be specified and must match the destination of the transfer.", + "type": "string" + }, + "receipt_email": { + "description": "Email address that the receipt for the resulting payment will be sent to.", + "maxLength": 5000, + "type": "string" + }, + "return_url": { + "description": "The URL to redirect your customer back to after they authenticate or cancel their payment on the payment method's app or site.\nIf you'd prefer to redirect to a mobile application, you can alternatively supply an application URI scheme.\nThis param can only be used if `confirm=true`.", + "type": "string" + }, + "save_source_to_customer": { + "description": "Set to `true` to save this PaymentIntent's Source to the associated Customer, if the Source is not already attached. This parameter only applies to the current Source attached to the PaymentIntent and must be specified again if a new Source is added.", + "type": "boolean" + }, + "shipping": { + "description": "Shipping information for this PaymentIntent.", + "properties": { + "address": { + "properties": { + "city": { + "maxLength": 5000, + "type": "string" + }, + "country": { + "maxLength": 5000, + "type": "string" + }, + "line1": { + "maxLength": 5000, + "type": "string" + }, + "line2": { + "maxLength": 5000, + "type": "string" + }, + "postal_code": { + "maxLength": 5000, + "type": "string" + }, + "state": { + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "line1" + ], + "title": "address", + "type": "object" + }, + "carrier": { + "maxLength": 5000, + "type": "string" + }, + "name": { + "maxLength": 5000, + "type": "string" + }, + "phone": { + "maxLength": 5000, + "type": "string" + }, + "tracking_number": { + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "address", + "name" + ], + "title": "shipping", + "type": "object" + }, + "source": { + "description": "ID of the Source object to attach to this PaymentIntent.", + "maxLength": 5000, + "type": "string" + }, + "statement_descriptor": { + "description": "Extra information about a PaymentIntent. This will appear on your customer's statement when this PaymentIntent succeeds in creating a charge.", + "maxLength": 22, + "type": "string" + }, + "transfer_data": { + "description": "The parameters used to automatically create a Transfer when the payment succeeds.", + "properties": { + "destination": { + "type": "string" + } + }, + "required": [ + "destination" + ], + "title": "transfer_data_creation_params", + "type": "object" + }, + "transfer_group": { + "description": "A string that identifies the resulting payment as part of a group. See the [Connect documentation](/docs/connect/charges-transfers#grouping-transactions) for details.", + "type": "string" + } + }, + "required": [ + "allowed_source_types", + "amount", + "currency" + ], + "type": "object" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/payment_intent" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/payment_intents/{intent}": { + "get": { + "description": "\u003Cp\u003ERetrieves the details of a PaymentIntent that has previously been created. \u003C/p\u003E\n\n\u003Cp\u003EClient-side retrieval using a publishable key is allowed when the \u003Ccode\u003Eclient_secret\u003C/code\u003E is provided in the query string. \u003C/p\u003E\n\n\u003Cp\u003EWhen retrieved with a publishable key, only a subset of properties will be returned. Please refer to the \u003Ca href=\"#payment_intent_object\"\u003Epayment intent\u003C/a\u003E object reference for more details.\u003C/p\u003E", + "operationId": "PaymentIntentRetrieve", + "parameters": [ + { + "description": "The client secret of the PaymentIntent. Required if a publishable key is used to retrieve the source.", + "in": "query", + "name": "client_secret", + "required": false, + "schema": { + "type": "string" + }, + "style": "form" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "in": "path", + "name": "intent", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/payment_intent" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003EUpdates a PaymentIntent object.\u003C/p\u003E", + "operationId": "PaymentIntentUpdate", + "parameters": [ + { + "in": "path", + "name": "intent", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + }, + "metadata": { + "explode": true, + "style": "deepObject" + }, + "shipping": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "amount": { + "description": "Amount intended to be collected by this PaymentIntent", + "type": "integer" + }, + "application_fee_amount": { + "description": "The amount of the application fee (if any) for the resulting payment. [See the Connect documentation](/docs/connect/direct-charges#collecting-fees) for details.", + "type": "integer" + }, + "currency": { + "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).", + "type": "string" + }, + "customer": { + "description": "ID of the customer this PaymentIntent is for if one exists.", + "maxLength": 5000, + "type": "string" + }, + "description": { + "description": "An arbitrary string attached to the object. Often useful for displaying to users.", + "maxLength": 1000, + "type": "string" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.", + "type": "object" + }, + "receipt_email": { + "description": "Email address that the receipt for the resulting payment will be sent to.", + "maxLength": 5000, + "type": "string" + }, + "save_source_to_customer": { + "description": "Set to `true` to save this PaymentIntent's Source to the associated Customer, if the Source is not already attached. This parameter only applies to the current Source attached to the PaymentIntent and must be specified again if a new Source is added.", + "type": "boolean" + }, + "shipping": { + "description": "Shipping information for this PaymentIntent.", + "properties": { + "address": { + "properties": { + "city": { + "maxLength": 5000, + "type": "string" + }, + "country": { + "maxLength": 5000, + "type": "string" + }, + "line1": { + "maxLength": 5000, + "type": "string" + }, + "line2": { + "maxLength": 5000, + "type": "string" + }, + "postal_code": { + "maxLength": 5000, + "type": "string" + }, + "state": { + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "line1" + ], + "title": "address", + "type": "object" + }, + "carrier": { + "maxLength": 5000, + "type": "string" + }, + "name": { + "maxLength": 5000, + "type": "string" + }, + "phone": { + "maxLength": 5000, + "type": "string" + }, + "tracking_number": { + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "address", + "name" + ], + "title": "shipping", + "type": "object" + }, + "source": { + "description": "ID of the Source object to attach to this PaymentIntent.", + "maxLength": 5000, + "type": "string" + }, + "transfer_group": { + "description": "A string that identifies the resulting payment as part of a group. `transfer_group` may only be provided if it has not been set. See the [Connect documentation](/docs/connect/charges-transfers#grouping-transactions) for details.", + "type": "string" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/payment_intent" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/payment_intents/{intent}/cancel": { + "post": { + "description": "\u003Cp\u003EA PaymentIntent object can be canceled when it is in one of these statues: \u003Ccode\u003Erequires_source\u003C/code\u003E, \u003Ccode\u003Erequires_capture\u003C/code\u003E, \u003Ccode\u003Erequires_confirmation\u003C/code\u003E, or \u003Ccode\u003Erequires_source_action\u003C/code\u003E. \u003C/p\u003E\n\n\u003Cp\u003EOnce canceled, no additional charges will be made by the PaymentIntent and any operations on the PaymentIntent will fail with an error. For PaymentIntents with \u003Ccode\u003Estatus='requires_capture'\u003C/code\u003E, the remaining \u003Ccode\u003Eamount_capturable\u003C/code\u003E will automatically be refunded.\u003C/p\u003E", + "operationId": "PaymentIntentCancel", + "parameters": [ + { + "in": "path", + "name": "intent", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "cancellation_reason": { + "description": "Reason for canceling this PaymentIntent. If set, possible values are `duplicate`, `fraudulent`, or `requested_by_customer`", + "enum": [ + "duplicate", + "fraudulent", + "requested_by_customer" + ], + "maxLength": 5000, + "type": "string" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/payment_intent" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/payment_intents/{intent}/capture": { + "post": { + "description": "\u003Cp\u003ECapture the funds of an existing uncaptured PaymentIntent where \u003Ccode\u003Erequired_action=\"requires_capture\"\u003C/code\u003E.\u003C/p\u003E\n\n\u003Cp\u003EUncaptured PaymentIntents will be canceled exactly seven days after they are created.\u003C/p\u003E", + "operationId": "PaymentIntentCapture", + "parameters": [ + { + "in": "path", + "name": "intent", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "amount_to_capture": { + "description": "The amount to capture from the PaymentIntent, which must be less than or equal to the original amount. Any additional amount will be automatically refunded. Defaults to the full `amount_capturable` if not provided.", + "type": "integer" + }, + "application_fee_amount": { + "description": "The amount of the application fee (if any) that will be applied to the payment and transferred to the\napplication owner's Stripe account. To use an application fee, the\nrequest must be made on behalf of another account, using the\n`Stripe-Account` header or an OAuth key. For more information, see\n[Collecting application\nfees](/docs/connect/direct-charges#collecting-fees).", + "type": "integer" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/payment_intent" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/payment_intents/{intent}/confirm": { + "post": { + "description": "\u003Cp\u003EConfirm that your customer intends to pay with current or provided\n\u003Ccode\u003Esource\u003C/code\u003E. Upon confirmation, the PaymentIntent will attempt to initiate\na payment.\u003C/p\u003E\n\n\u003Cp\u003EIf the selected \u003Ccode\u003Esource\u003C/code\u003E requires additional authentication steps, the\nPaymentIntent will transition to the \u003Ccode\u003Erequires_source_action\u003C/code\u003E status and\nsuggest additional actions via \u003Ccode\u003Enext_source_action\u003C/code\u003E. If payment fails,\nthe PaymentIntent will transition to the \u003Ccode\u003Erequires_source\u003C/code\u003E status. If\npayment succeeds, the PaymentIntent will transition to the \u003Ccode\u003Esucceeded\u003C/code\u003E\nstatus (or \u003Ccode\u003Erequires_capture\u003C/code\u003E, if \u003Ccode\u003Ecapture_method\u003C/code\u003E is set to \u003Ccode\u003Emanual\u003C/code\u003E).\u003C/p\u003E\n\n\u003Cp\u003EWhen using a publishable key, the\n\u003Ca href=\"#payment_intent_object-client_secret\"\u003Eclient_secret\u003C/a\u003E must be provided\nto confirm the PaymentIntent.\u003C/p\u003E", + "operationId": "PaymentIntentConfirm", + "parameters": [ + { + "in": "path", + "name": "intent", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + }, + "shipping": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "client_secret": { + "description": "The client secret of the PaymentIntent.", + "type": "string" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "receipt_email": { + "description": "Email address that the receipt for the resulting payment will be sent to.", + "maxLength": 5000, + "type": "string" + }, + "return_url": { + "description": "The URL to redirect your customer back to after they authenticate or cancel their payment on the payment method's app or site.\nIf you'd prefer to redirect to a mobile application, you can alternatively supply an application URI scheme.\nThis parameter is only used for cards and other redirect-based payment methods.", + "type": "string" + }, + "save_source_to_customer": { + "description": "Set to `true` to save this PaymentIntent's Source to the associated Customer, if the Source is not already attached. This parameter only applies to the current Source attached to the PaymentIntent and must be specified again if a new Source is added.", + "type": "boolean" + }, + "shipping": { + "description": "Shipping information for this PaymentIntent.", + "properties": { + "address": { + "properties": { + "city": { + "maxLength": 5000, + "type": "string" + }, + "country": { + "maxLength": 5000, + "type": "string" + }, + "line1": { + "maxLength": 5000, + "type": "string" + }, + "line2": { + "maxLength": 5000, + "type": "string" + }, + "postal_code": { + "maxLength": 5000, + "type": "string" + }, + "state": { + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "line1" + ], + "title": "address", + "type": "object" + }, + "carrier": { + "maxLength": 5000, + "type": "string" + }, + "name": { + "maxLength": 5000, + "type": "string" + }, + "phone": { + "maxLength": 5000, + "type": "string" + }, + "tracking_number": { + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "address", + "name" + ], + "title": "shipping", + "type": "object" + }, + "source": { + "description": "ID of the Source object to attach to this PaymentIntent.", + "maxLength": 5000, + "type": "string" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/payment_intent" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/payouts": { + "get": { + "description": "\u003Cp\u003EReturns a list of existing payouts sent to third-party bank accounts or that Stripe has sent you. The payouts are returned in sorted order, with the most recently created payouts appearing first.\u003C/p\u003E", + "operationId": "PayoutAll", + "parameters": [ + { + "explode": true, + "in": "query", + "name": "arrival_date", + "required": false, + "schema": { + "anyOf": [ + { + "properties": { + "gt": { + "type": "integer" + }, + "gte": { + "type": "integer" + }, + "lt": { + "type": "integer" + }, + "lte": { + "type": "integer" + } + }, + "title": "range_query_specs", + "type": "object" + }, + { + "type": "integer" + } + ] + }, + "style": "deepObject" + }, + { + "explode": true, + "in": "query", + "name": "created", + "required": false, + "schema": { + "anyOf": [ + { + "properties": { + "gt": { + "type": "integer" + }, + "gte": { + "type": "integer" + }, + "lt": { + "type": "integer" + }, + "lte": { + "type": "integer" + } + }, + "title": "range_query_specs", + "type": "object" + }, + { + "type": "integer" + } + ] + }, + "style": "deepObject" + }, + { + "description": "The ID of an external account - only return payouts sent to this external account.", + "in": "query", + "name": "destination", + "required": false, + "schema": { + "type": "string" + }, + "style": "form" + }, + { + "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.", + "in": "query", + "name": "ending_before", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.", + "in": "query", + "name": "limit", + "required": false, + "schema": { + "type": "integer" + }, + "style": "form" + }, + { + "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.", + "in": "query", + "name": "starting_after", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "Only return payouts that have the given status: `pending`, `paid`, `failed`, or `canceled`.", + "in": "query", + "name": "status", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/payout" + }, + "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/payouts", + "type": "string" + } + }, + "required": [ + "data", + "has_more", + "object", + "url" + ], + "title": "PayoutList", + "type": "object", + "x-expandableFields": [ + "data" + ] + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003ETo send funds to your own bank account, you create a new payout object. Your \u003Ca href=\"#balance\"\u003EStripe balance\u003C/a\u003E must be able to cover the payout amount, or you’ll receive an “Insufficient Funds” error.\u003C/p\u003E\n\n\u003Cp\u003EIf your API key is in test mode, money won’t actually be sent, though everything else will occur as if in live mode.\u003C/p\u003E\n\n\u003Cp\u003EIf you are creating a manual payout on a Stripe account that uses multiple payment source types, you’ll need to specify the source type balance that the payout should draw from. The \u003Ca href=\"#balance_object\"\u003Ebalance object\u003C/a\u003E details available and pending amounts by source type.\u003C/p\u003E", + "operationId": "PayoutCreate", + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + }, + "metadata": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "amount": { + "description": "A positive integer in cents representing how much to payout.", + "type": "integer" + }, + "currency": { + "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).", + "type": "string" + }, + "description": { + "description": "An arbitrary string attached to the object. Often useful for displaying to users.", + "maxLength": 5000, + "type": "string" + }, + "destination": { + "description": "The ID of a bank account or a card to send the payout to. If no destination is supplied, the default external account for the specified currency will be used.", + "type": "string" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "A set of key/value pairs that you can attach to a payout object. It can be useful for storing additional information about the payout in a structured format.", + "type": "object" + }, + "method": { + "description": "The method used to send this payout, which can be `standard` or `instant`. `instant` is only supported for payouts to debit cards. (See [Instant payouts for marketplaces for more information](https://stripe.com/blog/instant-payouts-for-marketplaces).)", + "enum": [ + "instant", + "standard" + ], + "maxLength": 5000, + "type": "string" + }, + "source_type": { + "description": "The source balance to draw this payout from. Balances for different payment sources are kept separately. You can find the amounts with the balances API. Valid options are: **alipay_account**, **bank_account**, and **card**.", + "enum": [ + "alipay_account", + "bank_account", + "bitcoin_receiver", + "card", + "source", + "stripe_account" + ], + "maxLength": 5000, + "type": "string" + }, + "statement_descriptor": { + "description": "A string to be displayed on the recipient's bank or card statement. This may be at most 22 characters. Attempting to use a `statement_descriptor` longer than 22 characters will return an error. Note: Most banks will truncate this information and/or display it inconsistently. Some may not display it at all.", + "maxLength": 22, + "type": "string", + "x-stripeBypassValidation": true + } + }, + "required": [ + "amount", + "currency" + ], + "type": "object" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/payout" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/payouts/{payout}": { + "get": { + "description": "\u003Cp\u003ERetrieves the details of an existing payout. Supply the unique payout ID from either a payout creation request or the payout list, and Stripe will return the corresponding payout information.\u003C/p\u003E", + "operationId": "PayoutRetrieve", + "parameters": [ + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "The identifier of the payout to be retrieved.", + "in": "path", + "name": "payout", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/payout" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003EUpdates the specified payout by setting the values of the parameters passed. Any parameters not provided will be left unchanged. This request accepts only the metadata as arguments.\u003C/p\u003E", + "operationId": "PayoutUpdate", + "parameters": [ + { + "description": "The identifier of the payout to be updated.", + "in": "path", + "name": "payout", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + }, + "metadata": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "A set of key/value pairs that you can attach to a payout object. It can be useful for storing additional information about the payout in a structured format.", + "type": "object" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/payout" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/payouts/{payout}/cancel": { + "post": { + "description": "\u003Cp\u003EA previously created payout can be canceled if it has not yet been paid out. Funds will be refunded to your available balance. You may not cancel automatic Stripe payouts.\u003C/p\u003E", + "operationId": "PayoutCancel", + "parameters": [ + { + "description": "The identifier of the payout to be canceled.", + "in": "path", + "name": "payout", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/payout" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/plans": { + "get": { + "description": "\u003Cp\u003EReturns a list of your plans.\u003C/p\u003E", + "operationId": "AllPlans", + "parameters": [ + { + "description": "Only return plans that are active or inactive (e.g., pass `false` to list all inactive products).", + "in": "query", + "name": "active", + "required": false, + "schema": { + "type": "boolean" + }, + "style": "form" + }, + { + "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.", + "explode": true, + "in": "query", + "name": "created", + "required": false, + "schema": { + "anyOf": [ + { + "properties": { + "gt": { + "type": "integer" + }, + "gte": { + "type": "integer" + }, + "lt": { + "type": "integer" + }, + "lte": { + "type": "integer" + } + }, + "title": "range_query_specs", + "type": "object" + }, + { + "type": "integer" + } + ] + }, + "style": "deepObject" + }, + { + "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.", + "in": "query", + "name": "ending_before", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.", + "in": "query", + "name": "limit", + "required": false, + "schema": { + "type": "integer" + }, + "style": "form" + }, + { + "description": "Only return plans for the given product.", + "in": "query", + "name": "product", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "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.", + "in": "query", + "name": "starting_after", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/plan" + }, + "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/plans", + "type": "string" + } + }, + "required": [ + "data", + "has_more", + "object", + "url" + ], + "type": "object", + "x-expandableFields": [ + "data" + ] + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003EYou can create plans using the API, or in the Stripe \u003Ca href=\"https://dashboard.stripe.com/subscriptions/products\"\u003EDashboard\u003C/a\u003E.\u003C/p\u003E", + "operationId": "CreatePlan", + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + }, + "metadata": { + "explode": true, + "style": "deepObject" + }, + "product": { + "explode": true, + "style": "deepObject" + }, + "tiers": { + "explode": true, + "style": "deepObject" + }, + "transform_usage": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "active": { + "description": "Whether the plan is currently available for new subscriptions. Defaults to `true`.", + "type": "boolean" + }, + "aggregate_usage": { + "description": "Specifies a usage aggregation strategy for plans of `usage_type=metered`. Allowed values are `sum` for summing up all usage during a period, `last_during_period` for picking the last usage record reported within a period, `last_ever` for picking the last usage record ever (across period bounds) or `max` which picks the usage record with the maximum reported usage during a period. Defaults to `sum`.", + "enum": [ + "last_during_period", + "last_ever", + "max", + "sum" + ], + "maxLength": 5000, + "type": "string" + }, + "amount": { + "description": "A positive integer in %s (or 0 for a free plan) representing how much to charge on a recurring basis.", + "type": "integer" + }, + "billing_scheme": { + "description": "Describes how to compute the price per period. Either `per_unit` or `tiered`. `per_unit` indicates that the fixed amount (specified in `amount`) will be charged per unit in `quantity` (for plans with `usage_type=licensed`), or per unit of total usage (for plans with `usage_type=metered`). `tiered` indicates that the unit pricing will be computed using a tiering strategy as defined using the `tiers` and `tiers_mode` attributes.", + "enum": [ + "per_unit", + "tiered" + ], + "maxLength": 5000, + "type": "string" + }, + "currency": { + "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).", + "type": "string" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "id": { + "description": "An identifier randomly generated by Stripe. Used to identify this plan when subscribing a customer. You can optionally override this ID, but the ID must be unique across all plans in your Stripe account. You can, however, use the same plan ID in both live and test modes.", + "maxLength": 5000, + "type": "string" + }, + "interval": { + "description": "Specifies billing frequency. Either `day`, `week`, `month` or `year`.", + "enum": [ + "day", + "month", + "week", + "year" + ], + "maxLength": 5000, + "type": "string" + }, + "interval_count": { + "description": "The number of intervals between subscription billings. For example, `interval=month` and `interval_count=3` bills every 3 months. Maximum of one year interval allowed (1 year, 12 months, or 52 weeks).", + "type": "integer" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "A set of key/value pairs that you can attach to a plan object. It can be useful for storing additional information about the plan in a structured format.", + "type": "object" + }, + "name": { + "description": "The plan name. Customers may see this value on Stripe-generated invoices and receipts.", + "type": "string" + }, + "nickname": { + "description": "A brief description of the plan, hidden from customers.", + "maxLength": 5000, + "type": "string" + }, + "product": { + "anyOf": [ + { + "description": "The product whose pricing the created plan will represent. This can either be the ID of an existing product, or a dictionary containing fields used to create a [service product](/docs/api#product_object-type).", + "properties": { + "active": { + "type": "boolean" + }, + "id": { + "maxLength": 5000, + "type": "string" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "name": { + "maxLength": 5000, + "type": "string" + }, + "statement_descriptor": { + "maxLength": 22, + "type": "string" + }, + "unit_label": { + "maxLength": 12, + "type": "string" + } + }, + "required": [ + "name" + ], + "title": "inline_product_params", + "type": "object" + }, + { + "description": "The ID of the product whose pricing the created plan will represent.", + "maxLength": 5000, + "type": "string" + } + ] + }, + "statement_descriptor": { + "description": "An arbitrary string to be displayed on your customer's credit card statement. This may be up to 22 characters. The statement description may not include \u003C\u003E\"' characters, and will appear on your customer's statement in capital letters. Non-ASCII characters are automatically stripped. While most banks display this information consistently, some may display it incorrectly or not at all. It must contain at least one letter.", + "maxLength": 22, + "type": "string" + }, + "tiers": { + "description": "Each element represents a pricing tier. This parameter requires `billing_scheme` to be set to `tiered`. See also the documentation for `billing_scheme`.", + "items": { + "properties": { + "flat_amount": { + "type": "integer" + }, + "unit_amount": { + "type": "integer" + }, + "up_to": { + "anyOf": [ + { + "enum": [ + "inf" + ], + "maxLength": 5000, + "type": "string" + }, + { + "type": "integer" + } + ] + } + }, + "required": [ + "up_to" + ], + "title": "plan_tier_param", + "type": "object" + }, + "type": "array" + }, + "tiers_mode": { + "description": "Defines if the tiering price should be `graduated` or `volume` based. In `volume`-based tiering, the maximum quantity within a period determines the per unit price, in `graduated` tiering pricing can successively change as the quantity grows.", + "enum": [ + "graduated", + "volume" + ], + "maxLength": 5000, + "type": "string" + }, + "transform_usage": { + "description": "Apply a transformation to the reported usage or set quantity before computing the billed price. Cannot be combined with `tiers`.", + "properties": { + "divide_by": { + "type": "integer" + }, + "round": { + "enum": [ + "down", + "up" + ], + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "divide_by", + "round" + ], + "title": "transform_usage_param", + "type": "object" + }, + "trial_period_days": { + "description": "Default number of trial days when subscribing a customer to this plan using [`trial_from_plan=true`](/docs/api#create_subscription-trial_from_plan).", + "type": "integer" + }, + "usage_type": { + "description": "Configures how the quantity per period should be determined, can be either `metered` or `licensed`. `licensed` will automatically bill the `quantity` set for a plan when adding it to a subscription, `metered` will aggregate the total usage based on usage records. Defaults to `licensed`.", + "enum": [ + "licensed", + "metered" + ], + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "currency", + "interval" + ], + "type": "object" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/plan" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/plans/{plan}": { + "delete": { + "description": "\u003Cp\u003EDeleting plans means new subscribers can’t be added. Existing subscribers aren’t affected.\u003C/p\u003E", + "operationId": "DeletePlan", + "parameters": [ + { + "description": "The identifier of the plan to be deleted.", + "in": "path", + "name": "plan", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/deleted_plan" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "get": { + "description": "\u003Cp\u003ERetrieves the plan with the given ID.\u003C/p\u003E", + "operationId": "RetrievePlan", + "parameters": [ + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "The ID of the desired plan.", + "in": "path", + "name": "plan", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/plan" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003EUpdates the specified plan by setting the values of the parameters passed. Any parameters not provided are left unchanged. By design, you cannot change a plan’s ID, amount, currency, or billing cycle.\u003C/p\u003E", + "operationId": "UpdatePlan", + "parameters": [ + { + "description": "The identifier of the plan to be updated.", + "in": "path", + "name": "plan", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + }, + "metadata": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "active": { + "description": "Whether the plan is currently available for new subscriptions.", + "type": "boolean" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "A set of key/value pairs that you can attach to a plan object. It can be useful for storing additional information about the plan in a structured format.", + "type": "object" + }, + "name": { + "description": "The plan name. Customers may see this value on Stripe-generated invoices and receipts.", + "maxLength": 800, + "type": "string" + }, + "nickname": { + "description": "A brief description of the plan, hidden from customers.", + "maxLength": 5000, + "type": "string" + }, + "product": { + "description": "The product the plan belongs to. Note that after updating, statement descriptors and line items of the plan in active subscriptions will be affected.", + "maxLength": 5000, + "type": "string" + }, + "statement_descriptor": { + "description": "An arbitrary string to be displayed on your customer's credit card statement. This may be up to 22 characters. The statement description may not include \u003C\u003E\"' characters, and will appear on your customer's statement in capital letters. Non-ASCII characters are automatically stripped. While most banks display this information consistently, some may display it incorrectly or not at all. It must contain at least one letter.", + "maxLength": 22, + "type": "string" + }, + "trial_period_days": { + "description": "Default number of trial days when subscribing a customer to this plan using [`trial_from_plan=true`](/docs/api#create_subscription-trial_from_plan).", + "type": "integer" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/plan" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/products": { + "get": { + "description": "\u003Cp\u003EReturns a list of your products. The products are returned sorted by creation date, with the most recently created products appearing first.\u003C/p\u003E", + "operationId": "AllProducts", + "parameters": [ + { + "description": "Only return products that are active or inactive (e.g., pass `false` to list all inactive products).", + "in": "query", + "name": "active", + "required": false, + "schema": { + "type": "boolean" + }, + "style": "form" + }, + { + "description": "Only return products that were created during the given date interval.", + "explode": true, + "in": "query", + "name": "created", + "required": false, + "schema": { + "anyOf": [ + { + "properties": { + "gt": { + "type": "integer" + }, + "gte": { + "type": "integer" + }, + "lt": { + "type": "integer" + }, + "lte": { + "type": "integer" + } + }, + "title": "range_query_specs", + "type": "object" + }, + { + "type": "integer" + } + ] + }, + "style": "deepObject" + }, + { + "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.", + "in": "query", + "name": "ending_before", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "Only return products with the given IDs.", + "explode": true, + "in": "query", + "name": "ids", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.", + "in": "query", + "name": "limit", + "required": false, + "schema": { + "type": "integer" + }, + "style": "form" + }, + { + "description": "Only return products that can be shipped (i.e., physical, not digital products).", + "in": "query", + "name": "shippable", + "required": false, + "schema": { + "type": "boolean" + }, + "style": "form" + }, + { + "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.", + "in": "query", + "name": "starting_after", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "Only return products of this type.", + "in": "query", + "name": "type", + "required": false, + "schema": { + "enum": [ + "good", + "service" + ], + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "Only return products with the given url.", + "in": "query", + "name": "url", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/product" + }, + "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/products", + "type": "string" + } + }, + "required": [ + "data", + "has_more", + "object", + "url" + ], + "type": "object", + "x-expandableFields": [ + "data" + ] + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003ECreates a new product object. To create a product for use with subscriptions, see \u003Ca href=\"#create_service_product\"\u003ESubscriptions Products\u003C/a\u003E.\u003C/p\u003E", + "operationId": "CreateProduct", + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "attributes": { + "explode": true, + "style": "deepObject" + }, + "deactivate_on": { + "explode": true, + "style": "deepObject" + }, + "expand": { + "explode": true, + "style": "deepObject" + }, + "images": { + "explode": true, + "style": "deepObject" + }, + "metadata": { + "explode": true, + "style": "deepObject" + }, + "package_dimensions": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "active": { + "description": "Whether the product is currently available for purchase. Defaults to `true`.", + "type": "boolean" + }, + "attributes": { + "description": "A list of up to 5 alphanumeric attributes. Applicable to both `service` and `good` types.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "caption": { + "description": "A short one-line description of the product, meant to be displayable to the customer. May only be set if type=`good`.", + "maxLength": 5000, + "type": "string" + }, + "deactivate_on": { + "description": "An array of Connect application names or identifiers that should not be able to order the SKUs for this product. May only be set if type=`good`.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "description": { + "description": "The product's description, meant to be displayable to the customer. May only be set if type=`good`.", + "maxLength": 40000, + "type": "string" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "id": { + "description": "An identifier will be randomly generated by Stripe. You can optionally override this ID, but the ID must be unique across all products in your Stripe account. Applicable to both `service` and `good` types.", + "maxLength": 5000, + "type": "string" + }, + "images": { + "description": "A list of up to 8 URLs of images for this product, meant to be displayable to the customer. May only be set if type=`good`.", + "items": { + "type": "string" + }, + "type": "array" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "A set of key/value pairs that you can attach to a product object. It can be useful for storing additional information about the product in a structured format. Applicable to both `service` and `good` types.", + "type": "object" + }, + "name": { + "description": "The product's name, meant to be displayable to the customer. Applicable to both `service` and `good` types.", + "maxLength": 5000, + "type": "string" + }, + "package_dimensions": { + "description": "The dimensions of this product for shipping purposes. A SKU associated with this product can override this value by having its own `package_dimensions`. May only be set if type=`good`.", + "properties": { + "height": { + "type": "number" + }, + "length": { + "type": "number" + }, + "weight": { + "type": "number" + }, + "width": { + "type": "number" + } + }, + "required": [ + "height", + "length", + "weight", + "width" + ], + "title": "package_dimensions_specs", + "type": "object" + }, + "shippable": { + "description": "Whether this product is shipped (i.e., physical goods). Defaults to `true`. May only be set if type=`good`.", + "type": "boolean" + }, + "statement_descriptor": { + "description": "An arbitrary string to be displayed on your customer's credit card statement. This may be up to 22 characters. The statement description may not include \u003C\u003E\"' characters, and will appear on your customer's statement in capital letters. Non-ASCII characters are automatically stripped. While most banks display this information consistently, some may display it incorrectly or not at all. It must contain at least one letter. May only be set if type=`service`.", + "maxLength": 22, + "type": "string" + }, + "type": { + "description": "The type of the product. The product is either of type `service`, which is eligible for use with Subscriptions and Plans or `good`, which is eligible for use with Orders and SKUs.", + "enum": [ + "good", + "service" + ], + "maxLength": 5000, + "type": "string" + }, + "unit_label": { + "description": "A label that represents units of this product, such as seat(s), in Stripe and on customers’ receipts and invoices. Only available on products of type=`service`.", + "maxLength": 12, + "type": "string" + }, + "url": { + "description": "A URL of a publicly-accessible webpage for this product. May only be set if type=`good`.", + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "name", + "type" + ], + "type": "object" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/product" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/products/{id}": { + "delete": { + "description": "\u003Cp\u003EDelete a product. Deleting a product with type=\u003Ccode\u003Egood\u003C/code\u003E is only possible if it has no SKUs associated with it. Deleting a product with type=\u003Ccode\u003Eservice\u003C/code\u003E is only possible if it has no plans associated with it.\u003C/p\u003E", + "operationId": "DeleteProduct", + "parameters": [ + { + "description": "The ID of the product to delete.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/deleted_product" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "get": { + "description": "\u003Cp\u003ERetrieves the details of an existing product. Supply the unique product ID from either a product creation request or the product list, and Stripe will return the corresponding product information.\u003C/p\u003E", + "operationId": "RetrieveProduct", + "parameters": [ + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "The identifier of the product to be retrieved.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/product" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003EUpdates the specific product by setting the values of the parameters passed. Any parameters not provided will be left unchanged.\u003C/p\u003E\n\n\u003Cp\u003ENote that a product’s \u003Ccode\u003Eattributes\u003C/code\u003E are not editable. Instead, you would need to deactivate the existing product and create a new one with the new attribute values.\u003C/p\u003E", + "operationId": "UpdateProduct", + "parameters": [ + { + "in": "path", + "name": "id", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "attributes": { + "explode": true, + "style": "deepObject" + }, + "deactivate_on": { + "explode": true, + "style": "deepObject" + }, + "expand": { + "explode": true, + "style": "deepObject" + }, + "images": { + "explode": true, + "style": "deepObject" + }, + "metadata": { + "explode": true, + "style": "deepObject" + }, + "package_dimensions": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "active": { + "description": "Whether the product is available for purchase.", + "type": "boolean" + }, + "attributes": { + "description": "A list of up to 5 alphanumeric attributes that each SKU can provide values for (e.g., `[\"color\", \"size\"]`). If a value for `attributes` is specified, the list specified will replace the existing attributes list on this product. Any attributes not present after the update will be deleted from the SKUs for this product.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "caption": { + "description": "A short one-line description of the product, meant to be displayable to the customer.", + "maxLength": 5000, + "type": "string" + }, + "deactivate_on": { + "description": "An array of Connect application names or identifiers that should not be able to order the SKUs for this product.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "description": { + "description": "The product's description, meant to be displayable to the customer.", + "maxLength": 40000, + "type": "string" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "images": { + "description": "A list of up to 8 URLs of images for this product, meant to be displayable to the customer.", + "items": { + "type": "string" + }, + "type": "array" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "A set of key/value pairs that you can attach to a product object. It can be useful for storing additional information about the product in a structured format.", + "type": "object" + }, + "name": { + "description": "The product's name, meant to be displayable to the customer. Applicable to both `service` and `good` types.", + "maxLength": 5000, + "type": "string" + }, + "package_dimensions": { + "description": "The dimensions of this product for shipping purposes. A SKU associated with this product can override this value by having its own `package_dimensions`.", + "properties": { + "height": { + "type": "number" + }, + "length": { + "type": "number" + }, + "weight": { + "type": "number" + }, + "width": { + "type": "number" + } + }, + "required": [ + "height", + "length", + "weight", + "width" + ], + "title": "package_dimensions_specs", + "type": "object" + }, + "shippable": { + "description": "Whether this product is shipped (i.e., physical goods). Defaults to `true`.", + "type": "boolean" + }, + "statement_descriptor": { + "description": "An arbitrary string to be displayed on your customer's credit card statement. This may be up to 22 characters. The statement description may not include \u003C\u003E\"' characters, and will appear on your customer's statement in capital letters. Non-ASCII characters are automatically stripped. While most banks display this information consistently, some may display it incorrectly or not at all. It must contain at least one letter. May only be set if type=`service`.", + "maxLength": 22, + "type": "string" + }, + "unit_label": { + "description": "A label that represents units of this product, such as seat(s), in Stripe and on customers’ receipts and invoices. Only available on products of type=`service`.", + "maxLength": 12, + "type": "string" + }, + "url": { + "description": "A URL of a publicly-accessible webpage for this product.", + "type": "string" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/product" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/radar/value_list_items": { + "get": { + "description": "\u003Cp\u003EReturns a list of \u003Ccode\u003EValueListItem\u003C/code\u003E objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first.\u003C/p\u003E", + "operationId": "RadarListAllItems", + "parameters": [ + { + "explode": true, + "in": "query", + "name": "created", + "required": false, + "schema": { + "anyOf": [ + { + "properties": { + "gt": { + "type": "integer" + }, + "gte": { + "type": "integer" + }, + "lt": { + "type": "integer" + }, + "lte": { + "type": "integer" + } + }, + "title": "range_query_specs", + "type": "object" + }, + { + "type": "integer" + } + ] + }, + "style": "deepObject" + }, + { + "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.", + "in": "query", + "name": "ending_before", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.", + "in": "query", + "name": "limit", + "required": false, + "schema": { + "type": "integer" + }, + "style": "form" + }, + { + "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.", + "in": "query", + "name": "starting_after", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "Return items belonging to the parent list whose value matches the specified value (using an \"is like\" match).", + "in": "query", + "name": "value", + "required": false, + "schema": { + "maxLength": 800, + "type": "string" + }, + "style": "form" + }, + { + "description": "Identifier for the parent value list this item belongs to.", + "in": "query", + "name": "value_list", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/radar.value_list_item" + }, + "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/radar/value_list_items", + "type": "string" + } + }, + "required": [ + "data", + "has_more", + "object", + "url" + ], + "type": "object", + "x-expandableFields": [ + "data" + ] + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003ECreates a new \u003Ccode\u003EValueListItem\u003C/code\u003E object, which is added to the specified parent value list.\u003C/p\u003E", + "operationId": "RadarListCreateItem", + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "value": { + "description": "The value of the item (whose type must match the type of the parent value list).", + "maxLength": 800, + "type": "string" + }, + "value_list": { + "description": "The identifier of the value list which the created item will be added to.", + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "value", + "value_list" + ], + "type": "object" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/radar.value_list_item" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/radar/value_list_items/{item}": { + "delete": { + "description": "\u003Cp\u003EDeletes a \u003Ccode\u003EValueListItem\u003C/code\u003E object, removing it from its parent value list.\u003C/p\u003E", + "operationId": "RadarListDeleteItem", + "parameters": [ + { + "description": "The identifier of the value list item to be deleted.", + "in": "path", + "name": "item", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/deleted_radar.value_list_item" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "get": { + "description": "\u003Cp\u003ERetrieves a \u003Ccode\u003EValueListItem\u003C/code\u003E object.\u003C/p\u003E", + "operationId": "RadarListRetrieveItem", + "parameters": [ + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "The identifier of the value list item to be retrieved.", + "in": "path", + "name": "item", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/radar.value_list_item" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/radar/value_lists": { + "get": { + "description": "\u003Cp\u003EReturns a list of \u003Ccode\u003EValueList\u003C/code\u003E objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first.\u003C/p\u003E", + "operationId": "RadarListAll", + "parameters": [ + { + "description": "The alias used to reference the value list when writing rules.", + "in": "query", + "name": "alias", + "required": false, + "schema": { + "maxLength": 100, + "type": "string" + }, + "style": "form" + }, + { + "description": "A value contained within a value list - returns all value lists containing this value.", + "in": "query", + "name": "contains", + "required": false, + "schema": { + "maxLength": 800, + "type": "string" + }, + "style": "form" + }, + { + "explode": true, + "in": "query", + "name": "created", + "required": false, + "schema": { + "anyOf": [ + { + "properties": { + "gt": { + "type": "integer" + }, + "gte": { + "type": "integer" + }, + "lt": { + "type": "integer" + }, + "lte": { + "type": "integer" + } + }, + "title": "range_query_specs", + "type": "object" + }, + { + "type": "integer" + } + ] + }, + "style": "deepObject" + }, + { + "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.", + "in": "query", + "name": "ending_before", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.", + "in": "query", + "name": "limit", + "required": false, + "schema": { + "type": "integer" + }, + "style": "form" + }, + { + "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.", + "in": "query", + "name": "starting_after", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/radar.value_list" + }, + "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/radar/value_lists", + "type": "string" + } + }, + "required": [ + "data", + "has_more", + "object", + "url" + ], + "type": "object", + "x-expandableFields": [ + "data" + ] + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003ECreates a new \u003Ccode\u003EValueList\u003C/code\u003E object, which can then be referenced in rules.\u003C/p\u003E", + "operationId": "RadarListCreate", + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + }, + "metadata": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "alias": { + "description": "The name of the value list for use in rules.", + "maxLength": 100, + "type": "string" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "item_type": { + "description": "Type of the items in the value list. One of `card_fingerprint`, `card_bin`, `email`, `ip_address`, `country`, `string`, or `case_sensitive_string`. Use `string` if the item type is unknown or mixed.", + "enum": [ + "card_bin", + "card_fingerprint", + "case_sensitive_string", + "country", + "email", + "ip_address", + "string" + ], + "maxLength": 5000, + "type": "string" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "Set of key-value pairs 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`.", + "type": "object" + }, + "name": { + "description": "The human-readable name of the value list.", + "maxLength": 100, + "type": "string" + } + }, + "required": [ + "alias", + "name" + ], + "type": "object" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/radar.value_list" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/radar/value_lists/{value_list}": { + "delete": { + "description": "\u003Cp\u003EDeletes a \u003Ccode\u003EValueList\u003C/code\u003E object, also deleting any items contained within the value list. To be deleted, a value list must not be referenced in any rules.\u003C/p\u003E", + "operationId": "RadarListDelete", + "parameters": [ + { + "description": "The identifier of the value list to be deleted.", + "in": "path", + "name": "value_list", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/deleted_radar.value_list" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "get": { + "description": "\u003Cp\u003ERetrieves a \u003Ccode\u003EValueList\u003C/code\u003E object.\u003C/p\u003E", + "operationId": "RadarListRetrieve", + "parameters": [ + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "The identifier of the value list to be retrieved.", + "in": "path", + "name": "value_list", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/radar.value_list" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003EUpdates a \u003Ccode\u003EValueList\u003C/code\u003E object by setting the values of the parameters passed. Any parameters not provided will be left unchanged. Note that \u003Ccode\u003Eitem_type\u003C/code\u003E is immutable.\u003C/p\u003E", + "operationId": "RadarListUpdate", + "parameters": [ + { + "description": "The identifier of the value list to be updated.", + "in": "path", + "name": "value_list", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + }, + "metadata": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "alias": { + "description": "The name of the value list for use in rules.", + "maxLength": 100, + "type": "string" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "Set of key-value pairs 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`.", + "type": "object" + }, + "name": { + "description": "The human-readable name of the value list.", + "maxLength": 100, + "type": "string" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/radar.value_list" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/recipients": { + "get": { + "deprecated": true, + "description": "\u003Cp\u003EReturns a list of your recipients. The recipients are returned sorted by creation date, with the most recently created recipients appearing first.\u003C/p\u003E", + "operationId": "AllTransferRecipients", + "parameters": [ + { + "explode": true, + "in": "query", + "name": "created", + "required": false, + "schema": { + "anyOf": [ + { + "properties": { + "gt": { + "type": "integer" + }, + "gte": { + "type": "integer" + }, + "lt": { + "type": "integer" + }, + "lte": { + "type": "integer" + } + }, + "title": "range_query_specs", + "type": "object" + }, + { + "type": "integer" + } + ] + }, + "style": "deepObject" + }, + { + "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.", + "in": "query", + "name": "ending_before", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.", + "in": "query", + "name": "limit", + "required": false, + "schema": { + "type": "integer" + }, + "style": "form" + }, + { + "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.", + "in": "query", + "name": "starting_after", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "in": "query", + "name": "type", + "required": false, + "schema": { + "enum": [ + "corporation", + "individual" + ], + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "Only return recipients that are verified or unverified.", + "in": "query", + "name": "verified", + "required": false, + "schema": { + "type": "boolean" + }, + "style": "form" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/recipient" + }, + "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/recipients", + "type": "string" + } + }, + "required": [ + "data", + "has_more", + "object", + "url" + ], + "type": "object", + "x-expandableFields": [ + "data" + ] + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "deprecated": true, + "description": "\u003Cp\u003ECreates a new \u003Ccode\u003ERecipient\u003C/code\u003E object and verifies the recipient’s identity.\nAlso verifies the recipient’s bank account information or debit card, if either is provided.\u003C/p\u003E", + "operationId": "TransferRecipientCreate", + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "bank_account": { + "explode": true, + "style": "deepObject" + }, + "card": { + "explode": true, + "style": "deepObject" + }, + "expand": { + "explode": true, + "style": "deepObject" + }, + "metadata": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "bank_account": { + "anyOf": [ + { + "type": "object" + }, + { + "maxLength": 5000, + "type": "string" + } + ], + "description": "A bank account to attach to the recipient. You can provide either a token, like the ones returned by [Stripe.js](/docs/stripe-js), or a dictionary containing a user's bank account details, with the options described below." + }, + "card": { + "anyOf": [ + { + "type": "object" + }, + { + "maxLength": 5000, + "type": "string" + } + ], + "description": "A U.S. Visa or MasterCard debit card (_not_ prepaid) to attach to the recipient. If the debit card is not valid, recipient creation will fail. You can provide either a token, like the ones returned by [Stripe.js](/docs/stripe-js), or a dictionary containing a user's debit card details, with the options described below. Although not all information is required, the extra info helps prevent fraud." + }, + "description": { + "description": "An arbitrary string which you can attach to a `Recipient` object. It is displayed alongside the recipient in the web interface.", + "maxLength": 5000, + "type": "string" + }, + "email": { + "description": "The recipient's email address. It is displayed alongside the recipient in the web interface, and can be useful for searching and tracking.", + "maxLength": 5000, + "type": "string" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "Set of key-value pairs 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`.", + "type": "object" + }, + "name": { + "description": "The recipient's full, legal name. For type `individual`, should be in the format `First Last`, `First Middle Last`, or `First M Last` (no prefixes or suffixes). For `corporation`, the full, incorporated name.", + "maxLength": 5000, + "type": "string" + }, + "tax_id": { + "description": "The recipient's tax ID, as a string. For type `individual`, the full SSN; for type `corporation`, the full EIN.", + "maxLength": 5000, + "type": "string" + }, + "type": { + "description": "Type of the recipient: either `individual` or `corporation`.", + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "name", + "type" + ], + "type": "object" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/recipient" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/recipients/{id}": { + "delete": { + "deprecated": true, + "description": "\u003Cp\u003EPermanently deletes a recipient. It cannot be undone.\u003C/p\u003E", + "operationId": "TransferRecipientDelete", + "parameters": [ + { + "description": "The identifier of the recipient to be deleted.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/deleted_recipient" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "get": { + "deprecated": true, + "description": "\u003Cp\u003ERetrieves the details of an existing recipient. You need only supply the unique recipient identifier that was returned upon recipient creation.\u003C/p\u003E", + "operationId": "RetrieveTransferRecipient", + "parameters": [ + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "The identifier of the recipient to be retrieved.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "anyOf": [ + { + "$ref": "#/components/schemas/recipient" + }, + { + "$ref": "#/components/schemas/deleted_recipient" + } + ] + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "deprecated": true, + "description": "\u003Cp\u003EUpdates the specified recipient by setting the values of the parameters passed.\nAny parameters not provided will be left unchanged.\u003C/p\u003E\n\n\u003Cp\u003EIf you update the name or tax ID, the identity verification will automatically be rerun.\nIf you update the bank account, the bank account validation will automatically be rerun.\u003C/p\u003E", + "operationId": "TransferRecipientUpdate", + "parameters": [ + { + "in": "path", + "name": "id", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "bank_account": { + "explode": true, + "style": "deepObject" + }, + "card": { + "explode": true, + "style": "deepObject" + }, + "expand": { + "explode": true, + "style": "deepObject" + }, + "metadata": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "bank_account": { + "anyOf": [ + { + "type": "object" + }, + { + "maxLength": 5000, + "type": "string" + } + ], + "description": "A bank account to attach to the recipient. You can provide either a token, like the ones returned by [Stripe.js](/docs/stripe-js), or a dictionary containing a user's bank account details, with the options described below." + }, + "card": { + "anyOf": [ + { + "type": "object" + }, + { + "maxLength": 5000, + "type": "string" + } + ], + "description": "A U.S. Visa or MasterCard debit card (not prepaid) to attach to the recipient. You can provide either a token, like the ones returned by [Stripe.js](/docs/stripe-js), or a dictionary containing a user's debit card details, with the options described below. Passing `card` will create a new card, make it the new recipient default card, and delete the old recipient default (if one exists). If you want to add additional debit cards instead of replacing the existing default, use the [card creation API](#create_card). Whenever you attach a card to a recipient, Stripe will automatically validate the debit card." + }, + "default_card": { + "description": "ID of the card to set as the recipient's new default for payouts.", + "maxLength": 5000, + "type": "string" + }, + "description": { + "description": "An arbitrary string which you can attach to a `Recipient` object. It is displayed alongside the recipient in the web interface.", + "maxLength": 5000, + "type": "string" + }, + "email": { + "description": "The recipient's email address. It is displayed alongside the recipient in the web interface, and can be useful for searching and tracking.", + "maxLength": 5000, + "type": "string" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "Set of key-value pairs 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`.", + "type": "object" + }, + "name": { + "description": "The recipient's full, legal name. For type `individual`, should be in the format `First Last`, `First Middle Last`, or `First M Last` (no prefixes or suffixes). For `corporation`, the full, incorporated name.", + "maxLength": 5000, + "type": "string" + }, + "tax_id": { + "description": "The recipient's tax ID, as a string. For type `individual`, the full SSN; for type `corporation`, the full EIN.", + "maxLength": 5000, + "type": "string" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/recipient" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/refunds": { + "get": { + "description": "\u003Cp\u003EReturns a list of all refunds you’ve previously created. The refunds are returned in sorted order, with the most recent refunds appearing first. For convenience, the 10 most recent refunds are always available by default on the charge object.\u003C/p\u003E", + "operationId": "AllRefunds", + "parameters": [ + { + "description": "Only return refunds for the charge specified by this charge ID.", + "in": "query", + "name": "charge", + "required": false, + "schema": { + "type": "string" + }, + "style": "form" + }, + { + "explode": true, + "in": "query", + "name": "created", + "required": false, + "schema": { + "anyOf": [ + { + "properties": { + "gt": { + "type": "integer" + }, + "gte": { + "type": "integer" + }, + "lt": { + "type": "integer" + }, + "lte": { + "type": "integer" + } + }, + "title": "range_query_specs", + "type": "object" + }, + { + "type": "integer" + } + ] + }, + "style": "deepObject" + }, + { + "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.", + "in": "query", + "name": "ending_before", + "required": false, + "schema": { + "type": "string" + }, + "style": "form" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.", + "in": "query", + "name": "limit", + "required": false, + "schema": { + "type": "integer" + }, + "style": "form" + }, + { + "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.", + "in": "query", + "name": "starting_after", + "required": false, + "schema": { + "type": "string" + }, + "style": "form" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/refund" + }, + "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/refunds", + "type": "string" + } + }, + "required": [ + "data", + "has_more", + "object", + "url" + ], + "type": "object", + "x-expandableFields": [ + "data" + ] + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003ECreate a refund.\u003C/p\u003E", + "operationId": "UnifiedPaymentsCreateRefund", + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "directive": { + "explode": true, + "style": "deepObject" + }, + "expand": { + "explode": true, + "style": "deepObject" + }, + "metadata": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "amount": { + "type": "integer" + }, + "charge": { + "maxLength": 5000, + "type": "string" + }, + "description": { + "maxLength": 5000, + "type": "string" + }, + "directive": { + "anyOf": [ + { + "maxLength": 5000, + "type": "string" + }, + { + "enum": [ + "risk_refund" + ], + "maxLength": 5000, + "type": "string" + } + ] + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "reason": { + "enum": [ + "duplicate", + "fraudulent", + "requested_by_customer" + ], + "maxLength": 5000, + "type": "string" + }, + "refund_application_fee": { + "type": "boolean" + }, + "reverse_transfer": { + "type": "boolean" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/refund" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/refunds/{refund}": { + "get": { + "description": "\u003Cp\u003ERetrieves the details of an existing refund.\u003C/p\u003E", + "operationId": "RetrieveRefund", + "parameters": [ + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "ID of refund to retrieve.", + "in": "path", + "name": "refund", + "required": true, + "schema": { + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/refund" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003EUpdates the specified refund by setting the values of the parameters passed. Any parameters not provided will be left unchanged.\u003C/p\u003E\n\n\u003Cp\u003EThis request only accepts \u003Ccode\u003Emetadata\u003C/code\u003E as an argument.\u003C/p\u003E", + "operationId": "UpdateRefund", + "parameters": [ + { + "in": "path", + "name": "refund", + "required": true, + "schema": { + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + }, + "metadata": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "Set of key-value pairs 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`.", + "type": "object" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/refund" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/reporting/report_runs": { + "get": { + "description": "\u003Cp\u003EReturns a list of Report Runs, with the most recent appearing first. (Requires a \u003Ca href=\"https://stripe.com/docs/keys#test-live-modes\"\u003Elive-mode API key\u003C/a\u003E.)\u003C/p\u003E", + "operationId": "FinancialReportingFinanceReportRunAll", + "parameters": [ + { + "explode": true, + "in": "query", + "name": "created", + "required": false, + "schema": { + "anyOf": [ + { + "properties": { + "gt": { + "type": "integer" + }, + "gte": { + "type": "integer" + }, + "lt": { + "type": "integer" + }, + "lte": { + "type": "integer" + } + }, + "title": "range_query_specs", + "type": "object" + }, + { + "type": "integer" + } + ] + }, + "style": "deepObject" + }, + { + "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.", + "in": "query", + "name": "ending_before", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.", + "in": "query", + "name": "limit", + "required": false, + "schema": { + "type": "integer" + }, + "style": "form" + }, + { + "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.", + "in": "query", + "name": "starting_after", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/reporting.report_run" + }, + "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/reporting/report_runs", + "type": "string" + } + }, + "required": [ + "data", + "has_more", + "object", + "url" + ], + "type": "object", + "x-expandableFields": [ + "data" + ] + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003ECreates a new object and begin running the report. (Requires a \u003Ca href=\"https://stripe.com/docs/keys#test-live-modes\"\u003Elive-mode API key\u003C/a\u003E.)\u003C/p\u003E", + "operationId": "FinancialReportingFinanceReportRunCreate", + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + }, + "parameters": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "parameters": { + "description": "Parameters specifying how the report should be run. Different Report Types have different required and optional parameters, listed in the [API Access to Reports](/docs/reporting/statements/api) documentation.", + "properties": { + "connected_account": { + "type": "string" + }, + "currency": { + "type": "string" + }, + "interval_end": { + "format": "unix-time", + "type": "integer" + }, + "interval_start": { + "format": "unix-time", + "type": "integer" + }, + "payout": { + "maxLength": 5000, + "type": "string" + }, + "reporting_category": { + "enum": [ + "advance", + "advance_funding", + "charge", + "charge_failure", + "connect_collection_transfer", + "connect_reserved_funds", + "dispute", + "dispute_reversal", + "fee", + "financing_paydown", + "financing_payout", + "issuing_authorization_hold", + "issuing_authorization_release", + "issuing_transaction", + "network_cost", + "other_adjustment", + "partial_capture_reversal", + "payout", + "payout_reversal", + "platform_earning", + "platform_earning_refund", + "refund", + "refund_failure", + "risk_reserved_funds", + "tax", + "topup", + "topup_reversal", + "transfer", + "transfer_reversal" + ], + "maxLength": 5000, + "type": "string" + } + }, + "title": "run_parameter_specs", + "type": "object" + }, + "report_type": { + "description": "The ID of the [report type](/docs/reporting/statements/api#report-types) to run, such as `\"balance.summary.1\"`.", + "type": "string" + } + }, + "required": [ + "report_type" + ], + "type": "object" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/reporting.report_run" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/reporting/report_runs/{report_run}": { + "get": { + "description": "\u003Cp\u003ERetrieves the details of an existing Report Run. (Requires a \u003Ca href=\"https://stripe.com/docs/keys#test-live-modes\"\u003Elive-mode API key\u003C/a\u003E.)\u003C/p\u003E", + "operationId": "FinancialReportingFinanceReportRunRetrieve", + "parameters": [ + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "The ID of the run to retrieve", + "in": "path", + "name": "report_run", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/reporting.report_run" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/reporting/report_types": { + "get": { + "description": "\u003Cp\u003EReturns a full list of Report Types. (Requires a \u003Ca href=\"https://stripe.com/docs/keys#test-live-modes\"\u003Elive-mode API key\u003C/a\u003E.)\u003C/p\u003E", + "operationId": "FinancialReportingFinanceReportTypeAll", + "parameters": [ + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/reporting.report_type" + }, + "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, + "type": "string" + } + }, + "required": [ + "data", + "has_more", + "object", + "url" + ], + "title": "FinancialReportingFinanceReportTypeList", + "type": "object", + "x-expandableFields": [ + "data" + ] + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/reporting/report_types/{report_type}": { + "get": { + "description": "\u003Cp\u003ERetrieves the details of a Report Type. (Requires a \u003Ca href=\"https://stripe.com/docs/keys#test-live-modes\"\u003Elive-mode API key\u003C/a\u003E.)\u003C/p\u003E", + "operationId": "FinancialReportingFinanceReportTypeRetrieve", + "parameters": [ + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "The [ID of the Report Type](https://stripe.com/docs/reporting/statements/api#available-report-types) to retrieve, such as `balance.summary.1`.", + "in": "path", + "name": "report_type", + "required": true, + "schema": { + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/reporting.report_type" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/reviews": { + "get": { + "description": "\u003Cp\u003EReturns a list of \u003Ccode\u003EReview\u003C/code\u003E objects that have \u003Ccode\u003Eopen\u003C/code\u003E set to \u003Ccode\u003Etrue\u003C/code\u003E. The objects are sorted in descending order by creation date, with the most recently created object appearing first.\u003C/p\u003E", + "operationId": "RadarReviewAll", + "parameters": [ + { + "explode": true, + "in": "query", + "name": "created", + "required": false, + "schema": { + "anyOf": [ + { + "properties": { + "gt": { + "type": "integer" + }, + "gte": { + "type": "integer" + }, + "lt": { + "type": "integer" + }, + "lte": { + "type": "integer" + } + }, + "title": "range_query_specs", + "type": "object" + }, + { + "type": "integer" + } + ] + }, + "style": "deepObject" + }, + { + "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.", + "in": "query", + "name": "ending_before", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.", + "in": "query", + "name": "limit", + "required": false, + "schema": { + "type": "integer" + }, + "style": "form" + }, + { + "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.", + "in": "query", + "name": "starting_after", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/review" + }, + "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/reviews", + "type": "string" + } + }, + "required": [ + "data", + "has_more", + "object", + "url" + ], + "type": "object", + "x-expandableFields": [ + "data" + ] + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/reviews/{review}": { + "get": { + "description": "\u003Cp\u003ERetrieves a \u003Ccode\u003EReview\u003C/code\u003E object.\u003C/p\u003E", + "operationId": "RadarReviewRetrieve", + "parameters": [ + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "The identifier of the review to be retrieved.", + "in": "path", + "name": "review", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/review" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/reviews/{review}/approve": { + "post": { + "description": "\u003Cp\u003EApproves a \u003Ccode\u003EReview\u003C/code\u003E object, closing it and removing it from the list of reviews.\u003C/p\u003E", + "operationId": "RadarReviewApprove", + "parameters": [ + { + "description": "The identifier of the review to be approved.", + "in": "path", + "name": "review", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/review" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/sigma/scheduled_query_runs": { + "get": { + "description": "\u003Cp\u003EReturns a list of scheduled query runs.\u003C/p\u003E", + "operationId": "AllScheduledQueryRuns", + "parameters": [ + { + "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.", + "in": "query", + "name": "ending_before", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.", + "in": "query", + "name": "limit", + "required": false, + "schema": { + "type": "integer" + }, + "style": "form" + }, + { + "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.", + "in": "query", + "name": "starting_after", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/scheduled_query_run" + }, + "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/sigma/scheduled_query_runs", + "type": "string" + } + }, + "required": [ + "data", + "has_more", + "object", + "url" + ], + "type": "object", + "x-expandableFields": [ + "data" + ] + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/sigma/scheduled_query_runs/{scheduled_query_run}": { + "get": { + "description": "\u003Cp\u003ERetrieves the details of an scheduled query run.\u003C/p\u003E", + "operationId": "RetrieveScheduledQueryRun", + "parameters": [ + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "Unique identifier for the object.", + "in": "path", + "name": "scheduled_query_run", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/scheduled_query_run" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/skus": { + "get": { + "description": "\u003Cp\u003EReturns a list of your SKUs. The SKUs are returned sorted by creation date, with the most recently created SKUs appearing first.\u003C/p\u003E", + "operationId": "AllSKUs", + "parameters": [ + { + "description": "Only return SKUs that are active or inactive (e.g., pass `false` to list all inactive products).", + "in": "query", + "name": "active", + "required": false, + "schema": { + "type": "boolean" + }, + "style": "form" + }, + { + "description": "Only return SKUs that have the specified key/value pairs in this partially constructed dictionary. Can be specified only if `product` is also supplied. For instance, if the associated product has attributes `[\"color\", \"size\"]`, passing in `attributes[color]=red` returns all the SKUs for this product that have `color` set to `red`.", + "explode": true, + "in": "query", + "name": "attributes", + "required": false, + "schema": { + "additionalProperties": { + "maxLength": 500, + "type": "string" + }, + "type": "object" + }, + "style": "deepObject" + }, + { + "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.", + "in": "query", + "name": "ending_before", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "Only return SKUs with the given IDs.", + "explode": true, + "in": "query", + "name": "ids", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "Only return SKUs that are either in stock or out of stock (e.g., pass `false` to list all SKUs that are out of stock). If no value is provided, all SKUs are returned.", + "in": "query", + "name": "in_stock", + "required": false, + "schema": { + "type": "boolean" + }, + "style": "form" + }, + { + "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.", + "in": "query", + "name": "limit", + "required": false, + "schema": { + "type": "integer" + }, + "style": "form" + }, + { + "description": "The ID of the product whose SKUs will be retrieved. Must be a product with type `good`.", + "in": "query", + "name": "product", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "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.", + "in": "query", + "name": "starting_after", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/sku" + }, + "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/skus", + "type": "string" + } + }, + "required": [ + "data", + "has_more", + "object", + "url" + ], + "type": "object", + "x-expandableFields": [ + "data" + ] + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003ECreates a new SKU associated with a product.\u003C/p\u003E", + "operationId": "CreateSKU", + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "attributes": { + "explode": true, + "style": "deepObject" + }, + "expand": { + "explode": true, + "style": "deepObject" + }, + "inventory": { + "explode": true, + "style": "deepObject" + }, + "metadata": { + "explode": true, + "style": "deepObject" + }, + "package_dimensions": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "active": { + "description": "Whether the SKU is available for purchase. Default to `true`.", + "type": "boolean" + }, + "attributes": { + "additionalProperties": { + "maxLength": 500, + "type": "string" + }, + "description": "A dictionary of attributes and values for the attributes defined by the product. If, for example, a product's attributes are `[\"size\", \"gender\"]`, a valid SKU has the following dictionary of attributes: `{\"size\": \"Medium\", \"gender\": \"Unisex\"}`.", + "type": "object" + }, + "currency": { + "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).", + "type": "string" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "id": { + "description": "The identifier for the SKU. Must be unique. If not provided, an identifier will be randomly generated.", + "type": "string" + }, + "image": { + "description": "The URL of an image for this SKU, meant to be displayable to the customer.", + "maxLength": 5000, + "type": "string" + }, + "inventory": { + "description": "Description of the SKU's inventory.", + "properties": { + "quantity": { + "type": "integer" + }, + "type": { + "enum": [ + "bucket", + "finite", + "infinite" + ], + "maxLength": 5000, + "type": "string" + }, + "value": { + "enum": [ + "", + "in_stock", + "limited", + "out_of_stock" + ], + "maxLength": 5000, + "type": "string" + } + }, + "title": "inventory_specs", + "type": "object" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "A set of key/value pairs that you can attach to a SKU object. It can be useful for storing additional information about the SKU in a structured format.", + "type": "object" + }, + "package_dimensions": { + "description": "The dimensions of this SKU for shipping purposes.", + "properties": { + "height": { + "type": "number" + }, + "length": { + "type": "number" + }, + "weight": { + "type": "number" + }, + "width": { + "type": "number" + } + }, + "required": [ + "height", + "length", + "weight", + "width" + ], + "title": "package_dimensions_specs", + "type": "object" + }, + "price": { + "description": "The cost of the item as a nonnegative integer in the smallest currency unit (that is, 100 cents to charge $1.00, or 100 to charge ¥100, Japanese Yen being a zero-decimal currency).", + "type": "integer" + }, + "product": { + "description": "The ID of the product this SKU is associated with. Must be a product with type `good`.", + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "currency", + "inventory", + "price", + "product" + ], + "type": "object" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/sku" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/skus/{id}": { + "delete": { + "description": "\u003Cp\u003EDelete a SKU. Deleting a SKU is only possible until it has been used in an order.\u003C/p\u003E", + "operationId": "DeleteSKU", + "parameters": [ + { + "description": "The identifier of the SKU to be deleted.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/deleted_sku" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "get": { + "description": "\u003Cp\u003ERetrieves the details of an existing SKU. Supply the unique SKU identifier from either a SKU creation request or from the product, and Stripe will return the corresponding SKU information.\u003C/p\u003E", + "operationId": "RetrieveSKU", + "parameters": [ + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "The identifier of the SKU to be retrieved.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "anyOf": [ + { + "$ref": "#/components/schemas/sku" + }, + { + "$ref": "#/components/schemas/deleted_sku" + } + ] + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003EUpdates the specific SKU by setting the values of the parameters passed. Any parameters not provided will be left unchanged.\u003C/p\u003E\n\n\u003Cp\u003ENote that a SKU’s \u003Ccode\u003Eattributes\u003C/code\u003E are not editable. Instead, you would need to deactivate the existing SKU and create a new one with the new attribute values.\u003C/p\u003E", + "operationId": "UpdateSKU", + "parameters": [ + { + "in": "path", + "name": "id", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "attributes": { + "explode": true, + "style": "deepObject" + }, + "expand": { + "explode": true, + "style": "deepObject" + }, + "inventory": { + "explode": true, + "style": "deepObject" + }, + "metadata": { + "explode": true, + "style": "deepObject" + }, + "package_dimensions": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "active": { + "description": "Whether this SKU is available for purchase.", + "type": "boolean" + }, + "attributes": { + "additionalProperties": { + "maxLength": 500, + "type": "string" + }, + "description": "A dictionary of attributes and values for the attributes defined by the product. When specified, `attributes` will partially update the existing attributes dictionary on the product, with the postcondition that a value must be present for each attribute key on the product.", + "type": "object" + }, + "currency": { + "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).", + "type": "string" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "image": { + "description": "The URL of an image for this SKU, meant to be displayable to the customer.", + "maxLength": 5000, + "type": "string" + }, + "inventory": { + "description": "Description of the SKU's inventory.", + "properties": { + "quantity": { + "type": "integer" + }, + "type": { + "enum": [ + "bucket", + "finite", + "infinite" + ], + "maxLength": 5000, + "type": "string" + }, + "value": { + "enum": [ + "", + "in_stock", + "limited", + "out_of_stock" + ], + "maxLength": 5000, + "type": "string" + } + }, + "title": "inventory_update_specs", + "type": "object" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "A set of key/value pairs that you can attach to a SKU object. It can be useful for storing additional information about the SKU in a structured format.", + "type": "object" + }, + "package_dimensions": { + "description": "The dimensions of this SKU for shipping purposes.", + "properties": { + "height": { + "type": "number" + }, + "length": { + "type": "number" + }, + "weight": { + "type": "number" + }, + "width": { + "type": "number" + } + }, + "required": [ + "height", + "length", + "weight", + "width" + ], + "title": "package_dimensions_specs", + "type": "object" + }, + "price": { + "description": "The cost of the item as a positive integer in the smallest currency unit (that is, 100 cents to charge $1.00, or 100 to charge ¥100, Japanese Yen being a zero-decimal currency).", + "type": "integer" + }, + "product": { + "description": "The ID of the product that this SKU should belong to. The product must exist, have the same set of attribute names as the SKU's current product, and be of type `good`.", + "maxLength": 5000, + "type": "string" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/sku" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/sources": { + "post": { + "description": "\u003Cp\u003ECreates a new source object.\u003C/p\u003E", + "operationId": "CreateSource", + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + }, + "mandate": { + "explode": true, + "style": "deepObject" + }, + "metadata": { + "explode": true, + "style": "deepObject" + }, + "open_banking": { + "explode": true, + "style": "deepObject" + }, + "owner": { + "explode": true, + "style": "deepObject" + }, + "receiver": { + "explode": true, + "style": "deepObject" + }, + "redirect": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "amount": { + "description": "Amount associated with the source. This is the amount for which the source will be chargeable once ready. Required for `single_use` sources.", + "type": "integer" + }, + "currency": { + "description": "Three-letter [ISO code for the currency](https://stripe.com/docs/currencies) associated with the source. This is the currency for which the source will be chargeable once ready.", + "type": "string" + }, + "customer": { + "description": "The `Customer` to whom the original source is attached to. Must be set when the original source is not a `Source` (e.g., `Card`).", + "maxLength": 500, + "type": "string" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "flow": { + "description": "The authentication `flow` of the source to create. `flow` is one of `redirect`, `receiver`, `code_verification`, `none`. It is generally inferred unless a type supports multiple flows.", + "enum": [ + "code_verification", + "none", + "receiver", + "redirect" + ], + "maxLength": 5000, + "type": "string" + }, + "mandate": { + "description": "Information about a mandate possibility attached to a source object (generally for bank debits) as well as its acceptance status.", + "properties": { + "acceptance": { + "properties": { + "date": { + "format": "unix-time", + "type": "integer" + }, + "ip": { + "type": "string" + }, + "status": { + "enum": [ + "accepted", + "pending", + "refused", + "revoked" + ], + "maxLength": 5000, + "type": "string" + }, + "user_agent": { + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "date", + "ip", + "status", + "user_agent" + ], + "title": "mandate_acceptance_params", + "type": "object" + }, + "notification_method": { + "enum": [ + "email", + "manual", + "none" + ], + "maxLength": 5000, + "type": "string" + } + }, + "title": "mandate_params", + "type": "object" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "A set of key/value pairs that you can attach to a source object. It can be useful for storing additional information about the source in a structured format.", + "type": "object" + }, + "open_banking": { + "type": "object" + }, + "original_source": { + "description": "The source to share.", + "maxLength": 5000, + "type": "string" + }, + "owner": { + "description": "Information about the owner of the payment instrument that may be used or required by particular source types.", + "properties": { + "address": { + "properties": { + "city": { + "maxLength": 5000, + "type": "string" + }, + "country": { + "maxLength": 5000, + "type": "string" + }, + "line1": { + "maxLength": 5000, + "type": "string" + }, + "line2": { + "maxLength": 5000, + "type": "string" + }, + "postal_code": { + "maxLength": 5000, + "type": "string" + }, + "state": { + "maxLength": 5000, + "type": "string" + } + }, + "title": "source_address", + "type": "object" + }, + "email": { + "type": "string" + }, + "name": { + "maxLength": 5000, + "type": "string" + }, + "phone": { + "maxLength": 5000, + "type": "string" + } + }, + "title": "owner", + "type": "object" + }, + "receiver": { + "description": "Optional parameters for the receiver flow. Can be set only if the source is a receiver (`flow` is `receiver`).", + "properties": { + "refund_attributes_method": { + "enum": [ + "email", + "manual", + "none" + ], + "maxLength": 5000, + "type": "string" + } + }, + "title": "receiver_params", + "type": "object" + }, + "redirect": { + "description": "Parameters required for the redirect flow. Required if the source is authenticated by a redirect (`flow` is `redirect`).", + "properties": { + "return_url": { + "type": "string" + } + }, + "required": [ + "return_url" + ], + "title": "redirect_params", + "type": "object" + }, + "statement_descriptor": { + "description": "An arbitrary string to be displayed on your customer's statement. As an example, if your website is `RunClub` and the item you're charging for is a race ticket, you may want to specify a `statement_descriptor` of `RunClub 5K race ticket.` While many payment types will display this information, some may not display it at all.", + "maxLength": 5000, + "type": "string" + }, + "token": { + "description": "An optional token used to create the source. When passed, token properties will override source parameters.", + "maxLength": 5000, + "type": "string" + }, + "type": { + "description": "The `type` of the source to create. Required unless `customer` and `original_source` are specified (see the [Shared card Sources](/docs/sources/connect#shared-card-sources) guide)", + "maxLength": 5000, + "type": "string" + }, + "usage": { + "enum": [ + "reusable", + "single_use" + ], + "maxLength": 5000, + "type": "string" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/source" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/sources/{source}": { + "get": { + "description": "\u003Cp\u003ERetrieves an existing source object. Supply the unique source ID from a source creation request and Stripe will return the corresponding up-to-date source object information.\u003C/p\u003E", + "operationId": "ApmsSourcesSourceRetrieve", + "parameters": [ + { + "description": "The client secret of the source. Required if a publishable key is used to retrieve the source.", + "in": "query", + "name": "client_secret", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "The identifier of the source to be retrieved.", + "in": "path", + "name": "source", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/source" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003EUpdates the specified source by setting the values of the parameters passed. Any parameters not provided will be left unchanged.\u003C/p\u003E\n\n\u003Cp\u003EThis request accepts the \u003Ccode\u003Emetadata\u003C/code\u003E and \u003Ccode\u003Eowner\u003C/code\u003E as arguments. It is also possible to update type specific information for selected payment methods. Please refer to our \u003Ca href=\"/docs/sources\"\u003Epayment method guides\u003C/a\u003E for more detail.\u003C/p\u003E", + "operationId": "ApmsSourcesSourceUpdate", + "parameters": [ + { + "in": "path", + "name": "source", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + }, + "mandate": { + "explode": true, + "style": "deepObject" + }, + "metadata": { + "explode": true, + "style": "deepObject" + }, + "owner": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "mandate": { + "description": "Information about a mandate possibility attached to a source object (generally for bank debits) as well as its acceptance status.", + "properties": { + "acceptance": { + "properties": { + "date": { + "format": "unix-time", + "type": "integer" + }, + "ip": { + "type": "string" + }, + "status": { + "enum": [ + "accepted", + "pending", + "refused", + "revoked" + ], + "maxLength": 5000, + "type": "string" + }, + "user_agent": { + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "date", + "ip", + "status", + "user_agent" + ], + "title": "mandate_acceptance_params", + "type": "object" + }, + "notification_method": { + "enum": [ + "email", + "manual", + "none" + ], + "maxLength": 5000, + "type": "string" + } + }, + "title": "mandate_params", + "type": "object" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "A set of key/value pairs that you can attach to a source object. It can be useful for storing additional information about the source in a structured format.", + "type": "object" + }, + "owner": { + "description": "Information about the owner of the payment instrument that may be used or required by particular source types.", + "properties": { + "address": { + "properties": { + "city": { + "maxLength": 5000, + "type": "string" + }, + "country": { + "maxLength": 5000, + "type": "string" + }, + "line1": { + "maxLength": 5000, + "type": "string" + }, + "line2": { + "maxLength": 5000, + "type": "string" + }, + "postal_code": { + "maxLength": 5000, + "type": "string" + }, + "state": { + "maxLength": 5000, + "type": "string" + } + }, + "title": "source_address", + "type": "object" + }, + "email": { + "type": "string" + }, + "name": { + "maxLength": 5000, + "type": "string" + }, + "phone": { + "maxLength": 5000, + "type": "string" + } + }, + "title": "owner", + "type": "object" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/source" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/sources/{source}/mandate_notifications/{mandate_notification}": { + "get": { + "description": "\u003Cp\u003ERetrieves a new Source MandateNotification.\u003C/p\u003E", + "operationId": "ApmsSourcesSourceMandateNotificationRetrieve", + "parameters": [ + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "The ID of the Source MandateNotification.", + "in": "path", + "name": "mandate_notification", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + }, + { + "description": "The ID of the Source that received a ManateNotification.", + "in": "path", + "name": "source", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/source_mandate_notification" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/sources/{source}/source_transactions": { + "get": { + "description": "\u003Cp\u003EList source transactions for a given source.\u003C/p\u003E", + "operationId": "ApmsSourcesSourceTransactionAll", + "parameters": [ + { + "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.", + "in": "query", + "name": "ending_before", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.", + "in": "query", + "name": "limit", + "required": false, + "schema": { + "type": "integer" + }, + "style": "form" + }, + { + "description": "The ID of the source whose source transactions will be retrieved.", + "in": "path", + "name": "source", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + }, + { + "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.", + "in": "query", + "name": "starting_after", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/source_transaction" + }, + "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, + "type": "string" + } + }, + "required": [ + "data", + "has_more", + "object", + "url" + ], + "title": "ApmsSourcesSourceTransactionList", + "type": "object", + "x-expandableFields": [ + "data" + ] + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/sources/{source}/source_transactions/{source_transaction}": { + "get": { + "description": "\u003Cp\u003ERetrieve an existing source transaction object. Supply the unique source ID from a source creation request and the source transaction ID and Stripe will return the corresponding up-to-date source object information.\u003C/p\u003E", + "operationId": "ApmsSourcesSourceTransactionRetrieve", + "parameters": [ + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "The ID of the source whose source transaction will be retrieved.", + "in": "path", + "name": "source", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + }, + { + "description": "The ID of the source transaction that will be retrieved.", + "in": "path", + "name": "source_transaction", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/source_transaction" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/sources/{source}/verify": { + "post": { + "description": "\u003Cp\u003EVerify a given source.\u003C/p\u003E", + "operationId": "ApmsSourcesSourceVerify", + "parameters": [ + { + "description": "The ID of the desired source.", + "in": "path", + "name": "source", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + }, + "values": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "values": { + "description": "The values needed to verify the source.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "values" + ], + "type": "object" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/source" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/subscription_items": { + "get": { + "description": "\u003Cp\u003EReturns a list of your subscription items for a given subscription.\u003C/p\u003E", + "operationId": "AllSubscriptionItems", + "parameters": [ + { + "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.", + "in": "query", + "name": "ending_before", + "required": false, + "schema": { + "type": "string" + }, + "style": "form" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.", + "in": "query", + "name": "limit", + "required": false, + "schema": { + "type": "integer" + }, + "style": "form" + }, + { + "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.", + "in": "query", + "name": "starting_after", + "required": false, + "schema": { + "type": "string" + }, + "style": "form" + }, + { + "description": "The ID of the subscription whose items will be retrieved.", + "in": "query", + "name": "subscription", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/subscription_item" + }, + "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/subscription_items", + "type": "string" + } + }, + "required": [ + "data", + "has_more", + "object", + "url" + ], + "type": "object", + "x-expandableFields": [ + "data" + ] + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003EAdds a new item to an existing subscription. No existing items will be changed or replaced.\u003C/p\u003E", + "operationId": "CreateSubscriptionItem", + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + }, + "metadata": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.", + "type": "object" + }, + "plan": { + "description": "The identifier of the plan to add to the subscription.", + "maxLength": 5000, + "type": "string" + }, + "prorate": { + "description": "Flag indicating whether to [prorate](/docs/billing/subscriptions/prorations) switching plans during a billing cycle.", + "type": "boolean" + }, + "proration_date": { + "description": "If set, the proration will be calculated as though the subscription was updated at the given time. This can be used to apply the same proration that was previewed with the [upcoming invoice](#retrieve_customer_invoice) endpoint.", + "format": "unix-time", + "type": "integer" + }, + "quantity": { + "description": "The quantity you'd like to apply to the subscription item you're creating.", + "type": "integer" + }, + "subscription": { + "description": "The identifier of the subscription to modify.", + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "plan", + "subscription" + ], + "type": "object" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/subscription_item" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/subscription_items/{item}": { + "delete": { + "description": "\u003Cp\u003EDeletes an item from the subscription. Removing a subscription item from a subscription will not cancel the subscription.\u003C/p\u003E", + "operationId": "DeleteSubscriptionItem", + "parameters": [ + { + "description": "The identifier of the subscription item to delete.", + "in": "path", + "name": "item", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + "clear_usage": { + "description": "Delete all usage for the given subscription item. Allowed only when the current plan's `usage_type` is `metered`.", + "type": "boolean" + }, + "prorate": { + "description": "Flag indicating whether to [prorate](/docs/billing/subscriptions/prorations) switching plans during a billing cycle.", + "type": "boolean" + }, + "proration_date": { + "description": "If set, the proration will be calculated as though the subscription was updated at the given time. This can be used to apply the same proration that was previewed with the [upcoming invoice](#retrieve_customer_invoice) endpoint.", + "format": "unix-time", + "type": "integer" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/deleted_subscription_item" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "get": { + "description": "\u003Cp\u003ERetrieves the invoice item with the given ID.\u003C/p\u003E", + "operationId": "RetrieveSubscriptionItem", + "parameters": [ + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "The identifier of the subscription item to retrieve.", + "in": "path", + "name": "item", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/subscription_item" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003EUpdates the plan or quantity of an item on a current subscription.\u003C/p\u003E", + "operationId": "UpdateSubscriptionItem", + "parameters": [ + { + "description": "The identifier of the subscription item to modify.", + "in": "path", + "name": "item", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + }, + "metadata": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.", + "type": "object" + }, + "plan": { + "description": "The identifier of the new plan for this subscription item.", + "maxLength": 5000, + "type": "string" + }, + "prorate": { + "description": "Flag indicating whether to [prorate](/docs/billing/subscriptions/prorations) switching plans during a billing cycle.", + "type": "boolean" + }, + "proration_date": { + "description": "If set, the proration will be calculated as though the subscription was updated at the given time. This can be used to apply the same proration that was previewed with the [upcoming invoice](#retrieve_customer_invoice) endpoint.", + "format": "unix-time", + "type": "integer" + }, + "quantity": { + "description": "The quantity you'd like to apply to the subscription item you're creating.", + "type": "integer" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/subscription_item" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/subscription_items/{subscription_item}/usage_record_summaries": { + "get": { + "description": "\u003Cp\u003EFor the specified subscription item, returns a list of summary objects. Each object in the list provides usage information that’s been summarized from multiple usage records and over a subscription billing period (e.g., 15 usage records in the billing plan’s month of September).\u003C/p\u003E\n\n\u003Cp\u003EThe list is sorted in reverse-chronological order (newest first). The first list item represents the most current usage period that hasn’t ended yet. Since new usage records can still be added, the returned summary information for the subscription item’s ID should be seen as unstable until the subscription billing period ends.\u003C/p\u003E", + "operationId": "AllUsageRecordSummaries", + "parameters": [ + { + "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.", + "in": "query", + "name": "ending_before", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.", + "in": "query", + "name": "limit", + "required": false, + "schema": { + "type": "integer" + }, + "style": "form" + }, + { + "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.", + "in": "query", + "name": "starting_after", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "Only summary items for the given subscription item.", + "in": "path", + "name": "subscription_item", + "required": true, + "schema": { + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/usage_record_summary" + }, + "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, + "type": "string" + } + }, + "required": [ + "data", + "has_more", + "object", + "url" + ], + "type": "object", + "x-expandableFields": [ + "data" + ] + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/subscription_items/{subscription_item}/usage_records": { + "post": { + "description": "\u003Cp\u003ECreates a usage record for a specified subscription item and date, and fills it with a quantity.\u003C/p\u003E\n\n\u003Cp\u003EUsage records provide \u003Ccode\u003Equantity\u003C/code\u003E information that Stripe uses to track how much a customer is using your service. With usage information and the pricing model set up by the \u003Ca href=\"https://stripe.com/docs/billing/subscriptions/metered-billing\"\u003Emetered billing\u003C/a\u003E plan, Stripe helps you send accurate invoices to your customers.\u003C/p\u003E\n\n\u003Cp\u003EThe default calculation for usage is to add up all the \u003Ccode\u003Equantity\u003C/code\u003E values of the usage records within a billing period. You can change this default behavior with the billing plan’s \u003Ccode\u003Eaggregate_usage\u003C/code\u003E \u003Ca href=\"https://stripe.com/docs/api/plans/create#create_plan-aggregate_usage\"\u003Eparameter\u003C/a\u003E. When there is more than one usage record with the same timestamp, Stripe adds the \u003Ccode\u003Equantity\u003C/code\u003E values together. In most cases, this is the desired resolution, however, you can change this behavior with the \u003Ccode\u003Eaction\u003C/code\u003E parameter.\u003C/p\u003E\n\n\u003Cp\u003EThe default pricing model for metered billing is \u003Ca href=\"https://stripe.com/docs/api/plans/object#plan_object-billing_scheme\"\u003Eper-unit pricing\u003C/a\u003E. For finer granularity, you can configure metered billing to have a \u003Ca href=\"https://stripe.com/docs/billing/subscriptions/tiers\"\u003Etiered pricing\u003C/a\u003E model.\u003C/p\u003E", + "operationId": "CreateUsageRecord", + "parameters": [ + { + "description": "The ID of the subscription item for this usage record.", + "in": "path", + "name": "subscription_item", + "required": true, + "schema": { + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "action": { + "description": "Valid values are `increment` (default) or `set`. When using `increment` the specified `quantity` will be added to the usage at the specified timestamp. The `set` action will overwrite the usage quantity at that timestamp. If the subscription has [billing thresholds](/docs/api/subscriptions/object#subscription_object-billing_thresholds), `increment` is the only allowed value.", + "enum": [ + "increment", + "set" + ], + "maxLength": 5000, + "type": "string" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "quantity": { + "description": "The usage quantity for the specified timestamp.", + "type": "integer" + }, + "timestamp": { + "description": "The timestamp for the usage event. This timestamp must be within the current billing period of the subscription of the provided `subscription_item`.", + "type": "integer" + } + }, + "required": [ + "quantity", + "timestamp" + ], + "type": "object" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/usage_record" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/subscriptions": { + "get": { + "description": "\u003Cp\u003EBy default, returns a list of subscriptions that have not been canceled. In order to list canceled subscriptions, specify \u003Ccode\u003Estatus=canceled\u003C/code\u003E.\u003C/p\u003E", + "operationId": "AllSubscriptions", + "parameters": [ + { + "description": "The billing mode of the subscriptions to retrieve. Either `charge_automatically` or `send_invoice`.", + "in": "query", + "name": "billing", + "required": false, + "schema": { + "enum": [ + "charge_automatically", + "send_invoice" + ], + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "explode": true, + "in": "query", + "name": "created", + "required": false, + "schema": { + "anyOf": [ + { + "properties": { + "gt": { + "type": "integer" + }, + "gte": { + "type": "integer" + }, + "lt": { + "type": "integer" + }, + "lte": { + "type": "integer" + } + }, + "title": "range_query_specs", + "type": "object" + }, + { + "type": "integer" + } + ] + }, + "style": "deepObject" + }, + { + "description": "The ID of the customer whose subscriptions will be retrieved.", + "in": "query", + "name": "customer", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "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.", + "in": "query", + "name": "ending_before", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.", + "in": "query", + "name": "limit", + "required": false, + "schema": { + "type": "integer" + }, + "style": "form" + }, + { + "description": "The ID of the plan whose subscriptions will be retrieved.", + "in": "query", + "name": "plan", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "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.", + "in": "query", + "name": "starting_after", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "The status of the subscriptions to retrieve. One of: `trialing`, `active`, `past_due`, `unpaid`, `canceled`, or `all`. Passing in a value of `canceled` will return all canceled subscriptions, including those belonging to deleted customers. Passing in a value of `all` will return subscriptions of all statuses.", + "in": "query", + "name": "status", + "required": false, + "schema": { + "enum": [ + "active", + "all", + "canceled", + "past_due", + "trialing", + "unpaid" + ], + "maxLength": 5000, + "type": "string" + }, + "style": "form" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/subscription" + }, + "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/subscriptions", + "type": "string" + } + }, + "required": [ + "data", + "has_more", + "object", + "url" + ], + "type": "object", + "x-expandableFields": [ + "data" + ] + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003ECreates a new subscription on an existing customer.\u003C/p\u003E", + "operationId": "CreateSubscription", + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + }, + "items": { + "explode": true, + "style": "deepObject" + }, + "metadata": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "application_fee_percent": { + "description": "A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice subtotal that will be transferred to the application owner's Stripe account. The request must be made with an OAuth key in order to set an application fee percentage. For more information, see the application fees [documentation](https://stripe.com/docs/connect/subscriptions#collecting-fees-on-subscriptions).", + "type": "number" + }, + "billing": { + "description": "Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay this subscription at the end of the cycle using the default source attached to the customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions. Defaults to `charge_automatically`.", + "enum": [ + "charge_automatically", + "send_invoice" + ], + "maxLength": 5000, + "type": "string" + }, + "billing_cycle_anchor": { + "description": "A future timestamp to anchor the subscription's [billing cycle](/docs/subscriptions/billing-cycle). This is used to determine the date of the first full invoice, and, for plans with `month` or `year` intervals, the day of the month for subsequent invoices.", + "maxLength": 5000, + "type": "string" + }, + "cancel_at_period_end": { + "description": "Boolean indicating whether this subscription should cancel at the end of the current period.", + "type": "boolean" + }, + "coupon": { + "description": "The code of the coupon to apply to this subscription. A coupon applied to a subscription will only affect invoices created for that particular subscription.", + "maxLength": 5000, + "type": "string" + }, + "customer": { + "description": "The identifier of the customer to subscribe.", + "maxLength": 5000, + "type": "string" + }, + "days_until_due": { + "description": "Number of days a customer has to pay invoices generated by this subscription. Valid only for subscriptions where `billing` is set to `send_invoice`.", + "type": "integer" + }, + "default_source": { + "description": "ID of the default payment source for the subscription. It must belong to the customer associated with the subscription and be in a chargeable state. If not set, defaults to the customer's default source.", + "maxLength": 5000, + "type": "string" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "items": { + "description": "List of subscription items, each with an attached plan.", + "items": { + "properties": { + "metadata": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "plan": { + "maxLength": 5000, + "type": "string" + }, + "quantity": { + "type": "integer" + } + }, + "required": [ + "plan" + ], + "title": "subscription_item_create_params", + "type": "object" + }, + "type": "array" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "A set of key-value pairs that you can attach to a `Subscription` object. It can be useful for storing additional information about the subscription in a structured format.", + "type": "object" + }, + "prorate": { + "description": "Boolean (defaults to `true`) telling us whether to [credit for unused time](/docs/subscriptions/billing-cycle#prorations) when the billing cycle changes (e.g. when switching plans, resetting `billing_cycle_anchor=now`, or starting a trial), or if an item's `quantity` changes. If `false`, the anchor period will be free (similar to a trial) and no proration adjustments will be created.", + "type": "boolean" + }, + "tax_percent": { + "description": "A non-negative decimal (with at most four decimal places) between 0 and 100. This represents the percentage of the subscription invoice subtotal that will be calculated and added as tax to the final amount in each billing period. For example, a plan which charges $10/month with a `tax_percent` of `20.0` will charge $12 per invoice. To unset a previously-set value, pass an empty string.", + "nullable": true, + "type": "number" + }, + "trial_end": { + "description": "Unix timestamp representing the end of the trial period the customer will get before being charged for the first time. This will always overwrite any trials that might apply via a subscribed plan. If set, trial_end will override the default trial period of the plan the customer is being subscribed to. The special value `now` can be provided to end the customer's trial immediately.", + "maxLength": 5000, + "type": "string" + }, + "trial_from_plan": { + "description": "Indicates if a plan's `trial_period_days` should be applied to the subscription. Setting `trial_end` per subscription is preferred, and this defaults to `false`. Setting this flag to `true` together with `trial_end` is not allowed.", + "type": "boolean" + }, + "trial_period_days": { + "description": "Integer representing the number of trial period days before the customer is charged for the first time. This will always overwrite any trials that might apply via a subscribed plan.", + "type": "integer" + } + }, + "required": [ + "customer" + ], + "type": "object" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/subscription" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/subscriptions/{subscription_exposed_id}": { + "delete": { + "description": "\u003Cp\u003ECancels a customer’s subscription immediately. The customer will not be charged again for the subscription.\u003C/p\u003E\n\n\u003Cp\u003ENote, however, that any pending invoice items that you’ve created will still be charged for at the end of the period, unless manually \u003Ca href=\"#delete_invoiceitem\"\u003Edeleted\u003C/a\u003E. If you’ve set the subscription to cancel at the end of the period, any pending prorations will also be left in place and collected at the end of the period. But if the subscription is set to cancel immediately, pending prorations will be removed.\u003C/p\u003E\n\n\u003Cp\u003EBy default, upon subscription cancellation, Stripe will close all unpaid invoices for the customer. This is designed to prevent unexpected payment attempts after the customer has canceled a subscription. However, you can reopen the invoices manually after subscription cancellation to have us proceed with payment collection. Or, you could even re-attempt payment yourself on all unpaid invoices before allowing the customer to cancel the subscription at all.\u003C/p\u003E", + "operationId": "DeleteSubscription", + "parameters": [ + { + "in": "path", + "name": "subscription_exposed_id", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + "invoice_now": { + "description": "Will generate a final invoice that invoices for any un-invoiced metered usage and new/pending proration invoice items.", + "type": "boolean" + }, + "prorate": { + "description": "Will generate a proration invoice item that credits remaining unused time until the subscription period end.", + "type": "boolean" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/subscription" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "get": { + "description": "\u003Cp\u003ERetrieves the subscription with the given ID.\u003C/p\u003E", + "operationId": "RetrieveSubscription", + "parameters": [ + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "in": "path", + "name": "subscription_exposed_id", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/subscription" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003EUpdates an existing subscription on a customer to match the specified parameters. When changing plans or quantities, we will optionally prorate the price we charge next month to make up for any price changes. To preview how the proration will be calculated, use the \u003Ca href=\"#upcoming_invoice\"\u003Eupcoming invoice\u003C/a\u003E endpoint.\u003C/p\u003E", + "operationId": "UpdateSubscription", + "parameters": [ + { + "description": "The identifier of the subscription to update.", + "in": "path", + "name": "subscription_exposed_id", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + }, + "items": { + "explode": true, + "style": "deepObject" + }, + "metadata": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "application_fee_percent": { + "description": "A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice subtotal that will be transferred to the application owner's Stripe account. The request must be made with an OAuth key in order to set an application fee percentage. For more information, see the application fees [documentation](https://stripe.com/docs/connect/subscriptions#collecting-fees-on-subscriptions).", + "type": "number" + }, + "billing": { + "description": "Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay this subscription at the end of the cycle using the default source attached to the customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions. Defaults to `charge_automatically`.", + "enum": [ + "charge_automatically", + "send_invoice" + ], + "maxLength": 5000, + "type": "string" + }, + "billing_cycle_anchor": { + "description": "Either `now` or `unchanged`. Setting the value to `now` resets the subscription's billing cycle anchor to the current time. For more information, see the billing cycle [documentation](/docs/billing/subscriptions/billing-cycle).", + "maxLength": 5000, + "type": "string" + }, + "cancel_at_period_end": { + "description": "Boolean indicating whether this subscription should cancel at the end of the current period.", + "type": "boolean" + }, + "coupon": { + "description": "The code of the coupon to apply to this subscription. A coupon applied to a subscription will only affect invoices created for that particular subscription.", + "maxLength": 5000, + "type": "string" + }, + "days_until_due": { + "description": "Number of days a customer has to pay invoices generated by this subscription. Valid only for subscriptions where `billing` is set to `send_invoice`.", + "type": "integer" + }, + "default_source": { + "description": "ID of the default payment source for the subscription. It must belong to the customer associated with the subscription and be in a chargeable state. If not set, defaults to the customer's default source.", + "maxLength": 5000, + "type": "string" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "items": { + "description": "List of subscription items, each with an attached plan.", + "items": { + "properties": { + "clear_usage": { + "type": "boolean" + }, + "deleted": { + "type": "boolean" + }, + "id": { + "maxLength": 5000, + "type": "string" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "plan": { + "maxLength": 5000, + "type": "string" + }, + "quantity": { + "type": "integer" + } + }, + "title": "subscription_item_update_params", + "type": "object" + }, + "type": "array" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "A set of key-value pairs that you can attach to a subscription object. This can be useful for storing additional information about the subscription in a structured format.", + "type": "object" + }, + "prorate": { + "description": "Boolean (defaults to `true`) telling us whether to [credit for unused time](/docs/subscriptions/billing-cycle#prorations) when the billing cycle changes (e.g. when switching plans, resetting `billing_cycle_anchor=now`, or starting a trial), or if an item's `quantity` changes. If `false`, the anchor period will be free (similar to a trial) and no proration adjustments will be created.", + "type": "boolean" + }, + "proration_date": { + "description": "If set, the proration will be calculated as though the subscription was updated at the given time. This can be used to apply exactly the same proration that was previewed with [upcoming invoice](#retrieve_customer_invoice) endpoint. It can also be used to implement custom proration logic, such as prorating by day instead of by second, by providing the time that you wish to use for proration calculations.", + "format": "unix-time", + "type": "integer" + }, + "tax_percent": { + "description": "A non-negative decimal (with at most four decimal places) between 0 and 100. This represents the percentage of the subscription invoice subtotal that will be calculated and added as tax to the final amount in each billing period. For example, a plan which charges $10/month with a `tax_percent` of `20.0` will charge $12 per invoice. To unset a previously-set value, pass an empty string.", + "nullable": true, + "type": "number" + }, + "trial_end": { + "description": "Unix timestamp representing the end of the trial period the customer will get before being charged for the first time. This will always overwrite any trials that might apply via a subscribed plan. If set, trial_end will override the default trial period of the plan the customer is being subscribed to. The special value `now` can be provided to end the customer's trial immediately.", + "maxLength": 5000, + "type": "string" + }, + "trial_from_plan": { + "description": "Indicates if a plan's `trial_period_days` should be applied to the subscription. Setting `trial_end` per subscription is preferred, and this defaults to `false`. Setting this flag to `true` together with `trial_end` is not allowed.", + "type": "boolean" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/subscription" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/subscriptions/{subscription_exposed_id}/discount": { + "delete": { + "description": "\u003Cp\u003ERemoves the currently applied discount on a subscription.\u003C/p\u003E", + "operationId": "DeleteSubscriptionDiscount", + "parameters": [ + { + "in": "path", + "name": "subscription_exposed_id", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/deleted_discount" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/tax_rate_templates": { + "get": { + "description": "\u003Cp\u003EReturns a list of your tax rate templates. Tax rate templates are returned sorted by creation date, with the most recently created tax rate templates appearing first.\u003C/p\u003E", + "operationId": "AllTaxRateTemplates", + "parameters": [ + { + "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.", + "in": "query", + "name": "ending_before", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.", + "in": "query", + "name": "limit", + "required": false, + "schema": { + "type": "integer" + }, + "style": "form" + }, + { + "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.", + "in": "query", + "name": "starting_after", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/tax_rate_template" + }, + "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/tax_rate_templates", + "type": "string" + } + }, + "required": [ + "data", + "has_more", + "object", + "url" + ], + "type": "object", + "x-expandableFields": [ + "data" + ] + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003ECreates a new tax rate template.\u003C/p\u003E", + "operationId": "CreateTaxRateTemplate", + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "description": { + "description": "The customer-facing description of this tax rate template.", + "maxLength": 500, + "type": "string" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "from": { + "description": "When this tax rate template starts taking effect.", + "format": "unix-time", + "type": "integer" + }, + "inclusive": { + "description": "If this tax rate template is inclusive or not.", + "type": "boolean" + }, + "name": { + "description": "The name of this tax rate template.", + "maxLength": 500, + "type": "string" + }, + "percentage": { + "description": "A non-negative decimal (with at most four decimal places) between 0 and 100. This is percentage of this tax rate template.", + "type": "number" + }, + "to": { + "description": "When this tax rate template stops taking effect.", + "format": "unix-time", + "type": "integer" + } + }, + "required": [ + "inclusive", + "name", + "percentage" + ], + "type": "object" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/tax_rate_template" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/tax_rate_templates/{tax_rate_template}": { + "delete": { + "description": "\u003Cp\u003ERemoves a tax rate template from the dashboard.\u003C/p\u003E", + "operationId": "DeleteTaxRateTemplate", + "parameters": [ + { + "description": "The identifier of the tax rate template to be deleted.", + "in": "path", + "name": "tax_rate_template", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/deleted_tax_rate_template" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "get": { + "description": "\u003Cp\u003ERetrieves the tax rate template with the given ID.\u003C/p\u003E", + "operationId": "RetrieveTaxRateTemplate", + "parameters": [ + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "The ID of the desired tax rate template.", + "in": "path", + "name": "tax_rate_template", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/tax_rate_template" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003EUpdates a new tax rate template.\u003C/p\u003E", + "operationId": "UpdateTaxRateTemplate", + "parameters": [ + { + "in": "path", + "name": "tax_rate_template", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "description": { + "description": "The customer-facing description of this tax rate template.", + "maxLength": 500, + "type": "string" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "from": { + "description": "When this tax rate template starts taking effect.", + "format": "unix-time", + "type": "integer" + }, + "inclusive": { + "description": "If this tax rate template is inclusive or not.", + "type": "boolean" + }, + "name": { + "description": "The name of this tax rate template.", + "maxLength": 500, + "type": "string" + }, + "percentage": { + "description": "A non-negative decimal (with at most four decimal places) between 0 and 100. This is percentage of this tax rate template.", + "type": "number" + }, + "to": { + "description": "When this tax rate template stops taking effect.", + "format": "unix-time", + "type": "integer" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/tax_rate_template" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/terminal/connection_tokens": { + "post": { + "description": "\u003Cp\u003ETo connect to a reader the Stripe Terminal SDK needs to retrieve a short-lived connection token from Stripe, proxied through your server. On your backend, add an endpoint that creates and returns a connection token.\u003C/p\u003E", + "operationId": "PointOfSaleConnectionTokenCreate", + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/terminal.connection_token" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/terminal/locations": { + "get": { + "description": "\u003Cp\u003EReturns a list of \u003Ccode\u003ELocation\u003C/code\u003E objects.\u003C/p\u003E", + "operationId": "PointOfSaleLocationAll", + "parameters": [ + { + "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.", + "in": "query", + "name": "ending_before", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.", + "in": "query", + "name": "limit", + "required": false, + "schema": { + "type": "integer" + }, + "style": "form" + }, + { + "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.", + "in": "query", + "name": "starting_after", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/terminal.location" + }, + "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/terminal/locations", + "type": "string" + } + }, + "required": [ + "data", + "has_more", + "object", + "url" + ], + "title": "PointOfSaleLocationLocationList", + "type": "object", + "x-expandableFields": [ + "data" + ] + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003ECreates a new \u003Ccode\u003ELocation\u003C/code\u003E object.\u003C/p\u003E", + "operationId": "PointOfSaleLocationCreate", + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "address": { + "explode": true, + "style": "deepObject" + }, + "expand": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "address": { + "description": "The full address of the location.", + "properties": { + "city": { + "maxLength": 5000, + "type": "string" + }, + "country": { + "maxLength": 5000, + "type": "string" + }, + "line1": { + "maxLength": 5000, + "type": "string" + }, + "line2": { + "maxLength": 5000, + "type": "string" + }, + "postal_code": { + "maxLength": 5000, + "type": "string" + }, + "state": { + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "city", + "country", + "line1", + "postal_code" + ], + "title": "required_address", + "type": "object" + }, + "display_name": { + "description": "A name for the location.", + "maxLength": 5000, + "type": "string" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "address", + "display_name" + ], + "type": "object" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/terminal.location" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/terminal/locations/{location}": { + "get": { + "description": "\u003Cp\u003ERetrieves a \u003Ccode\u003ELocation\u003C/code\u003E object.\u003C/p\u003E", + "operationId": "PointOfSaleLocationRetrieve", + "parameters": [ + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "The identifier of the location to be retrieved.", + "in": "path", + "name": "location", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/terminal.location" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003EUpdates a \u003Ccode\u003ELocation\u003C/code\u003E object by setting the values of the parameters passed. Any parameters not provided will be left unchanged.\u003C/p\u003E", + "operationId": "PointOfSaleLocationUpdate", + "parameters": [ + { + "description": "The identifier of the location to be updated.", + "in": "path", + "name": "location", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "address": { + "explode": true, + "style": "deepObject" + }, + "expand": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "address": { + "description": "The full address of the location.", + "properties": { + "city": { + "maxLength": 5000, + "type": "string" + }, + "country": { + "maxLength": 5000, + "type": "string" + }, + "line1": { + "maxLength": 5000, + "type": "string" + }, + "line2": { + "maxLength": 5000, + "type": "string" + }, + "postal_code": { + "maxLength": 5000, + "type": "string" + }, + "state": { + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "city", + "country", + "line1", + "postal_code" + ], + "title": "required_address", + "type": "object" + }, + "display_name": { + "description": "A name for the location.", + "maxLength": 5000, + "type": "string" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/terminal.location" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/terminal/readers": { + "get": { + "description": "\u003Cp\u003EReturns a list of \u003Ccode\u003EReader\u003C/code\u003E objects.\u003C/p\u003E", + "operationId": "PointOfSaleReaderAll", + "parameters": [ + { + "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.", + "in": "query", + "name": "ending_before", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.", + "in": "query", + "name": "limit", + "required": false, + "schema": { + "type": "integer" + }, + "style": "form" + }, + { + "description": "A location id to filter the response list to only readers at the specific location", + "in": "query", + "name": "location", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "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.", + "in": "query", + "name": "starting_after", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "A status filter to filter readers to only offline or online readers", + "in": "query", + "name": "status", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "description": "A list of readers", + "items": { + "$ref": "#/components/schemas/terminal.reader" + }, + "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, + "type": "string" + } + }, + "required": [ + "data", + "has_more", + "object", + "url" + ], + "title": "PointOfSaleReaderRetrieveReader", + "type": "object", + "x-expandableFields": [ + "data" + ] + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003ECreates a new \u003Ccode\u003EReader\u003C/code\u003E object.\u003C/p\u003E", + "operationId": "PointOfSaleReaderCreate", + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "label": { + "description": "Custom label given to the reader for easier identification. If no label is specified, the registration code will be used.", + "maxLength": 5000, + "type": "string" + }, + "location": { + "description": "The location to assign the reader to. If no location is specified, the reader will be assigned to the account's default location.", + "maxLength": 5000, + "type": "string" + }, + "registration_code": { + "description": "A code generated by the reader used for registering to an account.", + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "registration_code" + ], + "type": "object" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/terminal.reader" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/terminal/readers/{reader}": { + "get": { + "description": "\u003Cp\u003ERetrieves a \u003Ccode\u003EReader\u003C/code\u003E object.\u003C/p\u003E", + "operationId": "PointOfSaleReaderRetrieve", + "parameters": [ + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "The identifier of the reader to be retrieved.", + "in": "path", + "name": "reader", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/terminal.reader" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003EUpdates a \u003Ccode\u003EReader\u003C/code\u003E object by setting the values of the parameters passed. Any parameters not provided will be left unchanged.\u003C/p\u003E", + "operationId": "PointOfSaleReaderUpdate", + "parameters": [ + { + "description": "The identifier of the reader to be updated.", + "in": "path", + "name": "reader", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "label": { + "description": "The new label of the reader.", + "maxLength": 5000, + "type": "string" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/terminal.reader" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/tokens": { + "post": { + "description": "\u003Cp\u003ECreates a single-use token that represents a bank account’s details.\nThis token can be used in place of a bank account dictionary with any API method.\nThese tokens can be used only once: by attaching them to a \u003Ca href=\"#create_recipient\"\u003Erecipient\u003C/a\u003E or \u003Ca href=\"#account\"\u003ECustom account\u003C/a\u003E.\u003C/p\u003E", + "operationId": "CreateToken", + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "account": { + "explode": true, + "style": "deepObject" + }, + "bank_account": { + "explode": true, + "style": "deepObject" + }, + "card": { + "explode": true, + "style": "deepObject" + }, + "expand": { + "explode": true, + "style": "deepObject" + }, + "pii": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "account": { + "description": "The account information to be stored in this token.", + "properties": { + "legal_entity": { + "properties": { + "additional_owners": { + "anyOf": [ + { + "additionalProperties": { + "properties": { + "address": { + "properties": { + "city": { + "maxLength": 100, + "type": "string" + }, + "country": { + "maxLength": 5000, + "type": "string" + }, + "line1": { + "maxLength": 200, + "type": "string" + }, + "line2": { + "maxLength": 200, + "type": "string" + }, + "postal_code": { + "maxLength": 5000, + "type": "string" + }, + "state": { + "maxLength": 5000, + "type": "string" + } + }, + "title": "address_specs", + "type": "object" + }, + "dob": { + "properties": { + "day": { + "type": "integer" + }, + "month": { + "type": "integer" + }, + "year": { + "type": "integer" + } + }, + "required": [ + "day", + "month", + "year" + ], + "title": "date_of_birth_specs", + "type": "object" + }, + "email": { + "type": "string" + }, + "first_name": { + "maxLength": 5000, + "type": "string" + }, + "last_name": { + "maxLength": 5000, + "type": "string" + }, + "maiden_name": { + "maxLength": 5000, + "type": "string" + }, + "personal_id_number": { + "maxLength": 5000, + "type": "string" + }, + "phone": { + "type": "string" + }, + "ssn_last_4": { + "maxLength": 5000, + "type": "string" + }, + "verification": { + "properties": { + "document": { + "maxLength": 500, + "type": "string" + }, + "status": { + "enum": [ + "", + "pending", + "unverified", + "verified" + ], + "maxLength": 5000, + "type": "string" + } + }, + "title": "account_person_verification_specs", + "type": "object" + } + }, + "title": "account_owner_specs", + "type": "object" + }, + "type": "object" + }, + { + "items": { + "properties": { + "address": { + "properties": { + "city": { + "maxLength": 100, + "type": "string" + }, + "country": { + "maxLength": 5000, + "type": "string" + }, + "line1": { + "maxLength": 200, + "type": "string" + }, + "line2": { + "maxLength": 200, + "type": "string" + }, + "postal_code": { + "maxLength": 5000, + "type": "string" + }, + "state": { + "maxLength": 5000, + "type": "string" + } + }, + "title": "address_specs", + "type": "object" + }, + "dob": { + "properties": { + "day": { + "type": "integer" + }, + "month": { + "type": "integer" + }, + "year": { + "type": "integer" + } + }, + "required": [ + "day", + "month", + "year" + ], + "title": "date_of_birth_specs", + "type": "object" + }, + "email": { + "type": "string" + }, + "first_name": { + "maxLength": 5000, + "type": "string" + }, + "last_name": { + "maxLength": 5000, + "type": "string" + }, + "maiden_name": { + "maxLength": 5000, + "type": "string" + }, + "personal_id_number": { + "maxLength": 5000, + "type": "string" + }, + "phone": { + "type": "string" + }, + "ssn_last_4": { + "maxLength": 5000, + "type": "string" + }, + "verification": { + "properties": { + "document": { + "maxLength": 500, + "type": "string" + }, + "status": { + "enum": [ + "", + "pending", + "unverified", + "verified" + ], + "maxLength": 5000, + "type": "string" + } + }, + "title": "account_person_verification_specs", + "type": "object" + } + }, + "title": "account_owner_specs", + "type": "object" + }, + "type": "array" + } + ] + }, + "address": { + "properties": { + "city": { + "maxLength": 100, + "type": "string" + }, + "country": { + "maxLength": 5000, + "type": "string" + }, + "line1": { + "maxLength": 200, + "type": "string" + }, + "line2": { + "maxLength": 200, + "type": "string" + }, + "postal_code": { + "maxLength": 5000, + "type": "string" + }, + "state": { + "maxLength": 5000, + "type": "string" + } + }, + "title": "address_specs", + "type": "object" + }, + "address_kana": { + "properties": { + "city": { + "maxLength": 5000, + "type": "string" + }, + "country": { + "maxLength": 5000, + "type": "string" + }, + "line1": { + "maxLength": 5000, + "type": "string" + }, + "line2": { + "maxLength": 5000, + "type": "string" + }, + "postal_code": { + "maxLength": 5000, + "type": "string" + }, + "state": { + "maxLength": 5000, + "type": "string" + }, + "town": { + "maxLength": 5000, + "type": "string" + } + }, + "title": "japan_address_kana_specs", + "type": "object" + }, + "address_kanji": { + "properties": { + "city": { + "maxLength": 5000, + "type": "string" + }, + "country": { + "maxLength": 5000, + "type": "string" + }, + "line1": { + "maxLength": 5000, + "type": "string" + }, + "line2": { + "maxLength": 5000, + "type": "string" + }, + "postal_code": { + "maxLength": 5000, + "type": "string" + }, + "state": { + "maxLength": 5000, + "type": "string" + }, + "town": { + "maxLength": 5000, + "type": "string" + } + }, + "title": "japan_address_kanji_specs", + "type": "object" + }, + "business_name": { + "maxLength": 100, + "type": "string" + }, + "business_name_kana": { + "maxLength": 100, + "type": "string" + }, + "business_name_kanji": { + "maxLength": 100, + "type": "string" + }, + "business_tax_id": { + "maxLength": 5000, + "type": "string" + }, + "business_vat_id": { + "maxLength": 5000, + "type": "string" + }, + "dob": { + "properties": { + "day": { + "type": "integer" + }, + "month": { + "type": "integer" + }, + "year": { + "type": "integer" + } + }, + "required": [ + "day", + "month", + "year" + ], + "title": "date_of_birth_specs", + "type": "object" + }, + "first_name": { + "maxLength": 100, + "type": "string" + }, + "first_name_kana": { + "maxLength": 5000, + "type": "string" + }, + "first_name_kanji": { + "maxLength": 5000, + "type": "string" + }, + "gender": { + "maxLength": 5000, + "type": "string" + }, + "last_name": { + "maxLength": 100, + "type": "string" + }, + "last_name_kana": { + "maxLength": 5000, + "type": "string" + }, + "last_name_kanji": { + "maxLength": 5000, + "type": "string" + }, + "maiden_name": { + "maxLength": 5000, + "type": "string" + }, + "personal_address": { + "properties": { + "city": { + "maxLength": 100, + "type": "string" + }, + "country": { + "maxLength": 5000, + "type": "string" + }, + "line1": { + "maxLength": 200, + "type": "string" + }, + "line2": { + "maxLength": 200, + "type": "string" + }, + "postal_code": { + "maxLength": 5000, + "type": "string" + }, + "state": { + "maxLength": 5000, + "type": "string" + } + }, + "title": "address_specs", + "type": "object" + }, + "personal_address_kana": { + "properties": { + "city": { + "maxLength": 5000, + "type": "string" + }, + "country": { + "maxLength": 5000, + "type": "string" + }, + "line1": { + "maxLength": 5000, + "type": "string" + }, + "line2": { + "maxLength": 5000, + "type": "string" + }, + "postal_code": { + "maxLength": 5000, + "type": "string" + }, + "state": { + "maxLength": 5000, + "type": "string" + }, + "town": { + "maxLength": 5000, + "type": "string" + } + }, + "title": "japan_address_kana_specs", + "type": "object" + }, + "personal_address_kanji": { + "properties": { + "city": { + "maxLength": 5000, + "type": "string" + }, + "country": { + "maxLength": 5000, + "type": "string" + }, + "line1": { + "maxLength": 5000, + "type": "string" + }, + "line2": { + "maxLength": 5000, + "type": "string" + }, + "postal_code": { + "maxLength": 5000, + "type": "string" + }, + "state": { + "maxLength": 5000, + "type": "string" + }, + "town": { + "maxLength": 5000, + "type": "string" + } + }, + "title": "japan_address_kanji_specs", + "type": "object" + }, + "personal_id_number": { + "maxLength": 5000, + "type": "string" + }, + "phone_number": { + "maxLength": 5000, + "type": "string" + }, + "ssn_last_4": { + "maxLength": 5000, + "type": "string" + }, + "tax_id_registrar": { + "maxLength": 5000, + "type": "string" + }, + "type": { + "maxLength": 5000, + "type": "string" + }, + "verification": { + "properties": { + "document": { + "maxLength": 500, + "type": "string" + }, + "status": { + "enum": [ + "", + "pending", + "unverified", + "verified" + ], + "maxLength": 5000, + "type": "string" + } + }, + "title": "account_person_verification_specs", + "type": "object" + } + }, + "title": "account_legal_entity_specs", + "type": "object" + }, + "tos_shown_and_accepted": { + "type": "boolean" + } + }, + "required": [ + "legal_entity" + ], + "title": "connect_js_account_token_specs", + "type": "object" + }, + "amount": { + "type": "integer" + }, + "bank_account": { + "anyOf": [ + { + "type": "object" + }, + { + "maxLength": 5000, + "type": "string" + } + ], + "description": "The bank account this token will represent." + }, + "card": { + "anyOf": [ + { + "properties": { + "address_city": { + "maxLength": 5000, + "type": "string" + }, + "address_country": { + "maxLength": 5000, + "type": "string" + }, + "address_line1": { + "maxLength": 5000, + "type": "string" + }, + "address_line2": { + "maxLength": 5000, + "type": "string" + }, + "address_state": { + "maxLength": 5000, + "type": "string" + }, + "address_zip": { + "maxLength": 5000, + "type": "string" + }, + "name": { + "maxLength": 5000, + "type": "string" + }, + "object": { + "enum": [ + "card" + ], + "maxLength": 5000, + "type": "string" + }, + "pk_token": { + "maxLength": 5000, + "type": "string" + }, + "token_cryptogram": { + "maxLength": 5000, + "type": "string" + }, + "token_cryptogram_amount": { + "type": "integer" + }, + "token_cryptogram_currency": { + "maxLength": 5000, + "type": "string" + }, + "token_cryptogram_requestor": { + "maxLength": 5000, + "type": "string" + }, + "token_cryptogram_used": { + "type": "boolean" + } + }, + "title": "apple_pay_specs", + "type": "object" + }, + { + "properties": { + "encrypted": { + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "encrypted" + ], + "title": "encrypted_card_specs", + "type": "object" + }, + { + "properties": { + "cvc": { + "maxLength": 5000, + "type": "string" + }, + "swipe_data": { + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "swipe_data" + ], + "title": "swipe_data_specs", + "type": "object" + }, + { + "properties": { + "3d_secure": { + "properties": { + "amount": { + "type": "integer" + }, + "currency": { + "type": "string" + }, + "preference": { + "enum": [ + "always", + "only_if_required" + ], + "maxLength": 5000, + "type": "string" + }, + "return_url": { + "type": "string" + } + }, + "required": [ + "amount", + "currency", + "return_url" + ], + "title": "three_d_secure_specs", + "type": "object" + }, + "address_city": { + "maxLength": 5000, + "type": "string" + }, + "address_country": { + "maxLength": 5000, + "type": "string" + }, + "address_line1": { + "maxLength": 5000, + "type": "string" + }, + "address_line2": { + "maxLength": 5000, + "type": "string" + }, + "address_state": { + "maxLength": 5000, + "type": "string" + }, + "address_zip": { + "maxLength": 5000, + "type": "string" + }, + "card_type": { + "maxLength": 5000, + "type": "string" + }, + "currency": { + "maxLength": 5000, + "type": "string" + }, + "customer": { + "maxLength": 5000, + "type": "string" + }, + "default_for_currency": { + "type": "boolean" + }, + "exp_month": { + "maxLength": 5000, + "type": "string" + }, + "exp_year": { + "maxLength": 5000, + "type": "string" + }, + "last4": { + "maxLength": 5000, + "type": "string" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "name": { + "maxLength": 5000, + "type": "string" + }, + "number": { + "maxLength": 5000, + "type": "string" + }, + "number_looks_valid": { + "type": "boolean" + }, + "number_luhn_valid": { + "type": "boolean" + }, + "object": { + "enum": [ + "card" + ], + "maxLength": 5000, + "type": "string" + }, + "tokenization_method": { + "maxLength": 5000, + "type": "string" + } + }, + "required": [ + "exp_month", + "exp_year", + "number" + ], + "title": "credit_card_specs", + "type": "object" + }, + { + "maxLength": 5000, + "type": "string" + } + ] + }, + "currency": { + "type": "string" + }, + "customer": { + "description": "The customer (owned by the application's account) for which to create a token. For use only with [Stripe Connect](/docs/connect). Also, this can be used only with an [OAuth access token](/docs/connect/standard-accounts) or [Stripe-Account header](/docs/connect/authentication). For more details, see [Shared Customers](/docs/connect/shared-customers).", + "maxLength": 5000, + "type": "string" + }, + "email": { + "maxLength": 5000, + "type": "string" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "external_id": { + "maxLength": 5000, + "type": "string" + }, + "iovation_blackbox": { + "maxLength": 5000, + "type": "string" + }, + "ip": { + "maxLength": 5000, + "type": "string" + }, + "payment_user_agent": { + "maxLength": 5000, + "type": "string" + }, + "pii": { + "properties": { + "personal_id_number": { + "maxLength": 5000, + "type": "string" + }, + "ssn_last_4": { + "type": "string" + }, + "tax_id": { + "maxLength": 5000, + "type": "string" + } + }, + "title": "pii_token_specs", + "type": "object" + }, + "recipient": { + "maxLength": 5000, + "type": "string" + }, + "referrer": { + "maxLength": 40000, + "type": "string" + }, + "request_id": { + "maxLength": 5000, + "type": "string" + }, + "user_agent": { + "maxLength": 5000, + "type": "string" + }, + "validation_type": { + "enum": [ + "amount", + "card", + "none" + ], + "maxLength": 5000, + "type": "string" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/token" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/tokens/{token}": { + "get": { + "description": "\u003Cp\u003ERetrieves the token with the given ID.\u003C/p\u003E", + "operationId": "RetrieveToken", + "parameters": [ + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "The ID of the desired token.", + "in": "path", + "name": "token", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/token" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/topups": { + "get": { + "description": "\u003Cp\u003EReturns a list of top-ups.\u003C/p\u003E", + "operationId": "TopupAll", + "parameters": [ + { + "description": "A positive integer representing how much to transfer.", + "explode": true, + "in": "query", + "name": "amount", + "required": false, + "schema": { + "anyOf": [ + { + "properties": { + "gt": { + "type": "integer" + }, + "gte": { + "type": "integer" + }, + "lt": { + "type": "integer" + }, + "lte": { + "type": "integer" + } + }, + "title": "range_query_specs", + "type": "object" + }, + { + "type": "integer" + } + ] + }, + "style": "deepObject" + }, + { + "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.", + "explode": true, + "in": "query", + "name": "created", + "required": false, + "schema": { + "anyOf": [ + { + "properties": { + "gt": { + "type": "integer" + }, + "gte": { + "type": "integer" + }, + "lt": { + "type": "integer" + }, + "lte": { + "type": "integer" + } + }, + "title": "range_query_specs", + "type": "object" + }, + { + "type": "integer" + } + ] + }, + "style": "deepObject" + }, + { + "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.", + "in": "query", + "name": "ending_before", + "required": false, + "schema": { + "type": "string" + }, + "style": "form" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.", + "in": "query", + "name": "limit", + "required": false, + "schema": { + "type": "integer" + }, + "style": "form" + }, + { + "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.", + "in": "query", + "name": "starting_after", + "required": false, + "schema": { + "type": "string" + }, + "style": "form" + }, + { + "description": "Only return top-ups that have the given status. One of `canceled`, `failed`, `pending` or `succeeded`.", + "in": "query", + "name": "status", + "required": false, + "schema": { + "enum": [ + "canceled", + "failed", + "pending", + "succeeded" + ], + "maxLength": 5000, + "type": "string" + }, + "style": "form" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/topup" + }, + "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/topups", + "type": "string" + } + }, + "required": [ + "data", + "has_more", + "object", + "url" + ], + "title": "TopupList", + "type": "object", + "x-expandableFields": [ + "data" + ] + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003ETop up the balance of an account\u003C/p\u003E", + "operationId": "TopupCreate", + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + }, + "metadata": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "amount": { + "description": "A positive integer representing how much to transfer.", + "type": "integer" + }, + "currency": { + "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).", + "type": "string" + }, + "description": { + "description": "An arbitrary string attached to the object. Often useful for displaying to users.", + "maxLength": 5000, + "type": "string" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.", + "type": "object" + }, + "source": { + "description": "The ID of a source to transfer funds from. For most users, this should be left unspecified which will use the bank account that was set up in the dashboard for the specified currency. In test mode, this can be a test bank token (see [Testing Top-ups](/docs/connect/testing#testing-top-ups)).", + "maxLength": 5000, + "type": "string" + }, + "statement_descriptor": { + "description": "Extra information about a top-up for the source's bank statement. Limited to 15 ASCII characters.", + "maxLength": 15, + "type": "string" + }, + "transfer_group": { + "description": "A string that identifies this top-up as part of a group.", + "type": "string" + } + }, + "required": [ + "amount", + "currency" + ], + "type": "object" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/topup" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/topups/{topup}": { + "get": { + "description": "\u003Cp\u003ERetrieves the details of a top-up that has previously been created. Supply the unique top-up ID that was returned from your previous request, and Stripe will return the corresponding top-up information.\u003C/p\u003E", + "operationId": "TopupRetrieve", + "parameters": [ + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "The ID of the top-up to retrieve.", + "in": "path", + "name": "topup", + "required": true, + "schema": { + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/topup" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003EUpdates the metadata of a top-up. Other top-up details are not editable by design.\u003C/p\u003E", + "operationId": "TopupUpdate", + "parameters": [ + { + "description": "The ID of the top-up to retrieve.", + "in": "path", + "name": "topup", + "required": true, + "schema": { + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + }, + "metadata": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "description": { + "description": "An arbitrary string attached to the object. Often useful for displaying to users.", + "maxLength": 5000, + "type": "string" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.", + "type": "object" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/topup" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/topups/{topup}/cancel": { + "post": { + "description": "\u003Cp\u003ECancels a top-up. Only pending top-ups can be canceled.\u003C/p\u003E", + "operationId": "TopupCancel", + "parameters": [ + { + "description": "The ID of the top-up to cancel.", + "in": "path", + "name": "topup", + "required": true, + "schema": { + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/topup" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/transfers": { + "get": { + "description": "\u003Cp\u003EReturns a list of existing transfers sent to connected accounts. The transfers are returned in sorted order, with the most recently created transfers appearing first.\u003C/p\u003E", + "operationId": "AllTransfers", + "parameters": [ + { + "explode": true, + "in": "query", + "name": "created", + "required": false, + "schema": { + "anyOf": [ + { + "properties": { + "gt": { + "type": "integer" + }, + "gte": { + "type": "integer" + }, + "lt": { + "type": "integer" + }, + "lte": { + "type": "integer" + } + }, + "title": "range_query_specs", + "type": "object" + }, + { + "type": "integer" + } + ] + }, + "style": "deepObject" + }, + { + "description": "Only return transfers for the destination specified by this account ID.", + "in": "query", + "name": "destination", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "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.", + "in": "query", + "name": "ending_before", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.", + "in": "query", + "name": "limit", + "required": false, + "schema": { + "type": "integer" + }, + "style": "form" + }, + { + "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.", + "in": "query", + "name": "starting_after", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "Only return transfers with the specified transfer group.", + "in": "query", + "name": "transfer_group", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/transfer" + }, + "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/transfers", + "type": "string" + } + }, + "required": [ + "data", + "has_more", + "object", + "url" + ], + "title": "TransferList", + "type": "object", + "x-expandableFields": [ + "data" + ] + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003ETo send funds from your Stripe account to a connected account, you create a new transfer object. Your \u003Ca href=\"#balance\"\u003EStripe balance\u003C/a\u003E must be able to cover the transfer amount, or you’ll receive an “Insufficient Funds” error.\u003C/p\u003E", + "operationId": "TransferCreate", + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + }, + "metadata": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "amount": { + "description": "A positive integer in %s representing how much to transfer.", + "type": "integer" + }, + "currency": { + "description": "3-letter [ISO code for currency](/docs/payouts).", + "type": "string" + }, + "description": { + "description": "An arbitrary string attached to the object. Often useful for displaying to users.", + "maxLength": 5000, + "type": "string" + }, + "destination": { + "description": "The ID of a connected Stripe account. \u003Ca href=\"/docs/connect/charges-transfers\"\u003ESee the Connect documentation\u003C/a\u003E for details.", + "type": "string" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "Set of key-value pairs 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`.", + "type": "object" + }, + "source_transaction": { + "description": "You can use this parameter to transfer funds from a charge before they are added to your available balance. A pending balance will transfer immediately but the funds will not become available until the original charge becomes available. [See the Connect documentation](/docs/connect/charges-transfers#transfer-availability) for details.", + "type": "string" + }, + "source_type": { + "description": "The source balance to use for this transfer. One of `card`, `bank_account`, or `alipay_account`. For most users, this will default to `card`.", + "enum": [ + "alipay_account", + "bank_account", + "bitcoin_receiver", + "card", + "source", + "stripe_account" + ], + "maxLength": 5000, + "type": "string" + }, + "transfer_group": { + "description": "A string that identifies this transaction as part of a group. See the [Connect documentation](/docs/connect/charges-transfers#grouping-transactions) for details.", + "type": "string" + } + }, + "required": [ + "amount", + "currency", + "destination" + ], + "type": "object" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/transfer" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/transfers/{id}/reversals": { + "get": { + "description": "\u003Cp\u003EYou can see a list of the reversals belonging to a specific transfer. Note that the 10 most recent reversals are always available by default on the transfer object. If you need more than those 10, you can use this API method and the \u003Ccode\u003Elimit\u003C/code\u003E and \u003Ccode\u003Estarting_after\u003C/code\u003E parameters to page through additional reversals.\u003C/p\u003E", + "operationId": "TransferReversalAll", + "parameters": [ + { + "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.", + "in": "query", + "name": "ending_before", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "The ID of the transfer whose reversals will be retrieved.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + }, + { + "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.", + "in": "query", + "name": "limit", + "required": false, + "schema": { + "type": "integer" + }, + "style": "form" + }, + { + "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.", + "in": "query", + "name": "starting_after", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/transfer_reversal" + }, + "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, + "type": "string" + } + }, + "required": [ + "data", + "has_more", + "object", + "url" + ], + "title": "TransferReversalList", + "type": "object", + "x-expandableFields": [ + "data" + ] + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003EWhen you create a new reversal, you must specify a transfer to create it on.\u003C/p\u003E\n\n\u003Cp\u003EWhen reversing transfers, you can optionally reverse part of the transfer. You can do so as many times as you wish until the entire transfer has been reversed.\u003C/p\u003E\n\n\u003Cp\u003EOnce entirely reversed, a transfer can’t be reversed again. This method will return an error when called on an already-reversed transfer, or when trying to reverse more money than is left on a transfer.\u003C/p\u003E", + "operationId": "CreateTransferReversal", + "parameters": [ + { + "description": "The ID of the transfer to be reversed.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + }, + "metadata": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "amount": { + "description": "A positive integer in %s representing how much of this transfer to reverse. Can only reverse up to the unreversed amount remaining of the transfer. Partial transfer reversals are only allowed for transfers to Stripe Accounts. Defaults to the entire transfer amount.", + "type": "integer" + }, + "description": { + "description": "An arbitrary string which you can attach to a reversal object. It is displayed alongside the reversal in the Dashboard. This will be unset if you POST an empty value.", + "maxLength": 5000, + "type": "string" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "Set of key-value pairs 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`.", + "type": "object" + }, + "refund_application_fee": { + "description": "Boolean indicating whether the application fee should be refunded when reversing this transfer. If a full transfer reversal is given, the full application fee will be refunded. Otherwise, the application fee will be refunded with an amount proportional to the amount of the transfer reversed.", + "type": "boolean" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/transfer_reversal" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/transfers/{transfer}": { + "get": { + "description": "\u003Cp\u003ERetrieves the details of an existing transfer. Supply the unique transfer ID from either a transfer creation request or the transfer list, and Stripe will return the corresponding transfer information.\u003C/p\u003E", + "operationId": "RetrieveTransfer", + "parameters": [ + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "The identifier of the transfer to be retrieved.", + "in": "path", + "name": "transfer", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/transfer" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003EUpdates the specified transfer by setting the values of the parameters passed. Any parameters not provided will be left unchanged.\u003C/p\u003E\n\n\u003Cp\u003EThis request accepts only metadata as an argument.\u003C/p\u003E", + "operationId": "UpdateTransfer", + "parameters": [ + { + "description": "The ID of the transfer to be updated.", + "in": "path", + "name": "transfer", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + }, + "metadata": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "description": { + "description": "An arbitrary string attached to the object. Often useful for displaying to users.", + "maxLength": 5000, + "type": "string" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "Set of key-value pairs 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`.", + "type": "object" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/transfer" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/transfers/{transfer}/reversals/{id}": { + "get": { + "description": "\u003Cp\u003EBy default, you can see the 10 most recent reversals stored directly on the transfer object, but you can also retrieve details about a specific reversal stored on the transfer.\u003C/p\u003E", + "operationId": "TransferReversalRetrieve", + "parameters": [ + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "ID of reversal to retrieve.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + }, + { + "description": "ID of the transfer reversed.", + "in": "path", + "name": "transfer", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/transfer_reversal" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003EUpdates the specified reversal by setting the values of the parameters passed. Any parameters not provided will be left unchanged.\u003C/p\u003E\n\n\u003Cp\u003EThis request only accepts metadata and description as arguments.\u003C/p\u003E", + "operationId": "TransferReversalUpdate", + "parameters": [ + { + "description": "ID of reversal to retrieve.", + "in": "path", + "name": "id", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + }, + { + "description": "ID of the transfer reversed.", + "in": "path", + "name": "transfer", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "expand": { + "explode": true, + "style": "deepObject" + }, + "metadata": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "Set of key-value pairs 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`.", + "type": "object" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/transfer_reversal" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/webhook_endpoints": { + "get": { + "description": "\u003Cp\u003EReturns a list of your webhook endpoints.\u003C/p\u003E", + "operationId": "NotificationWebhookEndpointAll", + "parameters": [ + { + "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.", + "in": "query", + "name": "ending_before", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + }, + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.", + "in": "query", + "name": "limit", + "required": false, + "schema": { + "type": "integer" + }, + "style": "form" + }, + { + "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.", + "in": "query", + "name": "starting_after", + "required": false, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "form" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "items": { + "$ref": "#/components/schemas/webhook_endpoint" + }, + "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/webhook_endpoints", + "type": "string" + } + }, + "required": [ + "data", + "has_more", + "object", + "url" + ], + "type": "object", + "x-expandableFields": [ + "data" + ] + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003EA webhook endpoint must have a \u003Ccode\u003Eurl\u003C/code\u003E and a list of \u003Ccode\u003Eenabled_events\u003C/code\u003E. You may optionally specify the Boolean \u003Ccode\u003Econnect\u003C/code\u003E parameter. If set to true, then a Connect webhook endpoint that notifies the specified \u003Ccode\u003Eurl\u003C/code\u003E about events from all connected accounts is created; otherwise an account webhook endpoint that notifies the specified \u003Ccode\u003Eurl\u003C/code\u003E only about events from your account is created. You can also create webhook endpoints in the \u003Ca href=\"https://dashboard.stripe.com/account/webhooks\"\u003Ewebhooks settings\u003C/a\u003E section of the Dashboard.\u003C/p\u003E", + "operationId": "NotificationWebhookEndpointCreate", + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "enabled_events": { + "explode": true, + "style": "deepObject" + }, + "expand": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "connect": { + "description": "Whether this endpoint should receive events from connected accounts (`true`), or your account (`false`).", + "type": "boolean" + }, + "enabled_events": { + "description": "The list of events to enable for this endpoint. You may specify `['*']` to enable all events.", + "items": { + "enum": [ + "*", + "account.application.authorized", + "account.application.deauthorized", + "account.approaching_unactivated_threshold", + "account.exceeded_unactivated_threshold", + "account.external_account.created", + "account.external_account.deleted", + "account.external_account.updated", + "account.need_info", + "account.need_info.resolved", + "account.note_for_review", + "account.note_for_review.resolved", + "account.reject", + "account.reject.resolved", + "account.risk_transfers_disabled", + "account.updated", + "application_fee.created", + "application_fee.refund.updated", + "application_fee.refunded", + "balance.available", + "balance.stripe_reserve_canceled", + "balance.stripe_reserve_created", + "balance.stripe_reserve_expired", + "batch.created", + "batch.updated", + "capability.created", + "capability.updated", + "charge.captured", + "charge.dispute.closed", + "charge.dispute.created", + "charge.dispute.funds_reinstated", + "charge.dispute.funds_withdrawn", + "charge.dispute.updated", + "charge.expired", + "charge.failed", + "charge.pending", + "charge.refund.updated", + "charge.refunded", + "charge.succeeded", + "charge.updated", + "checkout_beta.session_succeeded", + "coupon.created", + "coupon.deleted", + "coupon.updated", + "customer.bank_account.created", + "customer.bank_account.deleted", + "customer.bank_account.updated", + "customer.card.contact_cardholder", + "customer.card.created", + "customer.card.deleted", + "customer.card.updated", + "customer.created", + "customer.deleted", + "customer.discount.created", + "customer.discount.deleted", + "customer.discount.updated", + "customer.payment_method.created", + "customer.payment_method.deleted", + "customer.payment_method.updated", + "customer.source.contact_cardholder", + "customer.source.created", + "customer.source.deleted", + "customer.source.expiring", + "customer.source.updated", + "customer.subscription.created", + "customer.subscription.deleted", + "customer.subscription.trial_will_end", + "customer.subscription.updated", + "customer.updated", + "file.created", + "invoice.created", + "invoice.deleted", + "invoice.finalized", + "invoice.marked_uncollectible", + "invoice.payment_failed", + "invoice.payment_succeeded", + "invoice.sent", + "invoice.upcoming", + "invoice.updated", + "invoice.voided", + "invoiceitem.created", + "invoiceitem.deleted", + "invoiceitem.updated", + "issuer_fraud_record.created", + "issuing_authorization.created", + "issuing_authorization.request", + "issuing_authorization.updated", + "issuing_card.created", + "issuing_card.updated", + "issuing_cardholder.created", + "issuing_cardholder.updated", + "issuing_dispute.created", + "issuing_dispute.updated", + "issuing_transaction.created", + "issuing_transaction.updated", + "order.created", + "order.payment_failed", + "order.payment_succeeded", + "order.updated", + "order_return.created", + "payment.created", + "payment.failed", + "payment.paid", + "payment_intent.amount_capturable_updated", + "payment_intent.created", + "payment_intent.payment_failed", + "payment_intent.requires_capture", + "payment_intent.succeeded", + "payment_provider_balance_transaction.created", + "payment_provider_transfer.updated", + "payout.canceled", + "payout.created", + "payout.failed", + "payout.paid", + "payout.updated", + "person.created", + "person.deleted", + "person.updated", + "ping", + "plan.created", + "plan.deleted", + "plan.updated", + "product.created", + "product.deleted", + "product.updated", + "recipient.card.created", + "recipient.card.deleted", + "recipient.card.updated", + "recipient.created", + "recipient.deleted", + "recipient.updated", + "recipient_transfer.canceled", + "recipient_transfer.created", + "recipient_transfer.failed", + "recipient_transfer.paid", + "recipient_transfer.updated", + "refund.created", + "refund.failed", + "reporting.report_run.failed", + "reporting.report_run.succeeded", + "reporting.report_run.updated", + "reporting.report_type.updated", + "review.closed", + "review.opened", + "sigma.scheduled_query_run.created", + "sku.created", + "sku.deleted", + "sku.updated", + "source.canceled", + "source.chargeable", + "source.failed", + "source.mandate_notification", + "source.refund_attributes_required", + "source.transaction.created", + "source.transaction.updated", + "subscription_schedule.aborted", + "subscription_schedule.canceled", + "subscription_schedule.completed", + "subscription_schedule.created", + "subscription_schedule.expiring", + "subscription_schedule.released", + "subscription_schedule.updated", + "topup.canceled", + "topup.created", + "topup.failed", + "topup.reversed", + "topup.succeeded", + "transfer.canceled", + "transfer.created", + "transfer.failed", + "transfer.paid", + "transfer.reversed", + "transfer.updated" + ], + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "url": { + "description": "The URL of the webhook endpoint.", + "type": "string" + } + }, + "required": [ + "enabled_events", + "url" + ], + "type": "object" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/webhook_endpoint" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + }, + "/v1/webhook_endpoints/{webhook_endpoint}": { + "delete": { + "description": "\u003Cp\u003EYou can also delete webhook endpoints via the \u003Ca href=\"https://dashboard.stripe.com/account/webhooks\"\u003Ewebhook endpoint management\u003C/a\u003E page of the Stripe dashboard.\u003C/p\u003E", + "operationId": "NotificationWebhookEndpointDelete", + "parameters": [ + { + "description": "The ID of the webhook endpoint to delete.", + "in": "path", + "name": "webhook_endpoint", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/deleted_webhook_endpoint" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "get": { + "description": "\u003Cp\u003ERetrieves the webhook endpoint with the given ID.\u003C/p\u003E", + "operationId": "NotificationWebhookEndpointRetrieve", + "parameters": [ + { + "description": "Specifies which fields in the response should be expanded.", + "explode": true, + "in": "query", + "name": "expand", + "required": false, + "schema": { + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "style": "deepObject" + }, + { + "description": "The ID of the desired webhook endpoint.", + "in": "path", + "name": "webhook_endpoint", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + }, + "schema": { + "additionalProperties": false, + "properties": { + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/webhook_endpoint" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + }, + "post": { + "description": "\u003Cp\u003EUpdates the webhook endpoint. You may edit the \u003Ccode\u003Eurl\u003C/code\u003E, the list of \u003Ccode\u003Eenabled_events\u003C/code\u003E, and the status of your endpoint.\u003C/p\u003E", + "operationId": "NotificationWebhookEndpointUpdate", + "parameters": [ + { + "description": "The ID of the desired webhook endpoint.", + "in": "path", + "name": "webhook_endpoint", + "required": true, + "schema": { + "maxLength": 5000, + "type": "string" + }, + "style": "simple" + } + ], + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "encoding": { + "enabled_events": { + "explode": true, + "style": "deepObject" + }, + "expand": { + "explode": true, + "style": "deepObject" + } + }, + "schema": { + "additionalProperties": false, + "properties": { + "disabled": { + "description": "Disable the webhook endpoint if set to true.", + "type": "boolean" + }, + "enabled_events": { + "description": "The list of events to enable for this endpoint. You may specify `['*']` to enable all events.", + "items": { + "enum": [ + "*", + "account.application.authorized", + "account.application.deauthorized", + "account.approaching_unactivated_threshold", + "account.exceeded_unactivated_threshold", + "account.external_account.created", + "account.external_account.deleted", + "account.external_account.updated", + "account.need_info", + "account.need_info.resolved", + "account.note_for_review", + "account.note_for_review.resolved", + "account.reject", + "account.reject.resolved", + "account.risk_transfers_disabled", + "account.updated", + "application_fee.created", + "application_fee.refund.updated", + "application_fee.refunded", + "balance.available", + "balance.stripe_reserve_canceled", + "balance.stripe_reserve_created", + "balance.stripe_reserve_expired", + "batch.created", + "batch.updated", + "capability.created", + "capability.updated", + "charge.captured", + "charge.dispute.closed", + "charge.dispute.created", + "charge.dispute.funds_reinstated", + "charge.dispute.funds_withdrawn", + "charge.dispute.updated", + "charge.expired", + "charge.failed", + "charge.pending", + "charge.refund.updated", + "charge.refunded", + "charge.succeeded", + "charge.updated", + "checkout_beta.session_succeeded", + "coupon.created", + "coupon.deleted", + "coupon.updated", + "customer.bank_account.created", + "customer.bank_account.deleted", + "customer.bank_account.updated", + "customer.card.contact_cardholder", + "customer.card.created", + "customer.card.deleted", + "customer.card.updated", + "customer.created", + "customer.deleted", + "customer.discount.created", + "customer.discount.deleted", + "customer.discount.updated", + "customer.payment_method.created", + "customer.payment_method.deleted", + "customer.payment_method.updated", + "customer.source.contact_cardholder", + "customer.source.created", + "customer.source.deleted", + "customer.source.expiring", + "customer.source.updated", + "customer.subscription.created", + "customer.subscription.deleted", + "customer.subscription.trial_will_end", + "customer.subscription.updated", + "customer.updated", + "file.created", + "invoice.created", + "invoice.deleted", + "invoice.finalized", + "invoice.marked_uncollectible", + "invoice.payment_failed", + "invoice.payment_succeeded", + "invoice.sent", + "invoice.upcoming", + "invoice.updated", + "invoice.voided", + "invoiceitem.created", + "invoiceitem.deleted", + "invoiceitem.updated", + "issuer_fraud_record.created", + "issuing_authorization.created", + "issuing_authorization.request", + "issuing_authorization.updated", + "issuing_card.created", + "issuing_card.updated", + "issuing_cardholder.created", + "issuing_cardholder.updated", + "issuing_dispute.created", + "issuing_dispute.updated", + "issuing_transaction.created", + "issuing_transaction.updated", + "order.created", + "order.payment_failed", + "order.payment_succeeded", + "order.updated", + "order_return.created", + "payment.created", + "payment.failed", + "payment.paid", + "payment_intent.amount_capturable_updated", + "payment_intent.created", + "payment_intent.payment_failed", + "payment_intent.requires_capture", + "payment_intent.succeeded", + "payment_provider_balance_transaction.created", + "payment_provider_transfer.updated", + "payout.canceled", + "payout.created", + "payout.failed", + "payout.paid", + "payout.updated", + "person.created", + "person.deleted", + "person.updated", + "ping", + "plan.created", + "plan.deleted", + "plan.updated", + "product.created", + "product.deleted", + "product.updated", + "recipient.card.created", + "recipient.card.deleted", + "recipient.card.updated", + "recipient.created", + "recipient.deleted", + "recipient.updated", + "recipient_transfer.canceled", + "recipient_transfer.created", + "recipient_transfer.failed", + "recipient_transfer.paid", + "recipient_transfer.updated", + "refund.created", + "refund.failed", + "reporting.report_run.failed", + "reporting.report_run.succeeded", + "reporting.report_run.updated", + "reporting.report_type.updated", + "review.closed", + "review.opened", + "sigma.scheduled_query_run.created", + "sku.created", + "sku.deleted", + "sku.updated", + "source.canceled", + "source.chargeable", + "source.failed", + "source.mandate_notification", + "source.refund_attributes_required", + "source.transaction.created", + "source.transaction.updated", + "subscription_schedule.aborted", + "subscription_schedule.canceled", + "subscription_schedule.completed", + "subscription_schedule.created", + "subscription_schedule.expiring", + "subscription_schedule.released", + "subscription_schedule.updated", + "topup.canceled", + "topup.created", + "topup.failed", + "topup.reversed", + "topup.succeeded", + "transfer.canceled", + "transfer.created", + "transfer.failed", + "transfer.paid", + "transfer.reversed", + "transfer.updated" + ], + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "expand": { + "description": "Specifies which fields in the response should be expanded.", + "items": { + "maxLength": 5000, + "type": "string" + }, + "type": "array" + }, + "url": { + "description": "The URL of the webhook endpoint.", + "type": "string" + } + }, + "type": "object" + } + } + }, + "required": false + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/webhook_endpoint" + } + } + }, + "description": "Successful response." + }, + "default": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/error" + } + } + }, + "description": "Error response." + } + } + } + } + }, + "security": [ + { + "basicAuth": [ + + ] + }, + { + "bearerAuth": [ + + ] + } + ], + "servers": [ + { + "url": "https://api.stripe.com/" + } + ] +} \ No newline at end of file