{"openapi":"3.1.0","info":{"title":"Spreedly API V1","version":"v1","description":"An OpenAPI specification file for V1 of the Spreedly Core Transactional API"},"x-explorer-enabled":false,"components":{"parameters":{"gateway_token":{"name":"gateway_token","description":"The token of the gateway to execute against","in":"path","required":true,"schema":{"type":"string"}},"transaction_token":{"name":"transaction_token","description":"The token uniquely identifying this transaction (not the created payment method) at Spreedly.","in":"path","required":true,"schema":{"type":"string"}},"format":{"name":"format","description":"The format of the request. Default JSON for testing in our documentation.","in":"path","required":true,"schema":{"type":"string","enum":["json","xml"],"example":"json"}}},"securitySchemes":{"basic_auth":{"type":"http","scheme":"basic","description":"Unless otherwise noted, all calls to the Spreedly API use [HTTP basic authentication](https://en.wikipedia.org/wiki/Basic_access_authentication) over HTTPS.\n Use the [environment key](https://developer.spreedly.com/docs/the-spreedly-app#environment-key) of the Spreedly environment you wish to execute against as the HTTP basic user, and one of your organization's [access secrets](https://developer.spreedly.com/docs/the-spreedly-app#access-secrets) as the HTTP basic password."}},"schemas":{"errors":{"type":"array","items":{"type":"object","properties":{"attribute":{"type":"string","description":"Which attribute(s) have an error"},"key":{"type":"string","description":"Error Key"},"message":{"type":"string","description":"Error Message"}},"required":["key","message"]}},"unsupported_error":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","description":"Error Key"},"message":{"type":"string","description":"Error Message"},"ability":{"type":"string","description":"The transaction the gateway does not support"}}}}}},"gateway":{"type":"object","properties":{"gateway":{"type":"object","additionalProperties":{"description":"The merchant credentials required for this type of gateway. Stripe has login, but your gateway type will most likely require a different set of credentials. Please reference the [gateway's documentation](https://developer.spreedly.com/docs/supported-gateways) to determine the appropriate credential(s) to pass here. The only gateway type that does not require such credentials is the Spreedly `test` gateway.","type":"string"},"properties":{"gateway_type":{"type":"string","description":"The type (short name) of the gateway. Use this value when provisioning a gateway. You can find the list of supported gateways and their respective gateway types [on this page](https://developer.spreedly.com/docs/supported-gateways)"},"description":{"type":"string","description":"A description of the gateway. Useful to differentiate between multiple gateways of the same type provisioned within your system."},"merchant_profile_key":{"type":"string","description":"The token for an existing Merchant Profile in your environment. Useful to organize gateways in an environment with multiple merchants, or to associate merchant data with gateway transactions."},"sub_merchant_key":{"type":"string","description":"The token for an existing Sub-merchant in your environment. Useful for tagging the transactions through this gateway with the sub-merchant who transacts through the gateway."},"sandbox":{"type":"boolean","description":"**true** or **false**. Useful to test out a gateway's sandbox mode, this is recommended in situations where the gateway integration is difficult and where you don't want to execute real transactions."}},"required":["gateway_type"]}}},"gateway_properties":{"type":"object","properties":{"token":{"type":"string","description":"The token identifying the provisioned gateway at Spreedly"},"name":{"type":"string","description":"The human readable name of the gateway"},"gateway_type":{"type":"string","description":"The type (short name) of the gateway. Use this value when provisioning a gateway"},"description":{"type":"string","description":"The description of the provisioned gateway"},"merchant_profile_key":{"type":"string","description":"The token of the Merchant Profile associated with the provisioned gateway"},"sub_merchant_key":{"type":"string","description":"The token of the Sub-merchant associated with the provisioned gateway"},"state":{"type":"string","description":"The storage state of the gateway (retained, redacted, etc…)"},"sandbox":{"type":"boolean","description":"If the gateway was created in sandbox mode or not"},"redacted":{"type":"boolean","description":"If this gateway is redacted or not"},"credentials":{"type":"array","description":"The non-sensitive credentials used for this gateway"},"gateway_settings":{"type":"object","description":"The non-credential fields that can be specified at the gateway level, and included in all transactions"},"characteristics":{"type":"array","description":"A list of operations (such as purchase, capture etc…) that the gateway supports"},"payment_methods":{"type":"array","description":"A list of payment methods (such as credit_card, apple_pay, google_pay, etc…) that the gateway supports"},"gateway_specific_fields":{"$ref":"#/components/schemas/gateway_specific_fields"},"created_at":{"type":"string","description":"The time the gateway was created"},"updated_at":{"type":"string","description":"The time the gateway was last updated"}}},"gateway_specific_fields":{"type":"array","description":"The list of gateway specific fields that can be specified in supported gateway transactions","items":{"type":"string"}},"gateway_update":{"type":"object","properties":{"gateway":{"type":"object","properties":{"credentials":{"type":"string","description":"Gateway specific credential field(s). The merchant credentials required for this type of gateway. Stripe has login, but your gateway type will most likely require a different set of credentials. Please reference the [gateway's documentation](https://developer.spreedly.com/docs/supported-gateways) to determine the appropriate credential(s) to pass here."},"description":{"type":"string","description":"A description of the gateway. Useful to differentiate between multiple gateways of the same type provisioned within your system."},"merchant_profile_key":{"type":"string","description":"The token for an existing Merchant Profile in your environment. Useful to organize gateways in an environment with multiple merchants, or to associate merchant data with gateway transactions."},"sub_merchant_key":{"type":"string","description":"The token for an existing Sub-merchant in your environment. Useful for tagging the transactions through this gateway with the sub-merchant who transacts through the gateway."}}}}},"gateway_response":{"type":"object","properties":{"gateway":{"$ref":"#/components/schemas/gateway_properties"}}},"list_gateways_response":{"type":"object","properties":{"gateways":{"type":"array","items":{"$ref":"#/components/schemas/gateway_properties"}}}},"gateways_options_response":{"type":"object","properties":{"gateways":{"type":"object","properties":{"name":{"type":"string","description":"The human readable name of the gateway"},"gateway_type":{"type":"string","description":"The type (short name) of the gateway. Use this value when provisioning a gateway."},"auth_modes":{"type":"array","description":"A list of authorization modes for the gateway. An auth mode is basically a list of credentials required for this gateway (some gateways support various ways of entering credentials).","items":{"type":"object"}},"gateway_settings":{"type":"array","description":"The non-credential fields that can be specified at the gateway level, and included in all transactions","items":{"type":"object"}},"characteristics":{"type":"array","description":"A list of operations (such as purchase, capture etc…) that the gateway supports","items":{"type":"string"}},"payment_methods":{"type":"array","description":"A list of payment methods (such as credit_card, apple_pay, google_pay, etc…) that the gateway supports","items":{"type":"string"}},"gateway_specific_fields":{"$ref":"#/components/schemas/gateway_specific_fields"},"supported_countries":{"type":"array","description":"The list of countries this gateway supports","items":{"type":"string"}},"supported_cardtypes":{"type":"array","description":"The list of credit card brands this gateway supports","items":{"type":"string"}},"regions":{"type":"array","description":"The list of geographic regions this gateway supports (determined by the supported_countries)","items":{"type":"string"}},"homepage":{"type":"string","description":"The homepage associated with the gateway"},"display_api_url":{"type":"string","description":"The live endpoint for the gateway type"},"company_name":{"type":"string","description":"The company name associated with the gateway"}}}}},"transaction_response":{"type":"object","properties":{"transaction":{"$ref":"#/components/schemas/purchase_parameters"}}},"transactions_response":{"type":"object","properties":{"transactions":{"type":"array","items":{"$ref":"#/components/schemas/purchase_parameters"}}}},"authenticate_properties":{"type":"object","properties":{"token":{"type":"string","description":"The token uniquely identifying the transaction at Spreedly. This token can be passed into an `authorize` or `purchase` transaction via the `sca_authentication_token` field to automatically fill its `payment_method_token` and Third Party 3DS2 fields."},"succeeded":{"type":"boolean","description":"`true` if the transaction request was successfully executed, `false` otherwise"},"state":{"type":"string","description":"The current state of the authentication. Valid values are `succeeded`, `failed`, and `pending`"},"message":{"type":"string","description":"A human-readable string indicating the result of the transaction"},"transaction_type":{"type":"string","description":"The type of transaction; contains “Sca::Authentication” for a Spreedly 3DS Global authentication"},"gateway_transaction_key":{"type":"string","description":"The Spreedly transaction token of the parent gateway transaction"},"sca_provider_key":{"type":"string","description":"The SCA Provider that was used to create the authentication"},"acs_transaction_id":{"type":"string","description":"The unique ID of the transaction given by the ACS server (3DS2 only)"},"three_ds_server_trans_id":{"type":"string","description":"The unique ID of the transaction given by the 3DS Server (3DS2 only)"},"directory_server_transaction_id":{"type":"string","description":"The unique ID of the transaction given by the directory server (3DS2 only)"},"xid":{"type":"string","description":"The transaction identifier given by the 3DS Server"},"three_ds_version":{"type":"string","description":"The version of 3DS that was used to authenticate the transaction"},"flow_performed":{"type":"string","description":"An enumerated field that denotes what flow was most recently performed. Valid values are `frictionless`, `device_fingerprint`, `challenge`, `app_challenge`, and `not_authenticated`."},"ecommerce_indicator":{"type":"string","description":"Contains the ecommerce indicator (ECI) returned by the 3DS Server"},"directory_response_status":{"type":"string","description":"The transaction status given by the directory server in the initial response. This field’s value corresponds to the `transStatus` enumeration in the EMV 3-D Secure Protocol. Valid values can be `Y`, `N`, `U`, `A`, `C`, or `R`. Please see the EMV 3-D Secure Protocol spec for more information."},"authentication_response_status":{"type":"string","description":"The most recent transaction status given received by the 3DS Server. This field’s value corresponds to the `transStatus` enumeration in the EMV 3-D Secure Protocol. Valid values can be `Y`, `N`, `U`, `A`, `C`, or `R`. Please see the EMV 3-D Secure Protocol spec for more information."},"authentication_value":{"type":"string","description":"The authentication value returned by the 3DS Server for successful authentications"},"trans_status_reason":{"type":"string","description":"Provides information on why the `authentication_response_status` field has the specific value. This field’s value corresponds to the `transStatusReason` enumeration in the EMV 3-D Secure Protocol. Please see EMV 3-D Secure Protocol spec for more information."},"daf":{"type":"boolean","description":"Boolean field to indicate if the authentication request utilized Visa’s Digital Authentication Framework."},"managed_order_token":{"type":"string","description":"The token value provided by the protection provider running the authentication."},"payment_method_key":{"type":"string","description":"The token of the payment method being authenticated. This is the same as the `payment_method_token` field in the `sca_authentication` transaction request."}}},"authenticate":{"type":"object","properties":{"transaction":{"type":"object","properties":{"payment_method_token":{"type":"string","description":"The token of the payment method to use"},"currency_code":{"type":"string","description":"The currency of the funds, as [ISO 4217 alpha currency codes](https://en.wikipedia.org/wiki/ISO_4217#Active_codes), e.g., `USD` for US dollars."},"amount":{"type":"integer","description":"The amount to request, as an integer. E.g., `1000` for $10.00."},"test_scenario":{"type":"object","properties":{"scenario":{"type":"string","description":"The tested scenario."}},"description":"Additional fields to indicate valid 3DS2 test flow options. Please refer to our [3DS2 Global Testing Guide](https://developer.spreedly.com/docs/testing-your-3ds2-global-integration) to learn more about testing your 3DS2 Global integration with out Test SCA Provider."},"browser_info":{"type":"string","description":"Please refer to our [Spreedly 3DS2 Global Integration Guide for Web](https://developer.spreedly.com/docs/3ds-solutions), to learn how to include our `Lifecycle.js` library and gather the browser info data using `Spreedly.ThreeDS.serialize` method."},"force_daf":{"type":"boolean","description":"Boolean field that can be used to indicate if a transaction should use Visa’s DAF. For more information please refer to our [3DS2 Global DAF guide](https://developer.spreedly.com/docs/spreedly-3ds2-global-guide#visa-daf)"},"exemption_type":{"type":"string","description":"Type of exemption request to reduce likelihood of a transaction being challenged. The two exemptions currently supported are `low_value` and `transaction_risk_analysis_exemption`. See our [exemption guide](https://developer.spreedly.com/docs/spreedly-3ds2-global-guide#requesting-exemptions) to learn more"},"acquiring_bank_fraud_rate":{"type":"string","description":"Additional field required if requesting a `transaction_risk_analysis_exemption` that details threshold for bank fraud rate. See our [exemption guide](https://developer.spreedly.com/docs/spreedly-3ds2-global-guide#requesting-exemptions) to learn more"},"three_ds_requestor_challenge_ind":{"type":"string","description":"Indicates whether a challenge is being requested for a 3DS2 Global transaction."}},"required":["payment_method_token","browser_info"]}}},"authenticate_response":{"type":"object","properties":{"transaction":{"$ref":"#/components/schemas/authenticate_properties"}}},"capture":{"type":"object","properties":{"transaction":{"type":"object","description":"Root request element","properties":{"amount":{"type":"integer","description":"The amount to capture, as an integer. E.g., 1000 for $10.00. If not provided, the full amount of the original authorize will be captured."}}}}},"payment_method":{"type":"object","properties":{"token":{"type":"string","description":"The token identifying the payment method in the Spreedly vault"},"created_at":{"type":"string","description":"The time the payment method token was created"},"updated_at":{"type":"string","description":"The time the payment method token was last updated"},"email":{"type":"string","description":"The email address of the customer associated with this credit card"},"storage_state":{"type":"string","description":"The `storage_state` (retained, redacted, cached, used) of the payment method"},"test":{"type":"boolean","description":"`true` if this payment method is a test payment method and cannot be used against real gateways or receivers"},"metadata":{"type":"object","description":"metadata key-value pairs (limit 25). Keys are limited to 50 characters. Values are limited to 500 characters and cannot contain compounding data types"},"callback_url":{"type":"string","description":"The URL where Spreedly will attempt delivery of asynchronous results for 3DS and offsite transactions. Transaction results are posted in the format specified by `callback_format` if provided or XML if `callback_format` is not present or null. (default: `null`)"},"last_four_digits":{"type":"string","description":"The last four digits of the credit card number. This can be displayed to the user."},"first_six_digits":{"type":"string","description":"The first six digits of the credit card number. This can be displayed to the user."},"card_type":{"type":"string","description":"The [type](https://developer.spreedly.com/docs/supported-payment-methods), or brand, of the card. Please see the `card_type_mapping` function below for more detail."},"first_name":{"type":"string","description":"The first name of the cardholder"},"last_name":{"type":"string","description":"The last name of the cardholder"},"month":{"type":"string","description":"The expiration month"},"year":{"type":"string","description":"The expiration year"},"address1":{"type":"string","description":"The first line of the billing address"},"address2":{"type":"string","description":"The second line of the billing address"},"city":{"type":"string","description":"The city of the billing address"},"state":{"type":"string","description":"The state of the billing address"},"zip":{"type":"string","description":"The zip code of the billing address"},"country":{"type":"string","description":"The country code of the billing address"},"phone_number":{"type":"string","description":"The phone number of the billing address"},"company":{"type":"string","description":"The company of the cardholder"},"full_name":{"type":"string","description":"The full name of the cardholder."},"eligible_for_card_updater":{"type":"string","description":"`true` if this payment method should be included in Account Updater"},"shipping_address1":{"type":"string","description":"The first line of the shipping address"},"shipping_address2":{"type":"string","description":"The second line of the shipping address"},"shipping_city":{"type":"string","description":"The city of the shipping address"},"shipping_state":{"type":"string","description":"The state of the shipping address"},"shipping_zip":{"type":"string","description":"The zip code of the shipping address"},"shipping_country":{"type":"string","description":"The country code of the shipping address"},"issuer_identification_number":{"type":"string","description":"The numbers of the PAN required to identify the card issuer."},"click_to_pay":{"type":"string","description":"`true` if the card was tokenized using Click to Pay"},"managed":{"type":"string","description":"The value indicating the payment method's management status."},"payment_method_type":{"type":"string","description":"The type of this payment method, e.g., `credit_card`, `bank_account`, `apple_pay`, `google_pay`, `third_party_token`, etc…"},"errors":{"type":"string","description":"If the payment method is invalid (missing required fields, etc…), there will be associated error messages here"},"fingerprint":{"type":"string","description":"An identifying string that will match all cards in the environment with the same PAN"},"verification_value":{"type":"string","description":"The obscured verification value (CVV), e.g., XXX or XXXX"},"number":{"type":"string","description":"The obscured credit card number, e.g., XXXX-XXXX-XXXX-4444"},"bin_metadata":{"type":"object","description":"BIN metadata is available in the response if the card is enrolled in Advanced Vault. See [BIN metadata](https://developer.spreedly.com/docs/bin-metadata) for more information.","properties":{"card_brand":{"type":"string"},"card_category":{"type":"string"},"card_type":{"type":"string"},"issuing_bank":{"type":"string"},"issuing_country_iso_number":{"type":"string"},"issuing_country_iso_a2_code":{"type":"string"},"issuing_country_iso_a3_code":{"type":"string"},"issuing_country_iso_name":{"type":"string"},"issuing_bank_phone_number":{"type":"string"},"issuing_bank_website":{"type":"string"},"bin_type":{"type":"string"},"regulated":{"type":"string"},"max_pan_length":{"type":"string"},"message":{"type":"string"}}},"subscribed_to_mastercard_abu":{"type":"boolean","example":false,"description":"`true` if this payment method is subscribed to Mastercard ABU updating service"},"last_successfully_used":{"type":"string","format":"date-time","nullable":true,"description":"The time (UTC) the payment method was last successfully transacted with. The following transaction types are considered: Authorization, Purchase, Verification, GeneralCredit, OffsiteVerification, or OffsitePurchase"}}},"payment_method_request":{"type":"object","properties":{"payment_method":{"type":"object","properties":{"credit_card":{"$ref":"#/components/schemas/credit_card"},"bank_account":{"$ref":"#/components/schemas/bank_account"},"apple_pay":{"$ref":"#/components/schemas/apple_pay"},"google_pay":{"$ref":"#/components/schemas/google_pay"},"payment_method_type":{"type":"string","description":"For third party token vaulting requests, set to `third_party_token` to represent an externally vaulted payment method reference"},"reference":{"type":"string","description":"For third party token vaulting requests, the token identifying the payment method at the external gateway"},"gateway_type":{"type":"string","description":"Required for third party token vaulting requests. The type of the external gateway"},"email":{"type":"string","description":"The email address of the customer associated with this credit card"},"retained":{"type":"boolean","description":"`true` if this payment method should be automatically retained on creation"},"allow_blank_name":{"type":"boolean","description":"`true` if this payment method should skip the name validation requirement"},"allow_expired_date":{"type":"boolean","description":"`true` if this payment method should skip the expired date validation requirement"},"allow_blank_date":{"type":"boolean","description":"`true` if this payment method should skip the expiration date validation requirement"},"eligible_for_card_updater":{"type":"boolean","description":"`true` if this payment method should be included in Account Updater"},"metadata":{"type":"object","description":"metadata key-value pairs (limit 25). Keys are limited to 50 characters. Values are limited to 500 characters and cannot contain compounding data types"},"provision_network_token":{"$ref":"#/components/schemas/provision_network_token"}}}}},"payment_method_update_gratis":{"type":"object","properties":{"payment_method":{"type":"object","properties":{"managed":{"type":"boolean","description":"`true` or `false`"},"allow_blank_name":{"type":"boolean","description":"`true` if this payment method should skip the name validation requirement"},"allow_expired_date":{"type":"boolean","description":"`true` if this payment method should skip the expired date validation requirement"},"allow_blank_date":{"type":"boolean","description":"`true` if this payment method should skip the expiration date validation requirement"},"eligible_for_card_updater":{"type":"boolean","description":"`true` if this payment method should be included in Account Updater"},"callback_url":{"type":"string","description":"The URL where Spreedly will attempt delivery of asynchronous results for Advanced Vault, 3DS, and offsite transactions. Transaction results are posted in the format specified by `callback_format` if provided or XML if `callback_format` is not present or null. (default: `null`)"}}}}},"payment_method_update":{"type":"object","properties":{"payment_method":{"type":"object","properties":{"attribute":{"type":"string","description":"One or more non-sensitive attributes to update. Non-sensitive attributes are attributes excluding card numbers, verification values (CVV), bank account numbers etc..."},"allow_blank_name":{"type":"boolean","description":"`true` if this payment method should skip the name validation requirement (credit card only)"},"allow_expired_date":{"type":"boolean","description":"`true` if this payment method should skip the expired date validation requirement (credit card only)"},"allow_blank_date":{"type":"boolean","description":"`true` if this payment method should skip the expiration date validation requirement"},"eligible_for_card_updater":{"type":"boolean","description":"`true` if this payment method should be included in Account Updater"},"metadata":{"type":"object","description":"metadata key-value pairs (limit 25). Keys are limited to 50 characters. Values are limited to 500 characters and cannot contain compounding data types"}}}}},"payment_method_redact":{"type":"object","properties":{"transaction":{"type":"object","properties":{"remove_from_gateway":{"type":"string","description":"If the payment method is also stored at the gateway (e.g., for third party vaulting or offsite authorizations), include the token of the gateway here and it will be removed from the gateway as well as being redacted from Spreedly. This element is optional. If required, gateway_specific_fields can be used in tandem with remove_from_gateway. See your gateways guide for gateway specific field options and formatting."},"remove_personal_data":{"type":"boolean","description":"`true` if personally identifiable information should be removed from the payment method and related its transactions. This element is optional."}}}}},"recache":{"type":"object","properties":{"payment_method":{"type":"object","properties":{"credit_card":{"type":"object","properties":{"verification_value":{"type":"string","description":"The verification value (CVV/CVC) of the card"}}},"allow_blank_name":{"type":"boolean","description":"`true` if this payment method should skip the name validation requirement for Credit Cards"},"allow_expired_date":{"type":"boolean","description":"`true` if this payment method should skip the expired date validation requirement for Credit Cards"},"allow_blank_date":{"type":"boolean","description":"`true` if this payment method should skip the expiration date validation requirement for Credit Cards"}}}}},"delete_metadata":{"type":"object","properties":{"keys":{"type":"array","items":{"type":"string"}}}},"payment_method_response":{"type":"object","properties":{"payment_method":{"$ref":"#/components/schemas/payment_method"}}},"payment_method_show_response":{"type":"object","properties":{"payment_method":{"allOf":[{"$ref":"#/components/schemas/payment_method"},{"type":"object","properties":{"network_token":{"$ref":"#/components/schemas/network_token"}}}]}}},"payment_method_retain_response":{"type":"object","properties":{"transaction":{"type":"object","description":"Root element","properties":{"transaction_type":{"type":"string","description":"The type of transaction, e.g., Authorization, Capture, Credit"},"token":{"type":"string","description":"The token uniquely identifying this transaction at Spreedly"},"succeeded":{"type":"boolean","description":"`true` if the transaction request was successfully executed, `false` otherwise"},"state":{"type":"string","description":"The current state of the transaction. Valid values are `succeeded`, `failed`, and `pending`"},"payment_method":{"$ref":"#/components/schemas/payment_method"},"network_tokenization":{"$ref":"#/components/schemas/network_tokenization"}}}}},"payment_method_redact_response":{"type":"object","properties":{"transaction":{"type":"object","description":"Root element","properties":{"transaction_type":{"type":"string","description":"The type of transaction, e.g., Authorization, Capture, Credit"},"token":{"type":"string","description":"The token uniquely identifying this transaction at Spreedly"},"succeeded":{"type":"boolean","description":"`true` if the transaction request was successfully executed, `false` otherwise"},"state":{"type":"string","description":"The current state of the transaction. Valid values are `succeeded`, `failed`, and `pending`"},"payment_method":{"$ref":"#/components/schemas/payment_method"}}}}},"payment_method_create_response":{"type":"object","properties":{"transaction":{"type":"object","description":"Root element","properties":{"token":{"type":"string","description":"The token uniquely identifying this transaction (not the created payment method) at Spreedly"},"succeeded":{"type":"boolean","description":"`true` if the transaction request was successfully executed, `false` otherwise"},"retained":{"type":"string","description":"if the payment method was set to be automatically retained on creation"},"payment_method":{"type":"object","description":"The payment method created as part of this transaction","properties":{"token":{"type":"string","description":"The token identifying the newly created payment method in the Spreedly vault"},"created_at":{"type":"string","description":"The time the payment method token was created"},"updated_at":{"type":"string","description":"The time the payment method token was last updated"},"email":{"type":"string","description":"The email address of the customer associated with this credit card"},"storage_state":{"type":"string","description":"The `storage_state` (retained, redacted, cached, used) of the payment method"},"test":{"type":"boolean","description":"`true` if this payment method is a test payment method and cannot be used against real gateways or receivers"},"metadata":{"type":"object","description":"metadata key-value pairs (limit 25). Keys are limited to 50 characters. Values are limited to 500 characters and cannot contain compounding data types"},"callback_url":{"type":"string","description":"The URL where Spreedly will attempt delivery of asynchronous results for 3DS and offsite transactions. Transaction results are posted in the format specified by `callback_format` if provided or XML if `callback_format` is not present or null. (default: `null`)"},"last_four_digits":{"type":"string","description":"The last four digits of the credit card number. This can be displayed to the user."},"first_six_digits":{"type":"string","description":"The first six digits of the credit card number. This can be displayed to the user."},"card_type":{"type":"string","description":"The [type](https://developer.spreedly.com/docs/supported-payment-methods), or brand, of the card. Please see the `card_type_mapping` function below for more detail."},"first_name":{"type":"string","description":"The first name of the cardholder"},"last_name":{"type":"string","description":"The last name of the cardholder"},"month":{"type":"string","description":"The expiration month"},"year":{"type":"string","description":"The expiration year"},"address1":{"type":"string","description":"The first line of the billing address"},"address2":{"type":"string","description":"The second line of the billing address"},"city":{"type":"string","description":"The city of the billing address"},"state":{"type":"string","description":"The state of the billing address"},"zip":{"type":"string","description":"The zip code of the billing address"},"country":{"type":"string","description":"The country code of the billing address"},"phone_number":{"type":"string","description":"The phone number of the billing address"},"company":{"type":"string","description":"The company of the cardholder"},"full_name":{"type":"string","description":"The full name of the cardholder."},"eligible_for_card_updater":{"type":"string","description":"`true` if this payment method should be included in Account Updater"},"shipping_address1":{"type":"string","description":"The first line of the shipping address"},"shipping_address2":{"type":"string","description":"The second line of the shipping address"},"shipping_city":{"type":"string","description":"The city of the shipping address"},"shipping_state":{"type":"string","description":"The state of the shipping address"},"shipping_zip":{"type":"string","description":"The zip code of the shipping address"},"shipping_country":{"type":"string","description":"The country code of the shipping address"},"issuer_identification_number":{"type":"string","description":"The numbers of the PAN required to identify the card issuer."},"click_to_pay":{"type":"string","description":"`true` if the card was tokenized using Click to Pay"},"managed":{"type":"string","description":"The value indicating the payment method's management status."},"payment_method_type":{"type":"string","description":"The type of this payment method, e.g., `credit_card`, `bank_account`, `apple_pay`, `google_pay`, `third_party_token`, etc…"},"errors":{"type":"string","description":"If the payment method is invalid (missing required fields, etc…), there will be associated error messages here"},"fingerprint":{"type":"string","description":"An identifying string that will match all cards in the environment with the same PAN"},"verification_value":{"type":"string","description":"The obscured verification value (CVV), e.g., XXX or XXXX"},"number":{"type":"string","description":"The obscured credit card number, e.g., XXXX-XXXX-XXXX-4444"},"subscribed_to_mastercard_abu":{"type":"boolean","example":false,"description":"`true` if this payment method is subscribed to Mastercard ABU updating service"},"last_successfully_used":{"type":"string","format":"date-time","nullable":true,"description":"The time (UTC) the payment method was last successfully transacted with. The following transaction types are considered: Authorization, Purchase, Verification, GeneralCredit, OffsiteVerification, or OffsitePurchase"}}},"network_tokenization":{"$ref":"#/components/schemas/network_tokenization"}}}}},"payment_methods_response":{"type":"object","properties":{"payment_methods":{"type":"array","description":"Root element","items":{"$ref":"#/components/schemas/payment_method"}}}},"list_events_response":{"type":"object","properties":{"events":{"type":"array","description":"Root element","items":{"$ref":"#/components/schemas/event_response"}}}},"payment_method_event_response":{"type":"object","properties":{"payment_method_event":{"$ref":"#/components/schemas/payment_method_event"}}},"payment_method_events_response":{"type":"object","properties":{"payment_method_events":{"type":"array","description":"Root element","items":{"$ref":"#/components/schemas/payment_method_event"}}}},"payment_method_event":{"type":"object","properties":{"token":{"type":"string","description":"The unique identifier for the payment method event"},"request_id":{"type":"string","description":"The unique identifier for the request that triggered this event"},"created_at":{"type":"string","description":"The time the event was created"},"payment_method_key":{"type":"string","description":"The token of the payment method associated with this event"},"event_type":{"type":"string","description":"The type of event that occurred, e.g., `UpdatePaymentMethod`, `RetainPaymentMethod`, `ReplacePaymentMethod`"},"event_data":{"type":"object","description":"Additional data specific to the event type"},"state":{"type":"string","description":"The resulting state of the event"},"message":{"type":"string","description":"A human-readable string indicating the result"}}},"payment":{"type":"object","description":"A payment represents a collection of transaction attempts made against one or more gateways in a [Recover transaction](https://developer.spreedly.com/docs/recover).","properties":{"token":{"type":"string","description":"The token uniquely identifying this payment at Spreedly"},"gateway_tokens":{"type":"array","description":"List of all gateway tokens on which the transaction could have been attempted","items":{"type":"string"}},"attempts":{"type":"integer","description":"Number of times the transaction was attempted."},"messages":{"type":"object","description":"Optional field used to communicate information about different Recover situations."},"mode":{"type":"string","description":"The Recover mode used, either `standard` or `outage_only`."},"custom_error_used":{"type":"boolean","description":"`true` if the transaction used a custom error in the Recover decision process."},"override_default_error_codes":{"type":"boolean","description":"`true` if the custom error configuration was used instead of Spreedly's default error configuration."},"created_at":{"type":"string","description":"The time the payment was created."},"updated_at":{"type":"string","description":"The time the payment was last updated."},"stats":{"type":"object","description":"Statistics about the payment attempts. Populated on [Composer transactions utilizing Recover](https://developer.spreedly.com/docs/recover-user-guide).","properties":{"pan_retry_attempts":{"type":"integer","description":"Number of PAN retry attempts."},"recover_attempts":{"type":"integer","description":"Number of Recover attempts (non PAN retry attempts)."},"total_attempts":{"type":"integer","description":"Total number of overall transaction attempts (the initial transaction, plus all Recover attempts)."}}},"transactions":{"type":"array","description":"An array containing each transaction associated with this Recover attempt.","items":{"$ref":"#/components/schemas/purchase_parameters"}}}},"payment_show_response":{"type":"object","properties":{"payment":{"$ref":"#/components/schemas/payment"}}},"store":{"type":"object","properties":{"transaction":{"type":"object","description":"Root request element","properties":{"payment_method_token":{"type":"string","description":"The token of the payment method to copy to the gateway"},"sub_merchant_key":{"type":"string","description":"The token of the [sub-merchant](https://developer.spreedly.com/reference/create-sub-merchant) to associate with the current transaction. If an invalid `sub_merchant_key` is passed through, the value defaults to `null`"},"currency_code":{"type":"string","description":"The currency of the funds, as [ISO 4217 alpha currency codes](https://en.wikipedia.org/wiki/ISO_4217#Active_codes), e.g., `USD` for US dollars. Some gateways may need this for a store call but most do not."}},"required":["payment_method_token"]}}},"store_response":{"type":"object","properties":{"transaction":{"type":"object","description":"Root element","properties":{"created_at":{"type":"string","description":"The time the transaction was created"},"currency_code":{"type":"string","description":"The currency of the funds, as [ISO 4217 alpha currency codes](https://en.wikipedia.org/wiki/ISO_4217#Active_codes), e.g., `USD` for US dollars."},"updated_at":{"type":"string","description":"The time the transaction was last updated"},"succeeded":{"type":"boolean","description":"`true` if the transaction request was successfully executed, `false` otherwise"},"token":{"type":"string","description":"The token uniquely identifying this transaction at Spreedly"},"state":{"type":"string","description":"The current state of the transaction"},"gateway_specific_fields":{"$ref":"#/components/schemas/gateway_specific_fields"},"gateway_specific_response_fields":{"type":"object","description":"A hash containing unique optional fields that a gateway may return based on certain customized options."},"transaction_type":{"type":"string","description":"The type of transaction"},"third_party_token":{"type":"string","description":"The token identifying the payment method as it exists *at the gateway*"},"gateway_transaction_id":{"type":"string","description":"The id of the transaction *at the gateway*. To be used when corresponding with the gateway or reconciling transactions"},"gateway_latency_ms":{"type":"string","description":"The time it took the gateway to respond to Spreedly"},"message_key":{"type":"string","description":"A machine-parseable string indicating the result of the transaction"},"message":{"type":"string","description":"A human-readable string indicating the result of the transaction"},"gateway_token":{"type":"string","description":"The token of the gateway to executed against"},"gateway_type":{"type":"string","description":"The type (short name) of the gateway"},"payment_method":{"$ref":"#/components/schemas/third_party_token"},"basis_payment_method":{"type":"object","description":"The payment method vaulted at Spreedly that was copied to the gateway as part of this transaction"},"response":{"type":"object","description":"Unmodified details of the gateway response, including the `message` and `error_code`, if applicable. For failed transactions these fields can help determine the root cause"},"sub_merchant_key":{"type":"string","description":"The token of the sub-merchant associated with the transaction."}}}}},"verify_composer":{"type":"object","properties":{"transaction":{"type":"object","description":"Root request element","properties":{"order_id":{"type":"string","description":"The merchant specified order id. If not provided, the Spreedly transaction token will be used."},"description":{"type":"string","description":"A human readable description of the transaction which will be passed to the gateway if it's supported"},"retain_on_success":{"type":"string","description":"If the card is verified, retain it so it can be used for future transactions"},"ip":{"type":"string","description":"The IP address of the end-user customer. If one is not provided, this will default to `127.0.0.1`. To actually send a `nil` value, this parameter must be set to \"omit\"."},"browser_info":{"type":"string","description":"Please refer to our [Spreedly 3DS2 Global Integration Guide for Web](https://developer.spreedly.com/docs/3ds2-global-integration-guide-web), to learn how to include our `Lifecycle.js` library and gather the browser info data using `Spreedly.ThreeDS.serialize` method."},"email":{"type":"string","description":"Override the customer email address associated with the payment method for this transaction"},"gateway_specific_fields":{"type":"object","description":"Unique optional fields that a gateway may require for certain customized options. To send a GSF it should be nested under `gateway_specific_fields` and under the gateway's name, i.e. `gateway_type`. Please refer to [using a payment method](https://developer.spreedly.com/docs/using-payment-methods#gateway-specific-fields) for more info."},"stored_credential_initiator":{"type":"string","description":"Who is initiating this request, `merchant` or `cardholder`"},"stored_credential_reason_type":{"type":"string","description":"What kind of transaction is the payment method being used for. e.g. `recurring`, `unscheduled`, or `installment`"},"sub_merchant_key":{"type":"string","description":"The token of the [sub-merchant](https://developer.spreedly.com/reference/create-sub-merchant) to associate with the current transaction. If an invalid `sub_merchant_key` is passed through, the value defaults to `null`"},"sca_provider_key":{"type":"string","description":"[SCA Provider](https://developer.spreedly.com/reference/create-sca-provider) token that performs a Spreedly 3DS2 Global authentication before attempting the gateway transaction. Please see our [Spreedly 3DS2 Global Guide](https://developer.spreedly.com/docs/spreedly-3ds2-global-guide) for more info."},"sca_authentication_parameters":{"type":"object","description":"Additional fields that are accepted by the Sca Authentication, including a `test_scenario` object to indicate valid 3DS2 test flow options and an `exemption_type` field to request an exemption. Please refer to our [3DS2 Global Guide](https://developer.spreedly.com/docs/spreedly-3ds2-global-guide) to learn more.","properties":{"three_ds_requestor_challenge_ind":{"type":"string","description":"Indicates whether a challenge is being requested for a 3DS2 Global transaction."},"test_scenario":{"type":"boolean","description":"`true` if this is a test scenario"},"exemption_type":{"type":"array","description":"Type of exemption request to reduce likelihood of a transaction being challenged. The two exemptions currently supported are `low_value_exemption` and `transaction_risk_analysis_exemption`. See our [exemption guide](https://developer.spreedly.com/docs/spreedly-3ds2-global-guide#requesting-exemptions) to learn more"},"acquiring_bank_fraud_rate":{"type":"string","description":"Additional field required if requesting a `transaction_risk_analysis_exemption` that details threshold for bank fraud rate. See our [exemption guide](https://developer.spreedly.com/docs/spreedly-3ds2-global-guide#requesting-exemptions) to learn more"}}},"callback_url":{"type":"string","description":"The URL where Spreedly will attempt delivery of asynchronous results for 3DS and offsite transactions. Transaction results are posted in the format specified by `callback_format` if provided or XML if `callback_format` is not present or null. (default: `null`)"},"callback_format":{"type":"string","description":"The format in which Spreedly will deliver asynchronous results for 3DS and offsite transactions to the specified `callback_url`. If provided, the value must be one of `json` or `xml`. (default: `xml`)"},"shipping_address":{"type":"object","description":"Override the customer shipping address associated with the payment method for this transaction","properties":{"name":{"type":"string","description":"Customer's name in the shipping address"},"address1":{"type":"string","description":"Customer's shipping address, line 1"},"address2":{"type":"string","description":"Customer's shipping address, line 2"},"city":{"type":"string","description":"Customer's shipping city"},"state":{"type":"string","description":"Customer's shipping state/province"},"zip":{"type":"string","description":"Customer's shipping zip"},"country":{"type":"string","description":"Customer's shipping country"},"phone_number":{"type":"string","description":"Customer's shipping phone"}}},"billing_address":{"type":"object","description":"Override the customer billing address associated with the payment method for this transaction. To send a nil value, the respective parameter(s) must be set to \"omit\". Note: Any values that you do not override will be set based on the existing value on the payment method.","properties":{"name":{"type":"string","description":"Customer's name in the billing address"},"address1":{"type":"string","description":"Customer's billing address, line 1"},"address2":{"type":"string","description":"Customer's billing address, line 2"},"city":{"type":"string","description":"Customer's billing city"},"state":{"type":"string","description":"Customer's billing state/province"},"zip":{"type":"string","description":"Customer's billing zip"},"country":{"type":"string","description":"Customer's billing country"},"phone_number":{"type":"string","description":"Customer's billing phone"}}},"ignore_failed_authentication_result":{"type":"string","description":"Complete 3DS2 Global transaction when authentication fails."},"workflow_key":{"type":"string","description":"The key of the Spreedly workflow to use for this transaction. Spreedly will use the environment's default workflow_key if no value is provided. Only available via composer on the /transactions resource."},"order_data":{"type":"object","description":"Optional fields related to the order that are to be passed to the gateway if the gateway supports it. Please see our [normalized request guide](https://developer.spreedly.com/docs/normalized-request-and-response-fields) for more info. Only available via composer on the /transactions resource."},"customer_data":{"type":"object","description":"Optional fields related to the cardholder that are to be passed to the gateway if the gateway supports it. Please see our [normalized request guide](https://developer.spreedly.com/docs/normalized-request-and-response-fields) for more info. Only available via composer on the /transactions resource."},"risk_data":{"type":"object","description":"Optional fields related to risk data that are to be passed to the gateway if the gateway supports it. Please see our [normalized request guide](https://developer.spreedly.com/docs/normalized-request-and-response-fields) for more info. Only available via composer on the /transactions resource."},"merchant_metadata":{"type":"object","description":"Optional fields related to the merchant that are to be passed to the gateway if the gateway supports it. Please see our [normalized request guide](https://developer.spreedly.com/docs/normalized-request-and-response-fields) for more info. Only available via composer on the /transactions resource."},"payment_method_token":{"type":"string","description":"The token of the payment method to use"},"credit_card":{"$ref":"#/components/schemas/credit_card"},"bank_account":{"$ref":"#/components/schemas/bank_account"},"apple_pay":{"$ref":"#/components/schemas/apple_pay"},"google_pay":{"$ref":"#/components/schemas/google_pay"},"sca_authentication_token":{"type":"string","description":"The token received in response body of SCA Authenticate endpoint when performing an SCA Authentication on a specified payment method. See [instructions to obtain](https://developer.spreedly.com/docs/3ds-solutions#how-to-utilize-your-sca-provider-key)"}}}}},"verify_composer_response":{"type":"object","properties":{"transaction":{"$ref":"#/components/schemas/verify_parameters"}}},"verify_parameters":{"type":"object","description":"Root element","properties":{"on_test_gateway":{"type":"string","description":"`true` if the transaction took place on a test gateway"},"created_at":{"type":"string","description":"The time the purchase token was created"},"updated_at":{"type":"string","description":"The time the purchase token was last updated"},"succeeded":{"type":"boolean","description":"`true` if the transaction request was successfully executed, `false` otherwise"},"state":{"type":"string","description":"The current state of the transaction"},"token":{"type":"string","description":"The token uniquely identifying this transaction at Spreedly"},"transaction_type":{"type":"string","description":"The type of transaction, e.g., Authorization, Capture, Credit"},"order_id":{"type":"string","description":"The merchant specified order id. If not provided, the Spreedly transaction token will be used."},"ip":{"type":"string","description":"The IP address of the end-user customer. If one is not provided, this will default to `127.0.0.1`. To actually send a `nil` value, this parameter must be set to \"omit\"."},"description":{"type":"string","description":"A human readable description of the transaction which will be passed to the gateway if it's supported"},"email":{"type":"string","description":"Override the customer email address associated with the payment method for this transaction"},"merchant_name_descriptor":{"type":"string","description":"A human readable description of the merchant"},"merchant_location_descriptor":{"type":"string","description":"A human readable description of the merchant location"},"merchant_profile_key":{"type":"string","description":"The token of the Merchant Profile associated with the gateway used for the transaction"},"gateway_specific_fields":{"$ref":"#/components/schemas/gateway_specific_fields"},"gateway_specific_response_fields":{"type":"object","description":"A hash containing unique optional fields that a gateway may return based on certain customized options."},"gateway_transaction_id":{"type":"string","description":"The id of the transaction *at the gateway*. To be used when corresponding with the gateway or reconciling transactions"},"sub_merchant_key":{"type":"string","description":"The token of the sub-merchant associated with the transaction."},"gateway_latency_ms":{"type":"string","description":"The time it took the gateway to respond to Spreedly"},"warning":{"type":"string","description":"Provides a human readable warning message if passed back by the gateway"},"application_id":{"type":"string","description":"Customer provided application_id"},"retain_on_success":{"type":"boolean","description":"If the payment method was set to be retained on successful completion of the transaction. To determine if the payment method was actually retained, see the `payment_method/storage_state` field"},"payment_method_added":{"type":"string","description":"If the payment method was added as part of this transaction (i.e. a direct pass-in of the payment information) vs. using an already tokenized payment method"},"stored_credential_initiator":{"type":"string","description":"Who is initiating this request, `merchant` or `cardholder`"},"stored_credential_reason_type":{"type":"string","description":"What kind of transaction is the payment method being used for. e.g. `recurring`, `unscheduled`, or `installment`"},"message_key":{"type":"string","description":"A machine-parseable string indicating the result of the transaction"},"message":{"type":"string","description":"A human-readable string indicating the result of the transaction"},"gateway_token":{"type":"string","description":"The token of the gateway to executed against"},"gateway_type":{"type":"string","description":"The type (short name) of the gateway"},"response":{"type":"object","description":"Unmodified details of the gateway response, including the `message` and `error_code`, if applicable. For failed transactions these fields can help determine the root cause"},"shipping_address":{"type":"object","description":"Override the customer shipping address associated with the payment method for this transaction"},"attempt_3dsecure":{"type":"string","description":"`true` if 3dsecure transaction was attempted"},"payment_method":{"type":"object","description":"The payment method used in this transaction"},"workflow_key":{"type":"string","description":"The key of the Spreedly workflow to use for this transaction. Spreedly will use the environment's default workflow_key if no value is provided. Only available via composer on the /transactions resource."},"order_data":{"type":"object","description":"Optional fields related to the order that are to be passed to the gateway if the gateway supports it. Please see our [normalized request guide](https://developer.spreedly.com/docs/normalized-request-and-response-fields) for more info. Only available via composer on the /transactions resource."},"customer_data":{"type":"object","description":"Optional fields related to the cardholder that are to be passed to the gateway if the gateway supports it. Please see our [normalized request guide](https://developer.spreedly.com/docs/normalized-request-and-response-fields) for more info. Only available via composer on the /transactions resource."},"risk_data":{"type":"object","description":"Optional fields related to risk data that are to be passed to the gateway if the gateway supports it. Please see our [normalized request guide](https://developer.spreedly.com/docs/normalized-request-and-response-fields) for more info. Only available via composer on the /transactions resource."},"merchant_metadata":{"type":"object","description":"Optional fields related to the merchant that are to be passed to the gateway if the gateway supports it. Please see our [normalized request guide](https://developer.spreedly.com/docs/normalized-request-and-response-fields) for more info. Only available via composer on the /transactions resource."},"gateway_response":{"type":"object","description":"A hash containing normalized fields from various gateways. Please see our [normalized response field documentation](https://developer.spreedly.com/docs/normalized-request-and-response-fields#response-fields) for more info. Only available via composer on the /transactions resource."},"pan_retry":{"type":"boolean","description":"`true` if the transaction is a retry that uses PAN after a failed attempt with a network token. Only available via composer on the /transactions resource."},"payment_snapshot":{"$ref":"#/components/schemas/payment_snapshot"}}},"purchase_request":{"type":"object","properties":{"amount":{"type":"integer","description":"The amount to request, as an integer. E.g., `1000` for $10.00."},"currency_code":{"type":"string","description":"The currency of the funds, as [ISO 4217 alpha currency codes](https://en.wikipedia.org/wiki/ISO_4217#Active_codes), e.g., `USD` for US dollars."},"order_id":{"type":"string","description":"The merchant specified order id. If not provided, the Spreedly transaction token will be used."},"description":{"type":"string","description":"A human readable description of the transaction which will be passed to the gateway if it's supported"},"retain_on_success":{"type":"string","description":"If the card is verified, retain it so it can be used for future transactions"},"ip":{"type":"string","description":"The IP address of the end-user customer. If one is not provided, this will default to `127.0.0.1`. To actually send a `nil` value, this parameter must be set to \"omit\"."},"browser_info":{"type":"string","description":"Please refer to our [Spreedly 3DS2 Global Integration Guide for Web](https://developer.spreedly.com/docs/3ds2-global-integration-guide-web), to learn how to include our `Lifecycle.js` library and gather the browser info data using `Spreedly.ThreeDS.serialize` method."},"email":{"type":"string","description":"Override the customer email address associated with the payment method for this transaction"},"gateway_specific_fields":{"type":"object","description":"Unique optional fields that a gateway may require for certain customized options. To send a GSF it should be nested under `gateway_specific_fields` and under the gateway's name, i.e. `gateway_type`. Please refer to [using a payment method](https://developer.spreedly.com/docs/using-payment-methods#gateway-specific-fields) for more info."},"stored_credential_initiator":{"type":"string","description":"Who is initiating this request, `merchant` or `cardholder`"},"stored_credential_reason_type":{"type":"string","description":"What kind of transaction is the payment method being used for. e.g. `recurring`, `unscheduled`, or `installment`"},"sub_merchant_key":{"type":"string","description":"The token of the [sub-merchant](https://developer.spreedly.com/reference/create-sub-merchant) to associate with the current transaction. If an invalid `sub_merchant_key` is passed through, the value defaults to `null`"},"sca_provider_key":{"type":"string","description":"[SCA Provider](https://developer.spreedly.com/reference/create-sca-provider) token that performs a Spreedly 3DS2 Global authentication before attempting the gateway transaction. Please see our [Spreedly 3DS2 Global Guide](https://developer.spreedly.com/docs/spreedly-3ds2-global-guide) for more info."},"sca_authentication_parameters":{"type":"object","description":"Additional fields that are accepted by the Sca Authentication, including a `test_scenario` object to indicate valid 3DS2 test flow options and an `exemption_type` field to request an exemption. Please refer to our [3DS2 Global Guide](https://developer.spreedly.com/docs/spreedly-3ds2-global-guide) to learn more.","properties":{"three_ds_requestor_challenge_ind":{"type":"string","description":"Indicates whether a challenge is being requested for a 3DS2 Global transaction."},"test_scenario":{"type":"boolean","description":"`true` if this is a test scenario"},"exemption_type":{"type":"array","description":"Type of exemption request to reduce likelihood of a transaction being challenged. The two exemptions currently supported are `low_value_exemption` and `transaction_risk_analysis_exemption`. See our [exemption guide](https://developer.spreedly.com/docs/spreedly-3ds2-global-guide#requesting-exemptions) to learn more"},"acquiring_bank_fraud_rate":{"type":"string","description":"Additional field required if requesting a `transaction_risk_analysis_exemption` that details threshold for bank fraud rate. See our [exemption guide](https://developer.spreedly.com/docs/spreedly-3ds2-global-guide#requesting-exemptions) to learn more"}}},"callback_url":{"type":"string","description":"The URL where Spreedly will attempt delivery of asynchronous results for 3DS and offsite transactions. Transaction results are posted in the format specified by `callback_format` if provided or XML if `callback_format` is not present or null. (default: `null`)"},"callback_format":{"type":"string","description":"The format in which Spreedly will deliver asynchronous results for 3DS and offsite transactions to the specified `callback_url`. If provided, the value must be one of `json` or `xml`. (default: `xml`)"},"shipping_address":{"type":"object","description":"Override the customer shipping address associated with the payment method for this transaction","properties":{"name":{"type":"string","description":"Customer's name in the shipping address"},"address1":{"type":"string","description":"Customer's shipping address, line 1"},"address2":{"type":"string","description":"Customer's shipping address, line 2"},"city":{"type":"string","description":"Customer's shipping city"},"state":{"type":"string","description":"Customer's shipping state/province"},"zip":{"type":"string","description":"Customer's shipping zip"},"country":{"type":"string","description":"Customer's shipping country"},"phone_number":{"type":"string","description":"Customer's shipping phone"}}},"billing_address":{"type":"object","description":"Override the customer billing address associated with the payment method for this transaction. To send a nil value, the respective parameter(s) must be set to \"omit\". Note: Any values that you do not override will be set based on the existing value on the payment method.","properties":{"name":{"type":"string","description":"Customer's name in the billing address"},"address1":{"type":"string","description":"Customer's billing address, line 1"},"address2":{"type":"string","description":"Customer's billing address, line 2"},"city":{"type":"string","description":"Customer's billing city"},"state":{"type":"string","description":"Customer's billing state/province"},"zip":{"type":"string","description":"Customer's billing zip"},"country":{"type":"string","description":"Customer's billing country"},"phone_number":{"type":"string","description":"Customer's billing phone"}}},"ignore_failed_authentication_result":{"type":"string","description":"Complete 3DS2 Global transaction when authentication fails."},"workflow_key":{"type":"string","description":"The key of the Spreedly workflow to use for this transaction. Spreedly will use the environment's default workflow_key if no value is provided. Only available via composer on the /transactions resource."},"order_data":{"type":"object","description":"Optional fields related to the order that are to be passed to the gateway if the gateway supports it. Please see our [normalized request guide](https://developer.spreedly.com/docs/normalized-request-and-response-fields) for more info. Only available via composer on the /transactions resource."},"customer_data":{"type":"object","description":"Optional fields related to the cardholder that are to be passed to the gateway if the gateway supports it. Please see our [normalized request guide](https://developer.spreedly.com/docs/normalized-request-and-response-fields) for more info. Only available via composer on the /transactions resource."},"risk_data":{"type":"object","description":"Optional fields related to risk data that are to be passed to the gateway if the gateway supports it. Please see our [normalized request guide](https://developer.spreedly.com/docs/normalized-request-and-response-fields) for more info. Only available via composer on the /transactions resource."},"merchant_metadata":{"type":"object","description":"Optional fields related to the merchant that are to be passed to the gateway if the gateway supports it. Please see our [normalized request guide](https://developer.spreedly.com/docs/normalized-request-and-response-fields) for more info. Only available via composer on the /transactions resource."},"payment_method_token":{"type":"string","description":"The token of the payment method to use"},"attempt_network_token":{"type":"boolean","description":"`true` if this transaction should use a network token if able. `false` or omit this element to not use a network token for this transaction. Please see our [network tokenization guide](https://developer.spreedly.com/docs/network-tokenization#transacting-with-network-tokens) for more details on Network Token logic checks."},"provision_network_token":{"$ref":"#/components/schemas/provision_network_token"},"credit_card":{"$ref":"#/components/schemas/credit_card"},"bank_account":{"$ref":"#/components/schemas/bank_account"},"apple_pay":{"$ref":"#/components/schemas/apple_pay"},"google_pay":{"$ref":"#/components/schemas/google_pay"},"sca_authentication_token":{"type":"string","description":"The token received in response body of SCA Authenticate endpoint when performing an SCA Authentication on a specified payment method. See [instructions to obtain](https://developer.spreedly.com/docs/3ds-solutions#how-to-utilize-your-sca-provider-key)"},"retry":{"$ref":"#/components/schemas/recover_params"},"protection_provider_key":{"type":"string","description":"The token of the [Protection Provider](https://developer.spreedly.com/reference/create-protection-provider). Triggers a protection check."},"protection_parameters":{"$ref":"#/components/schemas/protection_parameters"},"allow_blank_name":{"type":"boolean","description":"`true` if this payment method should skip the name validation requirement during Pass-in Credit Card transactions"},"allow_expired_date":{"type":"boolean","description":"`true` if this payment method should skip the expired date validation requirement during Pass-in Credit Card transactions"},"allow_blank_date":{"type":"boolean","description":"`true` if this payment method should skip the expiration date validation requirement during Pass-in Credit Card transactions"}}},"purchase":{"type":"object","properties":{"transaction":{"type":"object","description":"Root request element","allOf":[{"$ref":"#/components/schemas/purchase_request"},{"required":["amount","currency_code"]}]}}},"purchase_via_reference":{"type":"object","properties":{"transaction":{"type":"object","description":"Root request element","allOf":[{"$ref":"#/components/schemas/purchase_request"},{"required":["amount"]}]}}},"purchase_response":{"type":"object","properties":{"transaction":{"allOf":[{"$ref":"#/components/schemas/purchase_parameters"},{"type":"object","properties":{"network_tokenization":{"$ref":"#/components/schemas/network_tokenization"}}}]}}},"threeds_purchase_response":{"type":"object","properties":{"transaction":{"allOf":[{"$ref":"#/components/schemas/purchase_parameters"},{"type":"object","properties":{"required_action":{"type":"string","description":"The required action in the 3DS 2 flow, e.g., none, device_fingerprint, challenge, etc"}}}]}}},"update_transaction_response":{"type":"object","properties":{"transaction":{"allOf":[{"$ref":"#/components/schemas/transaction_core_parameters"},{"type":"object","properties":{"original_transaction_updated":{"type":"boolean","description":"`true` if the transaction was updated in the request"}}}]}}},"transaction_core_parameters":{"type":"object","properties":{"token":{"type":"string","description":"The token uniquely identifying this transaction at Spreedly"},"succeeded":{"type":"boolean","description":"`true` if the transaction request was successfully executed, `false` otherwise"},"message":{"type":"string","description":"A human-readable string indicating the result of the transaction"},"gateway_transaction_id":{"type":"string","description":"The id of the transaction at the gateway. To be used when corresponding with the gateway or reconciling transactions"},"retain_on_success":{"type":"boolean","description":"If the payment method was set to be retained on successful completion of the transaction. To determine if the payment method was actually retained, see the `payment_method/storage_state` field"},"payment_method_added":{"type":"string","description":"If the payment method was added as part of this transaction (i.e. a direct pass-in of the payment information) vs. using an already tokenized payment method"},"response":{"type":"object","description":"Unmodified details of the gateway response, including the `message` and `error_code`, if applicable. For failed transactions these fields can help determine the root cause"},"payment_method":{"$ref":"#/components/schemas/payment_method"},"merchant_profile_key":{"type":"string","description":"The token of the Merchant Profile associated with the gateway used for the transaction"},"sub_merchant_key":{"type":"string","description":"The token of the sub-merchant associated with the transaction."},"gateway_specific_response_fields":{"type":"object","description":"A hash containing unique optional fields that a gateway may return based on certain customized options."},"transaction_metadata":{"type":"object","description":"The hash of key/value pairs that was included in the transaction request body."},"sca_authentication":{"type":"string","description":"The details of the SCA Authentication transaction created if performing a Spreedly Global 3DS2 transaction. See the [SCA Authentication Show](https://developer.spreedly.com/reference/authenticate) details for more information on this object."},"payment_snapshot":{"$ref":"#/components/schemas/payment_snapshot"},"protection_provider_key":{"type":"string","description":"The token of the Protection Provider that was used for this transaction."},"protection_parameters":{"$ref":"#/components/schemas/protection_parameters"}}},"purchase_parameters":{"type":"object","allOf":[{"$ref":"#/components/schemas/transaction_core_parameters"},{"type":"object","properties":{"order_id":{"type":"string","description":"The merchant specified order id. If not provided, the Spreedly transaction token will be used."},"ip":{"type":"string","description":"The IP address of the end-user customer. If one is not provided, this will default to `127.0.0.1`. To actually send a `nil` value, this parameter must be set to \"omit\"."},"description":{"type":"string","description":"A human readable description of the transaction which will be passed to the gateway if it's supported"},"email":{"type":"string","description":"Override the customer email address associated with the payment method for this transaction"},"merchant_name_descriptor":{"type":"string","description":"A human readable description of the merchant"},"merchant_location_descriptor":{"type":"string","description":"A human readable description of the merchant location"},"merchant_profile_key":{"type":"string","description":"The token of the Merchant Profile associated with the gateway used for the transaction"},"gateway_specific_fields":{"$ref":"#/components/schemas/gateway_specific_fields"},"gateway_specific_response_fields":{"type":"object","description":"A hash containing unique optional fields that a gateway may return based on certain customized options."},"gateway_transaction_id":{"type":"string","description":"The id of the transaction *at the gateway*. To be used when corresponding with the gateway or reconciling transactions"},"sub_merchant_key":{"type":"string","description":"The token of the sub-merchant associated with the transaction."},"gateway_latency_ms":{"type":"string","description":"The time it took the gateway to respond to Spreedly"},"warning":{"type":"string","description":"Provides a human readable warning message if passed back by the gateway"},"application_id":{"type":"string","description":"Customer provided application_id"},"amount":{"type":"integer","description":"The amount to request, as an integer. E.g., `1000` for $10.00."},"local_amount":{"type":"string","description":"The amount to request, as an integer. E.g., `1000` for $10.00."},"currency_code":{"type":"string","description":"The currency of the funds, as [ISO 4217 alpha currency codes](https://en.wikipedia.org/wiki/ISO_4217#Active_codes), e.g., `USD` for US dollars."},"retain_on_success":{"type":"boolean","description":"If the payment method was set to be retained on successful completion of the transaction. To determine if the payment method was actually retained, see the `payment_method/storage_state` field"},"payment_method_added":{"type":"string","description":"If the payment method was added as part of this transaction (i.e. a direct pass-in of the payment information) vs. using an already tokenized payment method"},"stored_credential_initiator":{"type":"string","description":"Who is initiating this request, `merchant` or `cardholder`"},"stored_credential_reason_type":{"type":"string","description":"What kind of transaction is the payment method being used for. e.g. `recurring`, `unscheduled`, or `installment`"},"response":{"type":"object","description":"Unmodified details of the gateway response, including the `message` and `error_code`, if applicable. For failed transactions these fields can help determine the root cause"},"shipping_address":{"type":"object","description":"Override the customer shipping address associated with the payment method for this transaction"},"api_urls":{"type":"array","description":"An array of objects describing related APIs"},"attempt_3dsecure":{"type":"string","description":"`true` if 3dsecure transaction was attempted"},"payment_method":{"type":"object","description":"The payment method used in this transaction"},"workflow_key":{"type":"string","description":"The key of the Spreedly workflow to use for this transaction. Spreedly will use the environment's default workflow_key if no value is provided. Only available via composer on the /transactions resource."},"order_data":{"type":"object","description":"Optional fields related to the order that are to be passed to the gateway if the gateway supports it. Please see our [normalized request guide](https://developer.spreedly.com/docs/normalized-request-and-response-fields) for more info. Only available via composer on the /transactions resource."},"customer_data":{"type":"object","description":"Optional fields related to the cardholder that are to be passed to the gateway if the gateway supports it. Please see our [normalized request guide](https://developer.spreedly.com/docs/normalized-request-and-response-fields) for more info. Only available via composer on the /transactions resource."},"risk_data":{"type":"object","description":"Optional fields related to risk data that are to be passed to the gateway if the gateway supports it. Please see our [normalized request guide](https://developer.spreedly.com/docs/normalized-request-and-response-fields) for more info. Only available via composer on the /transactions resource."},"merchant_metadata":{"type":"object","description":"Optional fields related to the merchant that are to be passed to the gateway if the gateway supports it. Please see our [normalized request guide](https://developer.spreedly.com/docs/normalized-request-and-response-fields) for more info. Only available via composer on the /transactions resource."},"gateway_response":{"type":"object","description":"A hash containing normalized fields from various gateways. Please see our [normalized response field documentation](https://developer.spreedly.com/docs/normalized-request-and-response-fields#response-fields) for more info. Only available via composer on the /transactions resource."},"pan_retry":{"type":"boolean","description":"`true` if the transaction is a retry that uses PAN after a failed attempt with a network token. Only available via composer on the /transactions resource."},"payment_snapshot":{"$ref":"#/components/schemas/payment_snapshot"},"protection_provider_key":{"type":"string","description":"The token of the Protection Provider that was used for this transaction."},"protection_parameters":{"$ref":"#/components/schemas/protection_parameters"},"protect_fraud_check":{"$ref":"#/components/schemas/protect_fraud_check_response"}}}]},"recover_params":{"type":"object","description":"When attempting Recover, the following parameters may be used. For more information on Recover, see [the guide](https://developer.spreedly.com/docs/recover).","properties":{"gateway_tokens":{"type":"array","description":"List of all Recover gateway tokens on which a failed transaction could be attempted.","items":{"type":"string"}},"mode":{"type":"string","description":"The Recover mode to use, either `standard` or `outage_only`. Default is `standard`."},"custom_errors":{"type":"object","description":"Field to use custom error codes when using Recover. See [the guide](https://developer.spreedly.com/docs/recover#how-to-use-custom-error-codes) for more information.","properties":{"error_codes":{"type":"array","description":"List of custom error codes to use instead of/in addition to Spreedly designated codes.","items":{"type":"string"}},"messages":{"type":"array","description":"List of custom error messages to use instead of/in addition to Spreedly designated codes.","items":{"type":"string"}},"additional_data":{"type":"array","description":"List of custom additional data to use instead of/in addition to Spreedly designated codes.","items":{"type":"string"}},"override_default_error_codes":{"type":"boolean","description":"`true` to use the customer errors instead of, or `false` to use in addition to, Spreedly's default error configuration. Default is `true`."}}}},"required":["gateway_tokens"]},"payment_snapshot":{"type":"object","description":"When Recover is attempted, provides an overview of the results at the time of the current transaction. For more information on Recover, see [the guide](https://developer.spreedly.com/docs/recover).","properties":{"gateway_tokens":{"type":"array","description":"List of all gateway tokens on which the transaction could be attempted. Includes the primary gateway token and all Recover gateway tokens.","items":{"type":"string"}},"attempts":{"type":"integer","description":"Number of times the transaction has been attempted."},"messages":{"type":"object","description":"Optional field used to communicate information about different Recover situations, for example, falling back to outage only mode if a gateway is primary gateway is unsupported."},"mode":{"type":"string","description":"The Recover mode used, either `standard` or `outage_only`."},"custom_error_used":{"type":"boolean","description":"`true` if the transaction used a custom error in the recovery decision process."},"override_default_error_codes":{"type":"boolean","description":"`true` if the custom error configuration was used instead of Spreedly's default error configuration."},"created_at":{"type":"string","description":"The time the payment_snapshot was created."},"updated_at":{"type":"string","description":"The time the payment_snapshot was updated."},"payment_token":{"type":"string","description":"The token corresponding to the Payment object, containing all information about the Recover chain."},"previous_transaction_tokens":{"type":"array","description":"List of all previous transactions associated with the Recover attempt.","items":{"type":"string"}}}},"third_party_token":{"type":"object","properties":{"token":{"type":"string","description":"The Spreedly payment method token that references the payment method stored at the gateway"},"created_at":{"type":"string","description":"The time the payment_method was created"},"updated_at":{"type":"string","description":"The time the payment_method was last updated"},"gateway_type":{"type":"string","description":"The type (short name) of the gateway."},"storage_state":{"type":"string","description":"The `storage_state` (retained, redacted, cached, used) of the payment method"},"metadata":{"type":"object","description":"Metadata key-value pairs"},"third_party_token":{"type":"string","description":"The token identifying the payment method as it exists *at the gateway*"},"payment_method_type":{"type":"string","description":"The type of this payment method"}}},"credit_partial_request":{"type":"object","description":"Credit partial amount","properties":{"transaction":{"type":"object","properties":{"amount":{"type":"integer","description":"The amount to refund, as an integer. E.g., `1000`` for $10.00. If not provided, the full amount of the original purchase will be refunded."},"currency_code":{"type":"string","description":"The currency of the funds, as [ISO 4217 alpha currency codes](https://en.wikipedia.org/wiki/ISO_4217#Active_codes), e.g., `USD` for US dollars."}}}}},"general_credit_request":{"type":"object","description":"General credit request","properties":{"transaction":{"type":"object","properties":{"payment_method_token":{"type":"string","description":"The token of the payment method to use"},"amount":{"type":"integer","description":"The amount to request, as an integer. E.g., `1000` for $10.00."},"currency_code":{"type":"string","description":"The currency of the funds, as [ISO 4217 alpha currency codes](https://en.wikipedia.org/wiki/ISO_4217#Active_codes), e.g., `USD` for US dollars."},"order_id":{"type":"string","description":"The merchant specified order id. If not provided, the Spreedly transaction token will be used."},"description":{"type":"string","description":"A human readable description of the transaction which will be passed to the gateway if it's supported"},"continue_on_failure":{"type":"boolean","description":"A boolean option to keep the cvv cached for a few minutes. Otherwise cvv is deleted immediately."},"ip":{"type":"string","description":"The IP address of the end-user customer."},"email":{"type":"string","description":"Override the customer email address associated with the payment method for this transaction"},"sub_merchant_key":{"type":"string","description":"The token of the [sub-merchant](https://developer.spreedly.com/reference/create-sub-merchant) to associate with the current transaction. If an invalid `sub_merchant_key` is passed through, the value defaults to `null`"}},"required":["payment_method_token","amount","currency_code"]}}},"credit_card":{"type":"object","description":"Credit card element","properties":{"first_name":{"type":"string","description":"The first name of the cardholder"},"last_name":{"type":"string","description":"The last name of the cardholder"},"full_name":{"type":"string","description":"The full name of the cardholder. If provided, `full_name` will be parsed to determine `first_name` and `last_name`. If “full_name” is entered with only a single name, “first_name” will be populated with “Not Provided” and “last_name” will be populated with the provided name."},"number":{"type":"string","description":"The full card number"},"verification_value":{"type":"string","description":"The verification value (CVV/CVC) of the card"},"month":{"type":"string","description":"The expiration month of the card"},"year":{"type":"string","description":"The 4 digit expiration year of the card"},"company":{"type":"string","description":"The company name associated with the credit card"},"address1":{"type":"string","description":"The first line of the billing address"},"address2":{"type":"string","description":"The second line of the billing address"},"city":{"type":"string","description":"The city of the billing address"},"state":{"type":"string","description":"The state of the billing address"},"zip":{"type":"string","description":"The zip code of the billing address"},"country":{"type":"string","description":"The country code of the billing address"},"phone_number":{"type":"string","description":"The phone number of the billing address"},"shipping_address1":{"type":"string","description":"The first line of the shipping address"},"shipping_address2":{"type":"string","description":"The second line of the shipping address"},"shipping_city":{"type":"string","description":"The city of the shipping address"},"shipping_state":{"type":"string","description":"The state of the shipping address"},"shipping_zip":{"type":"string","description":"The zip code of the shipping address"},"shipping_country":{"type":"string","description":"The country code of the shipping address"},"shipping_phone_number":{"type":"string","description":"The phone number of the shipping address"}},"required":["number","month","year","first_name","last_name"]},"bank_account":{"type":"object","required":["bank_account_number","bank_routing_number","first_name","last_name"],"properties":{"first_name":{"type":"string","description":"The first name of the account owner"},"last_name":{"type":"string","description":"The last name of the account owner"},"bank_routing_number":{"type":"string","description":"The account routing number"},"bank_account_number":{"type":"string","description":"The account number"},"bank_account_type":{"type":"string","description":"The type of account. Can be one of `checking` or `savings`.","enum":["checking","savings"]},"bank_account_holder_type":{"type":"string","description":"The account holder type. Can be one `business` or `personal`.","enum":["business","personal"]},"full_name":{"type":"string","description":"The full name of the account owner. If provided, will be parsed to determine first_name and last_name. Note: optional: either full_name or both first_name and last_name are required"}}},"google_pay":{"type":"object","required":["payment_data"],"properties":{"payment_data":{"description":"The JSON serialized [paymentData](https://developers.google.com/pay/api/web/guides/resources/payment-data-cryptography#payment-method-token-structure)","type":"object","properties":{"signature":{"type":"string","description":"Verifies that the message came from Google. Base64-encoded. Created using ECDSA."},"protocolVersion":{"type":"string","description":"Identifies the encryption/signing scheme under which the message was created. Allows the protocol to evolve over time, if needed. If it's not set, assume `ECv0`."},"signedMessage":{"type":"string","description":"A serialized JSON string containing the `encryptedMessage`, `ephemeralPublicKey` and `tag`. Serialized to simplify the signature verification process."}}},"test_card_number":{"type":"string","description":"Specify a [test card number](https://developer.spreedly.com/docs/test-data#credit-cards) in this field. Doing so will prevent this payment method from being used against a production gateway, while still verifying the submitted Google Pay payment data."},"first_name":{"type":"string","description":"The first name of the cardholder"},"last_name":{"type":"string","description":"The last name of the cardholder"},"address_1":{"type":"string","description":"Cardholder's address, line 1"},"address_2":{"type":"string","description":"Cardholder's address, line 2"},"city":{"type":"string","description":"Cardholder's city"},"state":{"type":"string","description":"Cardholder's state"},"zip":{"type":"string","description":"Cardholder's zip"},"country":{"type":"string","description":"Cardholder's country"}}},"apple_pay":{"type":"object","required":["payment_data"],"properties":{"payment_data":{"description":"The JSON serialized [`paymentData` property of an Apple Pay PKPaymentToken](https://developer.apple.com/library/ios/documentation/PassKit/Reference/PaymentTokenJSON/PaymentTokenJSON.html#//apple_ref/doc/uid/TP40014929-CH8-SW2)","type":"object","properties":{"version":{},"data":{},"signature":{},"header":{"type":"object","properties":{"ephemeralPublicKey":{},"transactionId":{},"publicKeyHash":{}}}}},"test_card_number":{"description":"Apple Pay does not provide a way to create a test payment token. To mark this as a test Apple Pay payment method, specify a [test card number](https://developer.spreedly.com/docs/test-data#credit-cards) in this field. Doing so will prevent this payment method from being used against a production gateway, while still verifying the submitted Apple Pay payment data."}}},"access_secret":{"type":"object","properties":{"access_secret":{"type":"object","properties":{"name":{"type":"string","description":"The human readable name of the access secret. There is a 100 character limit and it cannot contain the following characters: ``\\ | ` # $ % { } ; \" < >``"}},"required":["name"]}}},"access_secret_properties":{"type":"object","properties":{"key":{"type":"string","description":"The key identifying the environment at Spreedly."},"environment":{"type":"string","description":"The name of the environment that the access_secret belongs to."},"name":{"type":"string","description":"The human readable name of the access secret."},"access_secret":{"type":"string","description":"The access secret value."},"created_at":{"type":"string","description":"The access secret's created_at date."}}},"access_secret_response":{"type":"object","properties":{"access_secret":{"allOf":[{"$ref":"#/components/schemas/access_secret_properties"}]}}},"list_access_secrets_response":{"type":"object","properties":{"access_secrets":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/access_secret_properties"}]}}}},"list_sub_merchants_response":{"type":"object","properties":{"sub_merchants":{"type":"array","items":{"type":"object","$ref":"#/components/schemas/sub_merchant_properties"}}}},"sub_merchant_response":{"type":"object","properties":{"sub_merchant":{"type":"object","$ref":"#/components/schemas/sub_merchant_properties"}}},"merchant_data_request_properties":{"type":"array","description":"An array of objects to store more information about the merchant","items":{"type":"object","properties":{"card_network":{"type":"string","description":"The merchant data fields can be different depending on the card network. So, this field is to identify the network associated with the other fields in a merchant_data object."},"acquirer_merchant_id":{"type":"string","description":"The MID is a unique code that ensures the funds make it from the cardholder’s bank account to your bank account when a transaction is processed. It is passed with other transaction information and is used to help with transaction reconciliation. You receive a MID when you open a merchant account with an acquiring bank. A merchant can have multiple MIDs based on the different sales channels they have."},"acquirer_bin":{"type":"string","description":"The Acquirer Bank Identification Number (BIN) is the first four to six digits of a card number that is used to identify the bank account associated with a card network. The BIN is used to submit authorization requests and ensure that payments are routed to the correct institution."},"business_id":{"type":"string","description":"The merchant’s business, company, or service identifier specific to the card-network"},"mcc":{"type":"string","description":"The MCC is a 4-digit code that classifies the type of goods or services that the business sells. Depending on its various lines of business, a merchant could have multiple MCCs. It is mandatory and usually used during the ACS risk analysis (not to be displayed anywhere). Certain MCCs are deemed riskier than others by the issuer, and thus tend to require a stronger challenge during the authentication."}},"required":["acquirer_merchant_id"]}},"sub_merchant_create":{"type":"object","properties":{"sub_merchant":{"type":"object","properties":{"name":{"type":"string","description":"The human readable name of the sub_merchant"},"environment_key":{"type":"string","description":"The key of the environment that the sub_merchant should be associated with"},"merchant_url":{"type":"string","description":"The merchant’s website url."},"merchant_email":{"type":"string","description":"The email address associated with the merchant"},"ein":{"type":"string","description":"The employer identification number associated with the merchant"},"merchant_defined_uid":{"type":"string","description":"A string value that can be set on the sub_merchant to help identify the sub_merchant in systems external to Spreedly."},"merchant_data":{"allOf":[{"$ref":"#/components/schemas/merchant_data_request_properties"}]},"address":{"type":"object","description":"The address associated with the merchant","properties":{"address1":{"type":"string","description":"The first line of the merchant’s address"},"address2":{"type":"string","description":"The second line of the merchant’s address"},"city":{"type":"string","description":"The city of the merchant’s address"},"state":{"type":"string","description":"The state of the merchant’s address"},"zip":{"type":"string","description":"The zip code of the merchant’s address"},"country":{"type":"string","description":"The Country Code in [ISO 3166-1](https://en.wikipedia.org/wiki/ISO_3166-1_numeric#Current_codes) numeric format of the merchant’s address"}}},"metadata":{"type":"object","description":"metadata key-value pairs (limit 25). Keys are limited to 50 characters. Values are limited to 500 characters and cannot contain compounding data types"}},"required":["name","environment_key"]}}},"sub_merchant_update":{"type":"object","properties":{"sub_merchant":{"type":"object","properties":{"name":{"type":"string","description":"The human readable name of the sub_merchant"},"merchant_url":{"type":"string","description":"The merchant’s website url."},"merchant_email":{"type":"string","description":"The email address associated with the merchant"},"ein":{"type":"string","description":"The employer identification number associated with the merchant"},"merchant_defined_uid":{"type":"string","description":"A string value that can be set on the sub_merchant to help identify the sub_merchant in systems external to Spreedly."},"merchant_data":{"allOf":[{"$ref":"#/components/schemas/merchant_data_request_properties"}]},"address":{"type":"object","description":"The address associated with the merchant","properties":{"address1":{"type":"string","description":"The first line of the merchant’s address"},"address2":{"type":"string","description":"The second line of the merchant’s address"},"city":{"type":"string","description":"The city of the merchant’s address"},"state":{"type":"string","description":"The state of the merchant’s address"},"zip":{"type":"string","description":"The zip code of the merchant’s address"},"country":{"type":"string","description":"The Country Code in [ISO 3166-1](https://en.wikipedia.org/wiki/ISO_3166-1_numeric#Current_codes) numeric format of the merchant’s address"}}},"metadata":{"type":"object","description":"metadata key-value pairs (limit 25). Keys are limited to 50 characters. Values are limited to 500 characters and cannot contain compounding data types"}}}}},"sub_merchant_properties":{"type":"object","properties":{"token":{"type":"string","description":"The token identifying the sub_merchant at Spreedly"},"name":{"type":"string","description":"The human readable name of the sub_merchant"},"environment_key":{"type":"string","description":"The environment that the sub_merchant is associated with"},"organization_key":{"type":"string","description":"The organization that the sub_merchant belongs to"},"merchant_url":{"type":"string","description":"The merchant’s website url."},"ein":{"type":"string","description":"The employer identification number associated with the merchant"},"merchant_email":{"type":"string","description":"The email address associated with the merchant"},"merchant_defined_uid":{"type":"string","description":"A string value that can be set on the sub_merchant to help identify the sub_merchant in systems external to spreedly."},"merchant_data":{"type":"object","description":"An array of objects to store more information about the merchant","properties":{"card_network":{"type":"string","description":"The merchant data fields can be different depending on the card network. So, this field is to identify the network associated with the other fields in a merchant_data object."},"acquirer_merchant_id":{"type":"string","description":"The MID is a unique code that ensures the funds make it from the cardholder’s bank account to your bank account when a transaction is processed. It is passed with other transaction information and is used to help with transaction reconciliation. You receive a MID when you open a merchant account with an acquiring bank. A merchant can have multiple MIDs based on the different sales channels they have."},"mcc":{"type":"string","description":"The MCC is a 4-digit code that classifies the type of goods or services that the business sells. Depending on its various lines of business, a merchant could have multiple MCCs. It is mandatory and usually used during the ACS risk analysis (not to be displayed anywhere). Certain MCCs are deemed riskier than others by the issuer, and thus tend to require a stronger challenge during the authentication."},"acquirer_bin":{"type":"string","description":"\tThe Acquirer Bank Identification Number (BIN) is the first four to six digits of a card number that is used to identify the bank account associated with a card network. The BIN is used to submit authorization requests and ensure that payments are routed to the correct institution."},"business_id":{"type":"string","description":"The merchant’s business, company, or service identifier specific to the card-network"},"merchant_data_id":{"type":"string","description":"Spreedly generated id for each merchant_data element"}}},"address":{"type":"object","description":"The address associated with the merchant","properties":{"address1":{"type":"string","description":"The first line of the merchant’s address"},"address2":{"type":"string","description":"The second line of the merchant’s address"},"city":{"type":"string","description":"The city of the merchant’s address"},"state":{"type":"string","description":"The state of the merchant’s address"},"zip":{"type":"string","description":"The zip code of the merchant’s address"},"country":{"type":"string","description":"The Country Code in [ISO 3166-1](https://en.wikipedia.org/wiki/ISO_3166-1_numeric#Current_codes) numeric format of the merchant’s address"}}},"metadata":{"type":"object","description":"metadata key-value pairs (limit 25). Keys are limited to 50 characters. Values are limited to 500 characters and cannot contain compounding data types"},"created_at":{"type":"string","description":"The datetime that the sub_merchant was first created"},"updated_at":{"type":"string","description":"The datetime that the sub_merchant was last updated"}}},"environment_properties":{"type":"object","properties":{"key":{"type":"string","description":"The key identifying the environment at Spreedly."},"signing_secret":{"type":"string","description":"The secret used to sign callbacks that are made back into your application."},"organization_key":{"type":"string","description":"The organization that the environment belongs to."},"callback_url":{"type":"string","description":"The url where Spreedly will attempt delivery of account updater transaction results. Transaction results are posted in JSON format."},"smart_routing_enabled":{"type":"boolean","description":"If the environment has smart routing enabled or not."},"allow_direct_api_payment_method_creation":{"type":"boolean","description":"If the environment allows payment method creation from anywhere, or only from Spreedly Express or Iframe."},"name":{"type":"string","description":"The human readable name of the environment."},"default_gateway_token":{"type":"string","description":"The default gateway to send transactions if smart routing is enabled."},"payment_method_management_enabled":{"type":"boolean","description":"If an environment is enabled to manage payment methods with Advanced Vaulting."},"au_enabled":{"type":"boolean","description":"If the environment has account updater enabled."},"retry":{"type":"boolean","description":"If the environment has retry enabled."},"iframe_enhanced_security_enabled":{"type":"boolean","description":"If the environment is enabled to pass enhanced security fields to iFrame init."}}},"environment_create":{"type":"object","properties":{"environment":{"type":"object","properties":{"name":{"type":"string","description":"The human readable name of the environment. There is a 100 character limit and it cannot contain the following characters: ``\\ | ` # $ % { } ; \" < >``"},"callback_url":{"type":"string","description":"The url where Spreedly will attempt delivery of account updater transaction results. Transaction results are posted in JSON format. (default: null)"},"allow_direct_api_method_creation":{"type":"boolean","description":"If the environment allows payment method creation from anywhere, or only from Spreedly Express or Iframe (default: true)."},"au_enabled":{"type":"boolean","description":"If the environment should have cards sent to Account Updater or not (default: false)."},"payment_method_management_enabled":{"type":"boolean","description":"If an environment is enabled to manage payment methods with Advanced Vaulting."},"iframe_enhanced_security_enabled":{"type":"boolean","description":"If the environment is enabled to pass enhanced security fields to iFrame init."}},"required":["name"]}}},"environment_update":{"type":"object","properties":{"environment":{"type":"object","properties":{"name":{"type":"string","description":"The human readable name of the environment. There is a 100 character limit and it cannot contain the following characters: ``\\ | ` # $ % { } ; \" < >``"},"callback_url":{"type":"string","description":"The url where Spreedly will attempt delivery of account updater transaction results. Transaction results are posted in JSON format. (default: null)"},"allow_direct_api_method_creation":{"type":"boolean","description":"If the environment allows payment method creation from anywhere, or only from Spreedly Express or Iframe (default: true)."},"au_enabled":{"type":"boolean","description":"If the environment should have cards sent to Account Updater or not (default: false)."},"payment_method_management_enabled":{"type":"boolean","description":"If an environment is enabled to manage payment methods with Advanced Vaulting."},"smart_routing_enabled":{"type":"boolean","description":"If an environment has smart routing enabled or not (default: false)."},"default_gateway_token":{"type":"string","description":"The default gateway to send transactions if smart routing is enabled (default: null)."},"iframe_enhanced_security_enabled":{"type":"boolean","description":"If the environment is enabled to pass enhanced security fields to iFrame init."}}}}},"environment_response":{"type":"object","properties":{"environment":{"$ref":"#/components/schemas/environment_properties"}}},"list_environments_response":{"type":"object","properties":{"environments":{"type":"array","items":{"$ref":"#/components/schemas/environment_properties"}}}},"regenerate_environment_signing_secret_response":{"type":"object","properties":{"environment":{"$ref":"#/components/schemas/environment_properties"}}},"verify":{"type":"object","properties":{"transaction":{"type":"object","properties":{"payment_method_token":{"type":"string","description":"The token of the payment method to verify"},"attempt_network_token":{"type":"boolean","description":"`true` if this transaction should use a network token if able. `false` or omit this element to not use a network token for this transaction. Please see our [network tokenization guide](https://developer.spreedly.com/docs/network-tokenization#transacting-with-network-tokens) for more details on Network Token logic checks."},"provision_network_token":{"$ref":"#/components/schemas/provision_network_token"},"retain_on_success":{"type":"boolean","description":"If the card is verified, retain it so it can be used for future transactions"},"currency_code":{"type":"string","description":"The currency of the funds, as [ISO 4217 alpha currency codes](https://en.wikipedia.org/wiki/ISO_4217#Active_codes), e.g. `USD` for US dollars."},"ip":{"type":"string","description":"If the gateway requires an allowed IP address"},"sub_merchant_key":{"type":"string","description":"The token of the [sub-merchant](https://developer.spreedly.com/reference/create-sub-merchant) to associate with the current transaction. If an invalid `sub_merchant_key` is passed through, the value defaults to `null`"},"sca_authentication_token":{"type":"string","description":"The token received in response body of SCA Authenticate endpoints when performing an SCA Authentication on a specified payment method. See [instructions to obtain](https://developer.spreedly.com/docs/3ds-solutions#how-to-utilize-your-sca-provider-key)"},"sca_provider_key":{"type":"string","description":"[SCA Provider](https://developer.spreedly.com/reference/create-sca-provider) token that performs a Spreedly 3DS2 Global authentication before attempting the gateway transaction. Please see our [Spreedly 3DS2 Global Guide](https://developer.spreedly.com/docs/3ds-solutions) for more info."},"sca_authentication_parameters":{"type":"string","description":"Additional fields that are accepted by the SCA Authentication, including a `test_scenario` object to indicate valid 3DS2 test flow options and an `exemption_type` field to request an exemption. Please refer to our [3DS2 Global Guide](https://developer.spreedly.com/docs/3ds-solutions) to learn more."},"gateway_specific_fields":{"type":"object","description":"Unique optional fields that a gateway may require for certain customized options. To send a GSF it should be nested under `gateway_specific_fields` and under the gateway's name, i.e. `gateway_type`. Please refer to [using a payment method](https://developer.spreedly.com/docs/using-payment-methods#gateway-specific-fields) for more info."},"protection_provider_key":{"type":"string","description":"The token of the [Protection Provider](https://developer.spreedly.com/reference/create-protection-provider). Triggers a protection check."},"protection_parameters":{"$ref":"#/components/schemas/protection_parameters"}},"required":["payment_method_token"]}}},"verify_response":{"type":"object","properties":{"transaction":{"type":"object","properties":{"on_test_gateway":{"type":"string","description":"`true` if the transaction took place on a test gateway"},"created_at":{"type":"string","description":"The time the purchase token was created"},"updated_at":{"type":"string","description":"The time the purchase token was last updated"},"succeeded":{"type":"boolean","description":"`true` if the transaction request was successfully executed, `false` otherwise"},"state":{"type":"string","description":"The current state of the transaction"},"token":{"type":"string","description":"The token uniquely identifying this transaction at Spreedly"},"transaction_type":{"type":"string","description":"The type of transaction, e.g., Authorization, Capture, Credit"},"order_id":{"type":"string","description":"The merchant specified order id. If not provided, the Spreedly transaction token will be used."},"ip":{"type":"string","description":"The IP address of the end-user customer. If one is not provided, this will default to `127.0.0.1`. To actually send a `nil` value, this parameter must be set to \"omit\"."},"sub_merchant_key":{"type":"string","description":"The token of the sub-merchant associated with the transaction."},"description":{"type":"string","description":"A human readable description of the transaction which will be passed to the gateway if it's supported"},"email":{"type":"string","description":"Override the customer email address associated with the payment method for this transaction"},"merchant_name_descriptor":{"type":"string","description":"A human readable description of the merchant"},"merchant_location_descriptor":{"type":"string","description":"A human readable description of the merchant location"},"gateway_specific_fields":{"$ref":"#/components/schemas/gateway_specific_fields"},"gateway_specific_response_fields":{"type":"object","description":"A hash containing unique optional fields that a gateway may return based on certain customized options."},"gateway_transaction_id":{"type":"string","description":"The id of the transaction *at the gateway*. To be used when corresponding with the gateway or reconciling transactions"},"gateway_latency_ms":{"type":"string","description":"The time it took the gateway to respond to Spreedly"},"currency_code":{"type":"string","description":"The currency of the funds, as [ISO 4217 alpha currency codes](https://en.wikipedia.org/wiki/ISO_4217#Active_codes), e.g., `USD` for US dollars."},"retain_on_success":{"type":"boolean","description":"If the payment method was set to be retained on successful completion of the transaction. To determine if the payment method was actually retained, see the `payment_method/storage_state` field"},"payment_method_added":{"type":"string","description":"If the payment method was added as part of this transaction (i.e. a direct pass-in of the payment information) vs. using an already tokenized payment method"},"message_key":{"type":"string","description":"A machine-parseable string indicating the result of the transaction"},"message":{"type":"string","description":"A human-readable string indicating the result of the transaction"},"gateway_token":{"type":"string","description":"The token of the gateway to executed against"},"gateway_type":{"type":"string","description":"The type (short name) of the gateway"},"response":{"type":"object","description":"Unmodified details of the gateway response, including the `message` and `error_code`, if applicable. For failed transactions these fields can help determine the root cause"},"shipping_address":{"type":"object","description":"Override the customer shipping address associated with the payment method for this transaction"},"payment_method":{"$ref":"#/components/schemas/payment_method"},"protection_provider_key":{"type":"string","description":"The token of the Protection Provider that was used for this transaction."},"protection_parameters":{"$ref":"#/components/schemas/protection_parameters"},"protect_fraud_check":{"$ref":"#/components/schemas/protect_fraud_check_response"},"network_tokenization":{"$ref":"#/components/schemas/network_tokenization"}}}}},"void_response":{"type":"object","properties":{"transaction":{"type":"object","properties":{"on_test_gateway":{"type":"string","description":"`true` if the transaction took place on a test gateway"},"created_at":{"type":"string","description":"The time the purchase token was created"},"updated_at":{"type":"string","description":"The time the purchase token was last updated"},"succeeded":{"type":"boolean","description":"`true` if the transaction request was successfully executed, `false` otherwise"},"state":{"type":"string","description":"The current state of the transaction"},"token":{"type":"string","description":"The token uniquely identifying this transaction at Spreedly"},"transaction_type":{"type":"string","description":"The type of transaction, e.g., Authorization, Capture, Credit"},"order_id":{"type":"string","description":"The merchant specified order id. If not provided, the Spreedly transaction token will be used."},"ip":{"type":"string","description":"The IP address of the end-user customer. If one is not provided, this will default to `127.0.0.1`. To actually send a `nil` value, this parameter must be set to \"omit\"."},"description":{"type":"string","description":"A human readable description of the transaction which will be passed to the gateway if it's supported"},"email":{"type":"string","description":"Override the customer email address associated with the payment method for this transaction"},"merchant_name_descriptor":{"type":"string","description":"A human readable description of the merchant"},"merchant_location_descriptor":{"type":"string","description":"A human readable description of the merchant location"},"gateway_specific_fields":{"type":"object","description":"The list of gateway specific fields that can be specified in supported gateway transactions"},"gateway_specific_response_fields":{"type":"object","description":"A hash containing unique optional fields that a gateway may return based on certain customized options."},"gateway_transaction_id":{"type":"string","description":"The id of the transaction *at the gateway*. To be used when corresponding with the gateway or reconciling transactions"},"gateway_latency_ms":{"type":"string","description":"The time it took the gateway to respond to Spreedly"},"message_key":{"type":"string","description":"A machine-parseable string indicating the result of the transaction"},"message":{"type":"string","description":"A human-readable string indicating the result of the transaction"},"gateway_token":{"type":"string","description":"The token of the gateway to executed against"},"gateway_type":{"type":"string","description":"The type (short name) of the gateway"},"response":{"type":"object","description":"Unmodified details of the gateway response, including the `message` and `error_code`, if applicable. For failed transactions these fields can help determine the root cause"},"shipping_address":{"type":"object","description":"Override the customer shipping address associated with the payment method for this transaction"},"reference_token":{"type":"object","description":"The token of the transaction being voided"}}}}},"authorize_request":{"type":"object","properties":{"transaction":{"type":"object","properties":{"amount":{"type":"integer","description":"The amount to request, as an integer. E.g., `1000` for $10.00."},"currency_code":{"type":"string","description":"The currency of the funds, as [ISO 4217 alpha currency codes](https://en.wikipedia.org/wiki/ISO_4217#Active_codes), e.g., `USD` for US dollars."},"order_id":{"type":"string","description":"The merchant specified order id. If not provided, the Spreedly transaction token will be used."},"description":{"type":"string","description":"A human readable description of the transaction which will be passed to the gateway if it’s supported"},"retain_on_success":{"type":"boolean","description":"If the card is verified, retain it so it can be used for future transactions"},"ip":{"type":"string","description":"The IP address of the end-user customer. If one is not provided, this will default to `127.0.0.1`. To actually send a `nil` value, this parameter must be set to `\"omit\"`."},"email":{"type":"string","description":"Override the customer email address associated with the payment method for this transaction"},"gateway_specific_fields":{"type":"object","description":"Unique optional fields that a gateway may require for certain customized options. To send a GSF it should be nested under `gateway_specific_fields` and under the gateway’s name, i.e. `gateway_type`. Please refer to [using a payment method](https://developer.spreedly.com/docs/using-payment-methods#gateway-specific-fields) for more info."},"stored_credential_initiator":{"type":"string","description":"Who is initiating this request, `merchant` or `cardholder`"},"stored_credential_reason_type":{"type":"string","description":"What kind of transaction is the payment method being used for. e.g. `recurring`, `unscheduled`, or `installment`"},"sub_merchant_key":{"type":"string","description":"The token of the [sub-merchant](https://developer.spreedly.com/reference/create-sub-merchant) to associate with the current transaction. If an invalid `sub_merchant_key` is passed through, the value defaults to `null`"},"sca_provider_key":{"type":"string","description":"[SCA Provider](https://developer.spreedly.com/reference/create-sca-provider) token that performs a Spreedly 3DS2 Global authentication before attempting the gateway transaction. Please see our [Spreedly 3DS2 Global Guide](https://developer.spreedly.com/docs/3ds-solutions) for more info."},"sca_authentication_parameters":{"type":"object","description":"Additional fields that are accepted by the SCA Authentication, including a `test_scenario` object to indicate valid 3DS2 test flow options and an `exemption_type` field to request an exemption. Please refer to our [3DS2 Global Guide](https://developer.spreedly.com/docs/3ds-solutions) to learn more.","properties":{"three_ds_requestor_challenge_ind":{"type":"string","description":"Indicates whether a challenge is being requested for a 3DS2 Global transaction."}}},"callback_url":{"type":"string","description":"The URL where Spreedly will attempt delivery of asynchronous results for 3DS and offsite transactions. Transaction results are posted in the format specified by `callback_format` if provided or XML if `callback_format` is not present or null. (default: `null`)"},"callback_format":{"type":"string","description":"The format in which Spreedly will deliver asynchronous results for 3DS and offsite transactions to the specified `callback_url`. If provided, the value must be one of `json` or `xml`. (default: `xml`)"},"shipping_address":{"type":"object","properties":{"name":{"type":"string","description":"Customer’s name in the shipping address"},"address1":{"type":"string","description":"Customer’s shipping address, line 1"},"address2":{"type":"string","description":"Customer’s shipping address, line 2"},"city":{"type":"string","description":"Customer’s shipping city"},"state":{"type":"string","description":"Customer’s shipping state/province"},"zip":{"type":"string","description":"Customer’s shipping zip"},"country":{"type":"string","description":"Customer’s shipping country"},"phone_number":{"type":"string","description":"Customer’s shipping phone"}}},"billing_address":{"type":"object","properties":{"name":{"type":"string","description":"Customer’s name in the billing address"},"address1":{"type":"string","description":"Customer’s billing address, line 1"},"address2":{"type":"string","description":"Customer’s billing address, line 2"},"city":{"type":"string","description":"Customer’s billing city"},"state":{"type":"string","description":"Customer’s billing state/province"},"zip":{"type":"string","description":"Customer’s billing zip"},"country":{"type":"string","description":"Customer’s billing country"},"phone_number":{"type":"string","description":"Customer’s billing phone"}}},"transaction_metadata":{"type":"object","description":"Metadata key-value pairs used for Smart Routing. Keys must be unique and are limited to 50 characters. Values are limited to 500 characters and cannot contain compounding data types."},"credit_card":{"$ref":"#/components/schemas/credit_card"},"apple_pay":{"$ref":"#/components/schemas/apple_pay"},"google_pay":{"$ref":"#/components/schemas/google_pay"},"sca_authenticated":{"$ref":"#/components/schemas/sca_authenticated"},"payment_method_token":{"type":"string","description":"The token of the payment method to use"},"attempt_network_token":{"type":"boolean","description":"`true` if this transaction should use a network token if able. `false` or omit this element to not use a network token for this transaction. Please see our [network tokenization guide](https://developer.spreedly.com/docs/network-tokenization#transacting-with-network-tokens) for more details on Network Token logic checks."},"provision_network_token":{"$ref":"#/components/schemas/provision_network_token"},"retry":{"$ref":"#/components/schemas/recover_params"},"protection_provider_key":{"type":"string","description":"The token of the [Protection Provider](https://developer.spreedly.com/reference/create-protection-provider). Triggers a protection check."},"protection_parameters":{"$ref":"#/components/schemas/protection_parameters"},"allow_blank_name":{"type":"boolean","description":"`true` if this payment method should skip the name validation requirement during Pass-in Credit Card transactions"},"allow_expired_date":{"type":"boolean","description":"`true` if this payment method should skip the expired date validation requirement during Pass-in Credit Card transactions"},"allow_blank_date":{"type":"boolean","description":"`true` if this payment method should skip the expiration date validation requirement during Pass-in Credit Card transactions"}},"required":["amount","currency_code"]}}},"sca_authenticated":{"type":"object","properties":{"sca_authentication_token":{"type":"string","description":"The token received in response body of SCA Authenticate endpoint when performing an SCA Authentication on a specified payment method. See [instructions to obtain](https://developer.spreedly.com/docs/3ds-solutions#how-to-utilize-your-sca-provider-key)"},"amount":{"type":"integer","description":"The amount to request, as an integer. E.g., `1000` for $10.00."},"currency_code":{"type":"string","description":"The currency of the funds, as [ISO 4217 alpha currency codes](https://en.wikipedia.org/wiki/ISO_4217#Active_codes), e.g., `USD` for US dollars."}},"required":["sca_authentication_token","amount","currency_code"]},"authorize_response":{"type":"object","properties":{"transaction":{"type":"object","properties":{"token":{"type":"string","description":"The token uniquely identifying this transaction at Spreedly"},"succeeded":{"type":"boolean","description":"`true` if the transaction request was successfully executed, `false` otherwise"},"message":{"type":"string","description":"A human-readable string indicating the result of the transaction"},"gateway_transaction_id":{"type":"string","description":"The id of the transaction at the gateway. To be used when corresponding with the gateway or reconciling transactions"},"retain_on_success":{"type":"boolean","description":"If the payment method was set to be retained on successful completion of the transaction. To determine if the payment method was actually retained, see the `payment_method/storage_state` field"},"payment_method_added":{"type":"string","description":"If the payment method was added as part of this transaction (i.e. a direct pass-in of the payment information) vs. using an already tokenized payment method"},"response":{"type":"object","description":"Unmodified details of the gateway response, including the `message` and `error_code`, if applicable. For failed transactions these fields can help determine the root cause"},"payment_method":{"$ref":"#/components/schemas/payment_method"},"merchant_profile_key":{"type":"string","description":"The token of the Merchant Profile associated with the gateway used for the transaction"},"sub_merchant_key":{"type":"string","description":"The token of the sub-merchant associated with the transaction."},"gateway_specific_response_fields":{"type":"object","description":"A hash containing unique optional fields that a gateway may return based on certain customized options."},"transaction_metadata":{"type":"object","description":"The hash of key/value pairs that was included in the transaction request body."},"sca_authentication":{"type":"string","description":"The details of the SCA Authentication transaction created if performing a Spreedly Global 3DS2 transaction. See the [SCA Authentication Show](https://developer.spreedly.com/reference/authenticate) details for more information on this object."},"payment_snapshot":{"$ref":"#/components/schemas/payment_snapshot"},"protection_provider_key":{"type":"string","description":"The token of the Protection Provider that was used for this transaction."},"protection_parameters":{"$ref":"#/components/schemas/protection_parameters"},"protect_fraud_check":{"$ref":"#/components/schemas/protect_fraud_check_response"},"network_tokenization":{"$ref":"#/components/schemas/network_tokenization"}}}}},"generate_certificate":{"type":"object","properties":{"certificate":{"type":"object","properties":{"algorithm":{"type":"string","description":"The encryption algorithm to use when creating the key pair. Currently, the only supported options are `ec-prime256v1` representing the X9.62/SECG curve over a 256 bit prime field, or `rsa-2048`, which uses a 2048-bit RSA key."},"cn":{"type":"string","description":"The certificate common name"},"o":{"type":"string","description":"The organization"},"ou":{"type":"string","description":"The organization unit"},"c":{"type":"string","description":"The country"},"st":{"type":"string","description":"The state"},"l":{"type":"string","description":"The locality or city"},"email_address":{"type":"string","description":"The email address"}},"required":["algorithm","cn"]}}},"generate_certificate_response":{"type":"object","properties":{"certificate":{"type":"object","properties":{"algorithm":{"type":"string","description":"The encryption algorithm to use when creating the key pair. Currently, the only supported options are ec-prime256v1 representing the X9.62/SECG curve over a 256 bit prime field, or rsa-2048, which uses a 2048-bit RSA key."},"cn":{"type":"string","description":"The certificate common name"},"o":{"type":"string","description":"The organization"},"ou":{"type":"string","description":"The organization unit"},"c":{"type":"string","description":"The country"},"st":{"type":"string","description":"The state"},"l":{"type":"string","description":"The locality or city"},"email_address":{"type":"string","description":"The email address"},"public_key":{"type":"string","description":"PEM-formatted public key of the certificate"},"public_key_hash":{"type":"string","description":"The base64 encoded, SHA256 hash, of the public key"},"csr":{"type":"string","description":"PEM formatted certificate signing request (CSR)"},"pem":{"type":"string","description":"The signed certificate in PEM format. This value will be empty on initial certificate generation."}}}}},"list_certificates_response":{"type":"object","properties":{"certificates":{"type":"array","items":{"type":"object","properties":{"token":{"type":"string","description":"A unique string generated by Spreedly to identify the certificate."},"level":{"type":"string","description":"Indicates whether the certificate was configured for the organization level or environment level; if `organization` the certificate can be shared across authenticated environments for the same organization."},"algorithm":{"type":"string","description":"The encryption algorithm to use when creating the key pair. Currently, the only supported options are ec-prime256v1 representing the X9.62/SECG curve over a 256 bit prime field, or rsa-2048, which uses a 2048-bit RSA key."},"cn":{"type":"string","description":"The certificate common name"},"o":{"type":"string","description":"The organization"},"ou":{"type":"string","description":"The organization unit"},"c":{"type":"string","description":"The country"},"st":{"type":"string","description":"The state"},"l":{"type":"string","description":"The locality or city"},"email_address":{"type":"string","description":"The email address"},"public_key":{"type":"string","description":"PEM-formatted public key of the certificate"},"public_key_hash":{"type":"string","description":"The base64 encoded, SHA256 hash, of the public key"},"csr":{"type":"string","description":"PEM formatted certificate signing request (CSR)"},"pem":{"type":"string","description":"The signed certificate in PEM format. This value will be empty on initial certificate generation."},"created_at":{"type":"string","description":"The time the certificate was created"},"updated_at":{"type":"string","description":"The time the certificate was last updated"}}}}}},"create_certificate":{"type":"object","properties":{"certificate":{"type":"object","properties":{"pem":{"type":"string","description":"The signed certificate in PEM format. This value will be empty on initial certificate generation."},"private_key":{"type":"string","description":"The certificate's RSA or EC private key, in non-password-protected PEM format."},"level":{"type":"string","description":"This is an optional parameter for organizational level certificate configuration; the value is set to `environment` by default but you can pass in `organization` for certificates shared across authenticated environments for the same organization."}},"required":["pem"]}}},"create_certificate_response":{"type":"object","properties":{"certificate":{"type":"object","properties":{"token":{"type":"string","description":"A unique string generated by Spreedly to identify the certificate."},"algorithm":{"type":"string","description":"The encryption algorithm to use when creating the key pair. Currently, the only supported options are ec-prime256v1 representing the X9.62/SECG curve over a 256 bit prime field, or rsa-2048, which uses a 2048-bit RSA key."},"cn":{"type":"string","description":"The certificate common name"},"o":{"type":"string","description":"The organization"},"ou":{"type":"string","description":"The organization unit"},"c":{"type":"string","description":"The country"},"st":{"type":"string","description":"The state"},"l":{"type":"string","description":"The locality or city"},"email_address":{"type":"string","description":"The email address"},"public_key":{"type":"string","description":"PEM-formatted public key of the certificate"},"public_key_hash":{"type":"string","description":"The base64 encoded, SHA256 hash, of the public key"},"csr":{"type":"string","description":"PEM formatted certificate signing request (CSR)"},"pem":{"type":"string","description":"The signed certificate in PEM format. This value will be empty on initial certificate generation."},"created_at":{"type":"string","description":"The time the certificate was created"},"updated_at":{"type":"string","description":"The time the certificate was last updated"}}}}},"update_certificate":{"type":"object","properties":{"certificate":{"type":"object","properties":{"pem":{"type":"string","description":"The signed certificate in PEM format. This value will be empty on initial certificate generation."}}}}},"sca_provider_card_details":{"type":"object","description":"A nested object containing merchant info per card brand that is to be registered with the 3DS server. See `acquirer_bin`, `merchant_url`, and `merchant_password` below for nested field information","properties":{"acquirer_bin":{"type":"string","description":"The Acquirer Bank Identification Number (BIN) is identifying BIN for an acquiring bank. The BIN is used to submit authorization requests and ensure that payments are routed to the correct institution."},"merchant_url":{"type":"string","description":"Fully qualified URL of the merchant’s main website or customer care site that contains a method of contact."},"merchant_password":{"type":"string","description":"An old parameter for 3DS v1, unrelated to 3DS2. We support this parameter for those merchants who already have it activated and are migrating to our 3DSS, not for new ones. If you do not know the parameter, don’t take it into account."}},"required":["acquirer_bin","merchant_url"]},"sca_provider_visa":{"type":"object","allOf":[{"$ref":"#/components/schemas/sca_provider_card_details"},{"type":"object","properties":{"merchant_brand_id":{"type":"string","description":"An optional parameter for an id issued to a merchant by a particular card scheme. When passed in the `visa` subhash it can be used to enable DAF via 3DS2 Global."}}}]},"sca_provider":{"type":"object","properties":{"merchant_profile_key":{"type":"string","description":"The token returned upon creating a Merchant Profile"},"type":{"type":"string","description":"The type of SCA Provider being created. Currently only one type is supported: `spreedly` (case sensitive)"},"sandbox":{"type":"boolean","description":"If the SCA Provider accounts is to be provisioned in sandbox mode or not. `false` by default."},"visa":{"$ref":"#/components/schemas/sca_provider_visa"},"mastercard":{"$ref":"#/components/schemas/sca_provider_card_details"},"amex":{"$ref":"#/components/schemas/sca_provider_card_details"},"discover":{"$ref":"#/components/schemas/sca_provider_card_details"}},"required":["merchant_profile_key","type"]},"sca_provider_response":{"type":"object","properties":{"sca_provider":{"type":"object","properties":{"token":{"type":"string","description":"The token identifying your newly created SCA Provider. Can be used as the `sca_provider_key` url parameter on the [authenticate](https://developer.spreedly.com/reference/authenticate) endpoint or as the `sca_provider_token` field on [authorize](https://developer.spreedly.com/reference/authorize-1) and [purchase](https://developer.spreedly.com/reference/purchase) transactions."},"sandbox":{"type":"boolean","description":"If the SCA Provider accounts is to be provisioned in sandbox mode or not. `false` by default."},"created_at":{"type":"string","description":"The time the sca provider was created"},"updated_at":{"type":"string","description":"The time the sca provider was last updated"},"type":{"type":"string","description":"The type of SCA Provider being created. Currently only one type is supported: `spreedly` (case sensitive)"},"visa":{"$ref":"#/components/schemas/sca_provider_visa"},"mastercard":{"$ref":"#/components/schemas/sca_provider_card_details"},"amex":{"$ref":"#/components/schemas/sca_provider_card_details"},"discover":{"$ref":"#/components/schemas/sca_provider_card_details"}}}}},"protection_provider":{"type":"object","properties":{"merchant_profile_key":{"type":"string","description":"The token returned upon creating a Merchant Profile"},"type":{"type":"string","description":"The type of Protection Provider being created. Currently two types are supported: `spreedly` or `test` (case sensitive)"},"three_ds_enabled":{"type":"boolean","description":"Enable 3DS2 Global for this Protection Provider. See [Protect documentation](https://developer.spreedly.com/docs/protect) for more details."},"visa":{"$ref":"#/components/schemas/sca_provider_visa"},"mastercard":{"$ref":"#/components/schemas/sca_provider_card_details"},"amex":{"$ref":"#/components/schemas/sca_provider_card_details"},"discover":{"$ref":"#/components/schemas/sca_provider_card_details"},"diners":{"$ref":"#/components/schemas/sca_provider_card_details"},"jcb":{"$ref":"#/components/schemas/sca_provider_card_details"},"dankort":{"$ref":"#/components/schemas/sca_provider_card_details"},"union_pay":{"$ref":"#/components/schemas/sca_provider_card_details"},"cartes_bancaires":{"$ref":"#/components/schemas/sca_provider_card_details"}},"required":["merchant_profile_key","type"]},"protection_provider_response":{"type":"object","properties":{"protection_provider":{"type":"object","properties":{"token":{"type":"string","description":"The token identifying your newly created Protection Provider. Can be used as the `protection_provider_token` field on [authorize](https://developer.spreedly.com/reference/authorize-1) and [purchase](https://developer.spreedly.com/reference/purchase) transactions."},"three_ds_enabled":{"type":"boolean","description":"If 3DS is enabledfor this Protection Provider."},"created_at":{"type":"string","description":"The time the protection provider was created"},"updated_at":{"type":"string","description":"The time the protection provider was last updated"},"type":{"type":"string","description":"The type of Protection Provider being created. Currently two types are supported: `spreedly` or `test` (case sensitive)"},"visa":{"$ref":"#/components/schemas/sca_provider_visa"},"mastercard":{"$ref":"#/components/schemas/sca_provider_card_details"},"amex":{"$ref":"#/components/schemas/sca_provider_card_details"},"discover":{"$ref":"#/components/schemas/sca_provider_card_details"},"diners":{"$ref":"#/components/schemas/sca_provider_card_details"},"jcb":{"$ref":"#/components/schemas/sca_provider_card_details"},"dankort":{"$ref":"#/components/schemas/sca_provider_card_details"},"union_pay":{"$ref":"#/components/schemas/sca_provider_card_details"},"cartes_bancaires":{"$ref":"#/components/schemas/sca_provider_card_details"}}}}},"protection_parameters":{"description":"Additional fields that are accepted by the Protection provider, including a `test_scenario` object to indicate valid Protect test flow options. Please refer to our [Protect guide](https://developer.spreedly.com/docs/protect) to learn more.","type":"object","properties":{"test_scenario":{"type":"object","description":"The protection test scenario","properties":{"scenario":{"type":"string","description":"The test scenario to run","enum":["protect_approved","protect_sca_recommended_challenge","protect_sca_recommended_authenticated","protect_sca_recommended_not_authenticated","protect_declined"],"default":"protect_approved"}}},"fraud_token":{"type":"string","description":"Forter fraud token. Emitted when running a fraud lifecycle from [the Spreedly iFrame](https://developer.spreedly.com/docs/iframe-api-lifecycle). Required for web transactions only."},"forter_mobile_uid":{"type":"string","description":"Mobile UID. The device identifier such as IMEI in android or identifier for vendor in iOS. This should match the deviceId sent via the mobile events API. Required for mobile transactions only."},"user_agent":{"type":"string","description":"Customer's User agent"},"cart_items":{"type":"array","description":"A list of all items purchased and shipping details","items":{"type":"object","properties":{"name":{"type":"string","description":"Item name","maxLength":500},"quantity":{"type":"number","description":"Item quantity"},"type":{"type":"string","description":"TANGIBLE if physical item, NON_TANGIBLE if any other product","enum":["TANGIBLE","NON_TANGIBLE"],"default":"TANGIBLE"},"price":{"type":"string","description":"Final amount due for purchase, after all discounts and promotions"}},"required":["name","quantity","type","price"]}},"delivery_type":{"type":"string","description":"Type of delivery: PHYSICAL for any type of shipped goods, DIGITAL for non-shipped goods (services, gift cards etc.)","enum":["PHYSICAL","DIGITAL"],"default":"PHYSICAL"},"delivery_method":{"type":"string","description":"Delivery method chosen by customer such as postal service, email, in game transfer, etc.","maxLength":50},"customer_account_id":{"type":"string","description":"Customer's account UID in merchant's site (leave empty if guest)"},"customer_account_type":{"type":"string","description":"Customer account type","enum":["GUEST","PRIVATE","BUSINESS","VIP","MERCHANT_OPERATED","TRIAL","MERCHANT_EMPLOYEE","PREMIUM_PAID","SMALL_BUSINESS","AGENT","BUSINESS_PRIVATE","BUSINESS_PREMIUM_PAID"],"default":"BUSINESS"},"customer_account_creation_date":{"type":"number","description":"Customer account creation date in seconds since unix epoch (UTC, Jan 1, 1970)"},"billing_name":{"type":"string","description":"The customer full name. If available, this value will be pulled from the payment_method associated with this transaction. Otherwise, it should be provided here."},"billing_first_name":{"type":"string","description":"The customer first name. If available, this value will be pulled from the payment_method associated with this transaction. Otherwise, it should be provided here."},"billing_last_name":{"type":"string","description":"The customer last name. If available, this value will be pulled from the payment_method associated with this transaction. Otherwise, it should be provided here."},"email":{"type":"string","description":"The customer email address. If available, this value will be pulled from the payment_method associated with this transaction. Otherwise, it should be provided here."},"billing_country":{"type":"string","description":"The customer billing country. If available, this value will be pulled from the payment_method associated with this transaction. Otherwise, it should be provided here."},"billing_address1":{"type":"string","description":"The customer billing address line 1. If available, this value will be pulled from the payment_method associated with this transaction. Otherwise, it should be provided here."},"billing_address2":{"type":"string","description":"The customer billing address line 2. If available, this value will be pulled from the payment_method associated with this transaction. Otherwise, it should be provided here."},"billing_city":{"type":"string","description":"The customer billing city. If available, this value will be pulled from the payment_method associated with this transaction. Otherwise, it should be provided here."},"billing_zip":{"type":"string","description":"The customer billing zip code. If available, this value will be pulled from the payment_method associated with this transaction. Otherwise, it should be provided here."},"billing_state":{"type":"string","description":"The customer billing state. If available, this value will be pulled from the payment_method associated with this transaction. Otherwise, it should be provided here."},"billing_phone_number":{"type":"string","description":"The customer billing phone number. If available, this value will be pulled from the payment_method associated with this transaction. Otherwise, it should be provided here."},"shipping_name":{"type":"string","description":"The customer's full name for shipping. If available, this value will be pulled from the payment_method associated with this transaction. Otherwise, it should be provided here."},"shipping_first_name":{"type":"string","description":"The customer's first name for shipping. If available, this value will be pulled from the payment_method associated with this transaction. Otherwise, it should be provided here."},"shipping_last_name":{"type":"string","description":"The customer's last name for shipping. If available, this value will be pulled from the payment_method associated with this transaction. Otherwise, it should be provided here."},"shipping_email":{"type":"string","description":"The customer's email address for shipping. If available, this value will be pulled from the payment_method associated with this transaction. Otherwise, it should be provided here."},"shipping_country":{"type":"string","description":"The customer shipping country. If available, this value will be pulled from the payment_method associated with this transaction. Otherwise, it should be provided here."},"shipping_address1":{"type":"string","description":"The customer shipping address line 1. If available, this value will be pulled from the payment_method associated with this transaction. Otherwise, it should be provided here."},"shipping_address2":{"type":"string","description":"The customer shipping address line 2. If available, this value will be pulled from the payment_method associated with this transaction. Otherwise, it should be provided here."},"shipping_city":{"type":"string","description":"The customer shipping city. If available, this value will be pulled from the payment_method associated with this transaction. Otherwise, it should be provided here."},"shipping_zip":{"type":"string","description":"The customer shipping zip code. If available, this value will be pulled from the payment_method associated with this transaction. Otherwise, it should be provided here."},"shipping_state":{"type":"string","description":"The customer shipping state. If available, this value will be pulled from the payment_method associated with this transaction. Otherwise, it should be provided here."},"shipping_phone_number":{"type":"string","description":"The customer shipping phone number. If available, this value will be pulled from the payment_method associated with this transaction. Otherwise, it should be provided here."}},"required":["delivery_method","delivery_type","cart_items"]},"protect_fraud_check_response":{"type":"object","description":"When a Fraud Check is attempted, provides an overview of the results at the time of the current transaction. For more information on Protection Fraud Checks, see [the guide](https://developer.spreedly.com/docs/protect).","properties":{"updated_at":{"type":"string","description":"The time the fraud check was last updated"},"created_at":{"type":"string","description":"The time the fraud check was created"},"protection_provider_key":{"type":"string","description":"The token of the Protection Provider used for this check"},"succeeded":{"type":"boolean","description":"Whether the fraud check request was successfully executed"},"state":{"type":"string","description":"The current state of the fraud check"},"token":{"type":"string","description":"The token uniquely identifying this fraud check at Spreedly"},"message":{"type":"string","description":"A human-readable message describing the result (if applicable)"},"amount":{"type":"number","description":"The transaction amount checked"},"currency_code":{"type":"string","description":"The currency of the funds in ISO format (e.g., USD)"},"ip":{"type":"string","description":"The IP address associated with the transaction"},"email":{"type":"string","description":"The email address associated with the transaction"},"transaction_type":{"type":"string","description":"The type of transaction"},"gateway_transaction_key":{"type":"string","description":"The Spreedly transaction token of the parent gateway transaction"},"callback_url":{"type":"string","description":"The URL where Spreedly will attempt delivery of asynchronous results (if provided)"},"test_scenario":{"type":"string","description":"The test scenario used"},"acquiring_bank_fraud_rate":{"type":"string","description":"The threshold for bank fraud rate used for exemption requests"},"exemption_type":{"type":"string","description":"The type of exemption requested (if applicable)"},"warning":{"type":"string","description":"Any warning messages from the fraud check"},"managed_order_token":{"type":"string","description":"The token of the fraud check returned by the fraud check provider"},"fraud_decision":{"type":"string","description":"The fraud decision outcome (e.g., approve, decline, review)"},"fraud_recommendation":{"type":"string","description":"Additional recommendation information from the fraud provider"},"fraud_decision_reason":{"type":"string","description":"Reason for the fraud decision"},"vendor_response":{"type":"object","description":"Detailed response from the fraud protection vendor","properties":{"forterDecision":{"type":"string","description":"The decision returned by Forter"},"recommendation":{"type":"string","description":"Recommended action from the vendor"},"verificationMethod":{"type":"object","description":"Methods used to verify the transaction"},"decisionReason":{"type":"string","description":"Reason for the vendor's decision"},"merchantPolicyId":{"type":"string","description":"Merchant policy identifier used to make the decision"},"orderId":{"type":"string","description":"Order identifier in the vendor's system"},"linkToEventInDashboard":{"type":"string","description":"URL to view the transaction details in the vendor's dashboard"}}}}},"protection_event_properties":{"type":"object","description":"When a Fraud Check is attempted with customer credentials, provides an overview of the results at the time of the current transaction. For more information on Protection Fraud Checks, see [the guide](https://developer.spreedly.com/docs/protect).","properties":{"updated_at":{"type":"string","description":"The time the fraud check was last updated"},"created_at":{"type":"string","description":"The time the fraud check was created"},"fraud_control_vendor_key":{"type":"string","description":"The token of the Fraud Control Vendor used for this check"},"vendor_transaction_id":{"type":"string","description":"The transaction identifier in the vendor's system"},"order_id":{"type":"string","description":"The order identifier in the vendor's system"},"protection_provider_key":{"type":"string","description":"The token of the Protection Provider used for this check"},"amount":{"type":"number","description":"The transaction amount checked"},"currency_code":{"type":"string","description":"The currency of the funds in ISO format (e.g., USD)"},"ip":{"type":"string","description":"The IP address associated with the transaction"},"email":{"type":"string","description":"The email address associated with the transaction"},"callback_url":{"type":"string","description":"The URL where Spreedly will attempt delivery of asynchronous results (if provided)"},"test_scenario":{"type":"string","description":"The test scenario used"},"acquiring_bank_fraud_rate":{"type":"string","description":"The threshold for bank fraud rate used for exemption requests"},"exemption_type":{"type":"string","description":"The type of exemption requested (if applicable)"},"warning":{"type":"string","description":"Any warning messages from the fraud check"},"managed_order_token":{"type":"string","description":"The token of the fraud check returned by the fraud check provider"},"fraud_decision":{"type":"string","description":"The fraud decision outcome (e.g., approve, decline, review)"},"fraud_recommendation":{"type":"string","description":"Additional recommendation information from the fraud provider"},"fraud_decision_reason":{"type":"string","description":"Reason for the fraud decision"},"vendor_response":{"type":"object","description":"Detailed response from the fraud protection vendor","properties":{"forterDecision":{"type":"string","description":"The decision returned by Forter"},"recommendation":{"type":"string","description":"Recommended action from the vendor"},"verificationMethod":{"type":"object","description":"Methods used to verify the transaction"},"decisionReason":{"type":"string","description":"Reason for the vendor's decision"},"merchantPolicyId":{"type":"string","description":"Merchant policy identifier used to make the decision"},"orderId":{"type":"string","description":"Order identifier in the vendor's system"},"linkToEventInDashboard":{"type":"string","description":"URL to view the transaction details in the vendor's dashboard"}}},"token":{"type":"string","description":"The token uniquely identifying the transaction at Spreedly. This token can be passed into an `authorize` or `purchase` transaction via the `sca_authentication_token` field to automatically fill its `payment_method_token` and Third Party 3DS2 fields."},"succeeded":{"type":"boolean","description":"`true` if the transaction request was successfully executed, `false` otherwise"},"state":{"type":"string","description":"The current state of the authentication. Valid values are `succeeded`, `failed`, and `pending`"},"message":{"type":"string","description":"A human-readable string indicating the result of the transaction"},"transaction_type":{"type":"string","description":"The type of transaction; contains “Sca::Authentication” for a Spreedly 3DS Global authentication"},"gateway_transaction_key":{"type":"string","description":"The Spreedly transaction token of the parent gateway transaction"},"sca_provider_key":{"type":"string","description":"The SCA Provider that was used to create the authentication"},"acs_transaction_id":{"type":"string","description":"The unique ID of the transaction given by the ACS server (3DS2 only)"},"three_ds_server_trans_id":{"type":"string","description":"The unique ID of the transaction given by the 3DS Server (3DS2 only)"},"directory_server_transaction_id":{"type":"string","description":"The unique ID of the transaction given by the directory server (3DS2 only)"},"xid":{"type":"string","description":"The transaction identifier given by the 3DS Server"},"three_ds_version":{"type":"string","description":"The version of 3DS that was used to authenticate the transaction"},"flow_performed":{"type":"string","description":"An enumerated field that denotes what flow was most recently performed. Valid values are `frictionless`, `device_fingerprint`, `challenge`, `app_challenge`, and `not_authenticated`."},"ecommerce_indicator":{"type":"string","description":"Contains the ecommerce indicator (ECI) returned by the 3DS Server"},"directory_response_status":{"type":"string","description":"The transaction status given by the directory server in the initial response. This field’s value corresponds to the `transStatus` enumeration in the EMV 3-D Secure Protocol. Valid values can be `Y`, `N`, `U`, `A`, `C`, or `R`. Please see the EMV 3-D Secure Protocol spec for more information."},"authentication_response_status":{"type":"string","description":"The most recent transaction status given received by the 3DS Server. This field’s value corresponds to the `transStatus` enumeration in the EMV 3-D Secure Protocol. Valid values can be `Y`, `N`, `U`, `A`, `C`, or `R`. Please see the EMV 3-D Secure Protocol spec for more information."},"authentication_value":{"type":"string","description":"The authentication value returned by the 3DS Server for successful authentications"},"trans_status_reason":{"type":"string","description":"Provides information on why the `authentication_response_status` field has the specific value. This field’s value corresponds to the `transStatusReason` enumeration in the EMV 3-D Secure Protocol. Please see EMV 3-D Secure Protocol spec for more information."},"daf":{"type":"boolean","description":"Boolean field to indicate if the authentication request utilized Visa’s Digital Authentication Framework."},"payment_method_key":{"type":"string","description":"The token of the payment method being authenticated. This is the same as the `payment_method_token` field in the `sca_authentication` transaction request."}}},"claim":{"type":"object","properties":{"additional_amount":{"type":"number","description":"Additional fees associated with the claim such as processor fees or shipping recovery fees"},"amount":{"type":"number","description":"The amount representing the value of the goods that were not retrieved"},"case_id":{"type":"string","description":"The case number from the payment processor. (For Braintree, please map the Dispute Id instead of Case Number)"},"charge_id":{"type":"string","description":"The unique transaction identifier from the gateway. If the fraud check and gateway transaction were done through Spreedly, this will be the `gateway_transaction_id`"},"comments":{"type":"string","description":"Additional comments by the merchant, e.g. *Contacted customer via phone*"},"currency":{"type":"string","description":"Transaction currency chosen by the buyer, 3-letter ISO-4217 format currency code"},"due_date":{"type":"string","description":"Due date for disputing the claim which was stated by the processor in case of a chargeback. Otherwise, the issue date. Use YYYY-MM-DD format. The expected date timezone is UTC"},"issue_date":{"type":"string","description":"Date the chargeback was issued / the prechargeback notification was sent. Use YYYY-MM-DD format. The expected date timezone is UTC"},"order_id":{"type":"string","description":"The unique protect check identifier from the provider. If the transaction was completed through Spreedly this will be [the `token` returned in the `protect_fraud_check` response](https://developer.spreedly.com/reference/authorize-1)"},"processor_name":{"type":"string","description":"The name of the gateway if the fraud check and gateway transaction were completed through Spreedly, e.g. *Stripe*"},"reason_code":{"type":"string","description":"The claim code as supplied by the claim source. For example, the chargeback reason provided in the chargeback notification. Ex: *83*"},"reason_description":{"type":"string","description":"The claim reason as supplied by the claim source. For example, the chargeback reason provided in the chargeback notification"},"reason_type":{"type":"string","description":"The claim reason category type","enum":["FRAUD","SERVICE","OTHER","AUTHORIZATION","PROCESSING_ERROR"],"default":"FRAUD"},"source_type":{"type":"string","description":"The category of the source of the claim","enum":["PROCESSOR_CB","AMEX","DISCOVER","PAYPAL","PROCESSOR_INQUIRY","CUSTOMER_SUPPORT","SHIPPING_CARRIER","THIRD_PARTY","FORTER","OTHER"],"default":"PROCESSOR_CB"},"status":{"type":"string","description":"Claim status mapping from the current status of the claim. For example, a mapping of the processor chargeback dispute status","enum":["OPEN","IN_DISPUTE","WON","LOST","CANCELED"],"default":"OPEN"},"type":{"type":"string","description":"The type of the claim","enum":["CHARGEBACK","PRE_CHARGEBACK","DEBIT_MEMO","REQUEST_FOR_INFORMATION","FRAUD_ALERT"],"default":"CHARGEBACK"}},"required":["amount","case_id","charge_id","currency","due_date","issue_date","order_id","processor_name","reason_code","reason_description","reason_type","status"]},"claim_response":{"type":"object","properties":{"claim":{"type":"object","properties":{"message":{"type":"string","description":"A human-readable message describing the result (if applicable)"},"status":{"type":"string","description":"The status of the claim"}}}}},"merchant_profile_card_details":{"type":"object","properties":{"acquirer_merchant_id":{"type":"string","description":"The MID is a unique code that ensures the funds make it from the cardholder’s bank account to your bank account when a transaction is processed. It is passed with other transaction information and is used to help with transaction reconciliation. You receive a MID when you open a merchant account with an acquiring bank. A merchant can have multiple MIDs based on the different sales channels they have."},"mcc":{"type":"string","description":"The MCC is a 4-digit code that classifies the type of goods or services that the business sells. Depending on its various lines of business, a merchant could have multiple MCCs. It is mandatory and usually used during the ACS risk analysis (not to be displayed anywhere). Certain MCCs are deemed riskier than others by the issuer, and thus tend to require a stronger challenge during the authentication."},"merchant_name":{"type":"string","description":"Assigned by the acquiring bank; please contact them"},"country_code":{"type":"string","description":"Country Code in [ISO 3166-1](https://en.wikipedia.org/wiki/ISO_3166-1_numeric#Current_codes) numeric format."}},"required":["acquirer_merchant_id","mcc","merchant_name","country_code"]},"merchant_profile_properties":{"type":"object","properties":{"token":{"type":"string","description":"The token uniquely identifying this merchant profile at Spreedly"},"description":{"type":"string","description":"A custom description that the merchant can assign to characterize the merchant profile."},"created_at":{"type":"string","description":"The time the merchant profile was created"},"updated_at":{"type":"string","description":"The time the merchant profile was last updated"},"sub_merchant_key":{"type":"string","description":"The token of the Sub-merchant associated with the Merchant Profile if one exists."},"card_networks":{"type":"object","description":"A nested object containing merchant info per card brand that are necessary to generate 3DS credentials per merchant. See `acquirer_merchant_id`, `merchant_name`, `country_code`, and `mcc` below for nested field information","properties":{"visa":{"$ref":"#/components/schemas/merchant_profile_card_details"},"mastercard":{"$ref":"#/components/schemas/merchant_profile_card_details"},"amex":{"$ref":"#/components/schemas/merchant_profile_card_details"},"discover":{"$ref":"#/components/schemas/merchant_profile_card_details"},"diners":{"$ref":"#/components/schemas/merchant_profile_card_details"},"jcb":{"$ref":"#/components/schemas/merchant_profile_card_details"},"dankort":{"$ref":"#/components/schemas/merchant_profile_card_details"},"union_pay":{"$ref":"#/components/schemas/merchant_profile_card_details"},"cartes_bancaires":{"$ref":"#/components/schemas/merchant_profile_card_details"}}}}},"list_merchant_profiles_response":{"type":"object","properties":{"merchant_profiles":{"type":"array","items":{"type":"object","$ref":"#/components/schemas/merchant_profile_properties"}}}},"merchant_profile_response":{"type":"object","properties":{"merchant_profile":{"$ref":"#/components/schemas/merchant_profile_properties"}}},"merchant_profile_create":{"type":"object","properties":{"merchant_profile":{"type":"object","properties":{"description":{"type":"string","description":"A custom description that the merchant can assign to characterize the merchant profile."},"sub_merchant_key":{"type":"string","description":"The token of the Sub-merchant associated with the Merchant Profile if one exists."},"visa":{"$ref":"#/components/schemas/merchant_profile_card_details"},"mastercard":{"$ref":"#/components/schemas/merchant_profile_card_details"},"amex":{"$ref":"#/components/schemas/merchant_profile_card_details"},"discover":{"$ref":"#/components/schemas/merchant_profile_card_details"},"diners":{"$ref":"#/components/schemas/merchant_profile_card_details"},"jcb":{"$ref":"#/components/schemas/merchant_profile_card_details"},"dankort":{"$ref":"#/components/schemas/merchant_profile_card_details"},"union_pay":{"$ref":"#/components/schemas/merchant_profile_card_details"},"cartes_bancaires":{"$ref":"#/components/schemas/merchant_profile_card_details"}}}}},"merchant_profile_update":{"type":"object","properties":{"merchant_profile":{"type":"object","properties":{"description":{"type":"string","description":"A custom description that the merchant can assign to characterize the merchant profile."}}}}},"card_metadata_response":{"type":"object","properties":{"card_metadata":{"type":"object","properties":{"backgroundColor":{"type":"string","description":"Hex color code for the background"},"foregroundColor":{"type":"string","description":"Hex color code for the foreground"},"labelColor":{"type":"string","description":"Hex color code for the label"},"contactEmail":{"type":"string","description":"Card contact email"},"contactNumber":{"type":"string","description":"Card contact number"},"contactName":{"type":"string","description":"Card contact name"},"privacyPolicyURL":{"type":"string","description":"The URL that links to the privacy policy of the card"},"termsAndConditionsURL":{"type":"string","description":"The URL that links to the terms and conditions of the card"},"termsAndConditionsID":{"type":"string","description":"The ID of the terms and conditions"},"shortDescription":{"type":"string","description":"A short description"},"longDescription":{"type":"string","description":"A long description"},"cardData":{"type":"array","items":{"type":"object","properties":{"guid":{"type":"string","description":"The ID of the content item"},"contentType":{"type":"string","description":"The content item's type"},"content":{"type":"array","items":{"type":"object","properties":{"mimeType":{"type":"string","description":"The mime type of the content item"},"width":{"type":"string","description":"The width of the content item"},"height":{"type":"string","description":"The height of the content item"}}}}}}},"unsupportedPresentationTypes":{"type":"array","items":{"type":"string"}},"issuerFlags":{"type":"object","properties":{"deviceBinding":{"type":"boolean"},"cardholderVerification":{"type":"boolean"},"trustedBeneficiaryEnrollment":{"type":"boolean"},"delegatedAuthenticationSupported":{"type":"boolean"},"oboDeviceBinding":{"type":"boolean"}}}}}}},"token_status_response":{"type":"object","properties":{"token_status":{"type":"string","description":"The status of a Network Token"}}},"receiver_properties":{"type":"object","properties":{"company_name":{"type":"string","description":"The name of the company providing the receiver"},"receiver_type":{"type":"string","description":"The type of the receiver"},"state":{"type":"string","description":"The storage state of the receiver. Can be one of `retained` or `redacted`. By default, receivers are created in the `retained` state and must be explicitly redacted if they are no longer required."},"token":{"type":"string","description":"The token uniquely identifying this receiver at Spreedly"},"created_at":{"type":"string","description":"The time the receiver was created"},"updated_at":{"type":"string","description":"The time the receiver was last updated"},"credentials":{"type":"array","description":"One or more name/value pairs used to authenticate with the receiver. Only credentials marked as safe will have their values echoed."},"hostnames":{"type":"string","description":"The allowed list of hostnames to which payment methods can be delivered"},"sub_merchant_key":{"type":"string","description":"The token of the [sub-merchant](https://developer.spreedly.com/reference/create-sub-merchant) to associate with the current receiver. If an invalid `sub_merchant_key` is passed through, the value defaults to `null`"}}},"list_supported_receivers_response":{"type":"object","properties":{"receivers":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"The human readable name of the receiver"},"receiver_type":{"type":"string","description":"The type (short name) of the receiver. Use this value when provisioning a receiver."},"hostnames":{"type":"string","description":"The urls used to interact with the receiver"},"company_name":{"type":"string","description":"The name of the company providing the receiver"}}}}}},"list_created_receivers_response":{"type":"object","properties":{"receivers":{"type":"array","items":{"type":"object","$ref":"#/components/schemas/receiver_properties"}}}},"http_receiver":{"type":"object","properties":{"receiver":{"type":"object","properties":{"receiver_type":{"type":"string","description":"The type of receiver to provision. Can be `test` for a test receiver, or any one of the other supported production receiver types."},"hostnames":{"type":"string","description":"The allowed list of hostnames to which payment methods can be delivered"},"credentials":{"type":"array","description":"Sensitive values that should be securely stored and made available to the request template at time of delivery","items":{"type":"object","properties":{"name":{"type":"string","description":"The name of the credential. This will be the name of the variable in the delivery request template."},"value":{"type":"string","description":"The value of the credential. This will be the value substituted in for the credential variable in the delivery request template."},"safe":{"type":"boolean","description":"_Default:_ `false`. Set to `true` if the credential is not a sensitive value (e.g., a user name). Otherwise it is assumed to be a sensitive value and will not be echoed back in API responses."}}}}},"required":["receiver_type"]}}},"sftp_receiver":{"type":"object","properties":{"receiver":{"type":"object","properties":{"receiver_type":{"type":"string","description":"The type of receiver to provision. Can be `test` for a test receiver, or any one of the other supported production receiver types."},"protocol":{"type":"object","description":"A hash of protocol values, currently only used for the SFTP protocol. e.g. `sftp://user:password@127.0.0.0`","properties":{"user":{"type":"string","description":"The user value"},"password":{"type":"string","description":"The password value"}}},"hostnames":{"type":"string","description":"Allowed list of hosts that the receiver can send payments to. Supports a comma sepaerated list of hostnames if multiple are required. Hostnames should include the protocol and domain, but not the path, e.g., `sftp://testing.receiver.com`. If provided for a `test` receiver, we will validate the delivery URL against the list of hostnames when simulating delivery to the receiver. Production receivers can omit hostnames as their values are hard-coded."}},"required":["receiver_type","protocol"]}}},"receiver_response":{"type":"object","properties":{"receiver":{"$ref":"#/components/schemas/receiver_properties"}}},"receiver_update":{"type":"object","properties":{"receiver":{"type":"object","properties":{"credentials":{"type":"array","description":"Sensitive values that should be securely stored and made available to the request template at time of delivery","items":{"type":"object","properties":{"name":{"type":"string","description":"The name of the credential. This will be the name of the variable in the delivery request template."},"value":{"type":"string","description":"The value of the credential. This will be the value substituted in for the credential variable in the delivery request template."},"safe":{"type":"boolean","description":"_Default:_ `false`. Set to `true` if the credential is not a sensitive value (e.g., a user name). Otherwise it is assumed to be a sensitive value and will not be echoed back in API responses."}}}}},"required":["credentials"]}}},"deliver":{"type":"object","properties":{"delivery":{"type":"object","properties":{"continue_caching":{"type":"boolean","description":"An option to keep the cvv cached for a few minutes. Otherwise cvv is deleted immediately."},"payment_method_token":{"type":"string","description":"The token of the payment method to send to the receiver and whose values will be applied to the delivery template."},"attempt_network_token":{"type":"boolean","description":"`true` if this transaction should use a network token if able. `false` or omit this element to not use a network token for this transaction. Please see our [network tokenization guide](https://developer.spreedly.com/docs/network-tokenization#transacting-with-network-tokens) for more details on Network Token logic checks."},"url":{"type":"string","description":"The full qualified URL to send the payment method. The URL must have the same hostname as one of the allowed hostnames for the target receiver. The URL string can include distribution variable placeholders, e.g., `https://prod.receiver.com/path/book?user={{user_name}}`."},"request_method":{"type":"string","description":"An option to specify the HTTP method to use when contacting the receiver. Acceptable values are `PUT`, `PATCH`, and `POST`. If omitted, the default value is `POST`."},"headers":{"type":"string","description":"The request headers to be sent to the receiver as a [colon-delimited, new-line separated, string](https://en.wikipedia.org/wiki/List_of_HTTP_header_fields#General_format). `Host` and `Content-Length` can be omitted as they are automatically generated by Spreedly. Headers can include distribution variable placeholders, e.g., `User: {{ user_name }}`."},"body":{"type":"string","description":"The request body that will get sent to the receiver. The body can include distribution variable placeholders, e.g., `{{ credit_card_number }}`."},"encode_response":{"type":"boolean","description":"_Default:_ `false`. If `true`, the `response_body` value in the delivery transaction response will be base64 encoded. This is useful if there are characters in the response known to cause encoding or other formatting issues."},"sub_merchant_key":{"type":"string","description":"The token of the [sub-merchant](https://developer.spreedly.com/reference/create-sub-merchant) to associate with the current transaction. If an invalid `sub_merchant_key` is passed through, the value defaults to `null`."}},"required":["payment_method_token","url","body"]}}},"deliver_response":{"type":"object","properties":{"transaction":{"type":"object","allOf":[{"type":"object","properties":{"token":{"type":"string","description":"The token of this transaction"},"transaction_type":{"type":"string","description":"The type of transaction, e.g., DeliverPaymentMethod, Capture, Credit"},"state":{"type":"string","description":"The current state of the transaction"},"created_at":{"type":"string","description":"The time the transaction token was created"},"updated_at":{"type":"string","description":"The time the transaction was last updated"},"succeeded":{"type":"boolean","description":"`true` if the transaction request was successfully executed, `false` otherwise"},"message":{"type":"string","description":"A human-readable string indicating the result of the transaction"},"sub_merchant_key":{"type":"string","description":"The token of the sub-merchant associated with the transaction."},"url":{"type":"string","description":"The full qualified URL where the payment method was sent."},"deliver_time_ms":{"type":"number","description":"The time it took for the deliver transaction to process in milliseconds."},"response":{"type":"object","description":"The raw response status, header and body returned from the receiver. Parse these values to retrieve relevant response fields.","properties":{"status":{"type":"number","description":"The status code returned by the receiver."},"headers":{"type":"string","description":"The headers, as delivered exactly by the receiver"},"body":{"type":"string","description":"The raw body delivered from the receiver, with account numbers and sensitive data redacted."}}}}},{"type":"object","description":"The receiver the payment method was delivered to","properties":{"receiver":{"$ref":"#/components/schemas/receiver_properties"}}},{"type":"object","description":"The payment method created as part of this transaction","properties":{"payment_method":{"$ref":"#/components/schemas/payment_method"}}}]}}},"export_properties":{"type":"object","properties":{"export":{"type":"object","properties":{"payment_method_tokens":{"type":"array","description":"An array of payment method tokens to include in the export","items":{"type":"string"}},"payment_method_data":{"type":"object","description":"A hash of key/value pairs. For each pair, the key is a payment_method_token and the value is a hash of information specific to the associated payment method. This payment method specific information is made available to the request template at time of export."},"url":{"type":"string","description":"The fully qualified URL for the SFTP server. The URL must have the same hostname as one of the allowed hostnames for the target receiver. The path of the url will be used as the file name, e.g., `sftp://prod.receiver.com/path/to/file.txt`."},"body":{"type":"string","description":"The request body that will get sent to the receiver e.g., `{{#payment_methods}}{{ credit_card_number }}{{/payment_methods}}`."},"callback_url":{"type":"string","description":"The url where Spreedly will attempt delivery of transaction results. Transaction results are posted in JSON format."},"sub_merchant_key":{"type":"string","description":"The token of the [sub-merchant](https://developer.spreedly.com/reference/create-sub-merchant) to associate with the current transaction. If an invalid `sub_merchant_key` is passed through, the value defaults to `null`."}}}},"required":["payment_method_tokens","url","body"]},"export_response":{"type":"object","properties":{"transaction":{"type":"object","allOf":[{"type":"object","properties":{"token":{"type":"string","description":"The token of this transaction"},"transaction_type":{"type":"string","description":"The type of transaction, e.g., ExportPaymentMethods, Capture, Credit"},"state":{"type":"string","description":"The state of this transaction. The state will be “pending” until the transaction has completed processing. Once processed, the state can be either “succeeded” or “failed”"},"created_at":{"type":"string","description":"The time the transaction was created"},"updated_at":{"type":"string","description":"The time the transaction was last updated"},"succeeded":{"type":"boolean","description":"Shows if the transaction completed with a non error status. While the transaction is pending, this value will be false."},"message":{"type":"string","description":"A brief description of the results of the transaction."},"payment_methods_submitted":{"type":"array","description":"The payment method tokens in the original export request"},"payment_method_data":{"type":"object","description":"A hash of key/value pairs. For each pair, the key is a payment_method_token and the value is a hash of information specific to the associated payment method. This payment method specific information is made available to the request template at time of export."},"payment_methods_included":{"type":"array","description":"The payment method tokens included in the export to the receiver. This value is null while the transaction is pending. Once the transaction is processed, this value will be an array of payment method tokens."},"encode_response":{"type":"boolean","description":"_Default:_ `false`. If `true`, the `response_body` value in the delivery transaction response will be base64 encoded. This is useful if there are characters in the response known to cause encoding or other formatting issues."},"callback_url":{"type":"string","description":"The url where Spreedly attempted delivery of transaction results. Transaction results are posted in JSON format."},"url":{"type":"string","description":"The fully qualified URL for the SFTP server. The URL must have the same hostname as one of the allowed hostnames for the target receiver. The path of the url will be used as the file name, e.g., `sftp://prod.receiver.com/path/to/file.txt`."},"payment_methods_excluded":{"type":"object","description":"The payment methods that were not included in the export to the receiver. The value is null while the transaction is pending. Once the transaction is processed, this value will be a hash with key/value pairs. The keys are payment method tokens, the values are the reason the payment method was not included in the export to the receiver."},"response":{"type":"string","description":"The response status returned from the receiver. The response is null while the transaction is pending."}}},{"type":"object","description":"The receiver the payment method was exported to","properties":{"receiver":{"$ref":"#/components/schemas/receiver_properties"}}}]}}},"card_refresher_inquiry_request":{"type":"object","properties":{"card_refresher_inquiry":{"type":"object","properties":{"region":{"type":"string","description":"The onboarded region where the payment method is processed. Valid values are: `NA`, `EU`, and `LATAM`"},"payment_method_token":{"type":"string","description":"The token of the payment method to be inquired for update. Currently must have a `card_type` of `visa`, `master`, or `discover`. Note: if `master` or `discover` are used, you must also include the updating_service."},"updating_service":{"type":"string","description":"Optional. The updating service to use for the inquiry. Valid values are: `visa_au`. If not provided, the service will be inferred based on the payment method's card type. Note: only `visa` is supported in inferred mode at this time."}},"required":["payment_method_token","region"]}}},"card_refresh_transaction_response":{"type":"object","description":"The transaction associated with a refresh action for a payment method","properties":{"token":{"type":"string","description":"The token uniquely identifying this transaction at Spreedly"},"created_at":{"type":"string","description":"The time the transaction token was created"},"updated_at":{"type":"string","description":"The time the transaction was last updated"},"succeeded":{"type":"boolean","description":"`true` if the transaction request was successfully executed, `false` otherwise"},"transaction_type":{"type":"string","description":"The type of transaction, e.g., ReplacePaymentMethod, ContactCardHolder, NoUpdate"},"state":{"type":"string","description":"The current state of the transaction"},"message":{"type":"string","description":"A human-readable string indicating the result of the transaction"},"environment_key":{"type":"string","description":"The environment key associated with the transaction"},"region":{"type":"string","description":"When available, the region associated with the refresh transaction"},"updating_service":{"type":"string","description":"The updating service used for the refresh transaction, e.g. `worldpay`, `mastercard_abu`, or `visa_au`"},"payment_method":{"$ref":"#/components/schemas/payment_method"}}},"inquiry_response":{"type":"object","properties":{"transaction":{"type":"object","properties":{"token":{"type":"string","description":"The token uniquely identifying this transaction at Spreedly"},"succeeded":{"type":"boolean","description":"`true` if the transaction request was successfully executed, `false` otherwise"},"message":{"type":"string","description":"A human-readable string indicating the result of the transaction"},"state":{"type":"string","description":"The current state of the transaction"},"transaction_type":{"type":"string","description":"The type of transaction; contains \"Inquiry\" for a Card Refresh Inquiry transaction"},"created_at":{"type":"string","description":"The time the transaction was created"},"updated_at":{"type":"string","description":"The time the transaction was last updated"},"merchant_id":{"type":"string","description":"The id associated with the merchant registration used in the inquiry"},"region":{"type":"string","description":"The region associated with the inquiry"},"inquiry_status":{"type":"string","description":"The status of the inquiry. Possible values are: `succeeded`, `error`, and `rejected`"},"payment_method_token":{"type":"string","description":"The token of the payment method used in the inquiry"},"card_refresh_transaction":{"$ref":"#/components/schemas/card_refresh_transaction_response"}}}}},"inquiry_event_response":{"type":"object","properties":{"inquiry":{"type":"object","properties":{"token":{"type":"string","description":"The token uniquely identifying this event at Spreedly"},"succeeded":{"type":"boolean","description":"`true` if the event request was successfully executed, `false` otherwise"},"message":{"type":"string","description":"A human-readable string indicating the result of the event"},"state":{"type":"string","description":"The current state of the event"},"transaction_type":{"type":"string","description":"The type of transaction; contains \"Inquiry\" for a Card Refresh Inquiry event"},"created_at":{"type":"string","description":"The time the event was created"},"updated_at":{"type":"string","description":"The time the event was last updated"},"merchant_id":{"type":"string","description":"The id associated with the merchant registration used in the inquiry"},"region":{"type":"string","description":"The region associated with the inquiry"},"inquiry_status":{"type":"string","description":"The status of the inquiry. Possible values are: `succeeded`, `error`, and `rejected`"},"payment_method_token":{"type":"string","description":"The token of the payment method used in the inquiry"},"card_refresh_event":{"$ref":"#/components/schemas/card_refresh_transaction_response"}}}}},"list_inquiries_event_response":{"type":"object","properties":{"inquiries":{"type":"array","items":{"$ref":"#/components/schemas/inquiry_event_response"}}}},"event_response":{"type":"object","properties":{"event":{"type":"object","properties":{"id":{"type":"string","description":"The unique identifier for the event"},"request_id":{"type":"string","description":"The X-REQUEST-ID HTTP header value of the request that generated the event"},"event_type":{"type":"string","description":"The type of event that occurred, e.g., `AddGateway`, `UpdateMerchantProfile`"},"object_type":{"type":"string","description":"The type of object that the event is associated with, e.g., `gateway`, `merchant_profile`"},"object_key":{"type":"string","description":"The key of the object that the event is associated with, e.g., `6A8HT3R1XP9G78ABK04GM1957F`"},"created_at":{"type":"string","description":"The time the event was created"}}}}},"network_tokenization":{"type":"object","description":"The network tokenization details for the transaction","properties":{"provisioned":{"type":"boolean","default":false,"description":"Indicates if the network tokenization was successfully provisioned"},"token_status":{"type":"string","description":"The status of the network token"},"token_reference":{"type":"string","description":"The unique reference key for the network token"},"token_first_six_digits":{"type":"string","description":"The first six digits of the network token's DPAN"},"token_last_four_digits":{"type":"string","description":"The last four digits of the network token's DPAN"},"token_created_at":{"type":"string","description":"The timestamp when the network token was created"},"token_updated_at":{"type":"string","description":"The timestamp when the network token was last updated"},"attempted":{"type":"boolean","default":false,"description":"Indicates if the transaction attempted to use a network token"},"errors":{"type":"array","description":"An array of errors that occurred during the network tokenization process","items":{"type":"object","properties":{"key":{"type":"string","description":"The error key"},"message":{"type":"string","description":"The error message"},"action":{"type":"string","description":"The action taken which lead to the error","required":false}}}}}},"provision_network_token":{"type":"boolean","description":"`true` if this transaction should attempt to provision a network token. `false` or omit this element to not provision a network token for this transaction. Please see our [network tokenization guide](https://developer.spreedly.com/docs/network-tokenization#provisioning-network-tokens) for more details."},"network_token":{"type":"object","description":"Network token details for a payment method","properties":{"status":{"type":"string","description":"The status of the network token"},"v_provisioned_token_id":{"type":"string","description":"The Visa provisioned token ID (Visa network tokens only)"},"token_reference":{"type":"string","description":"The unique reference key for the network token"},"token_first_six_digits":{"type":"string","description":"The first six digits of the network token's DPAN"},"token_last_four_digits":{"type":"string","description":"The last four digits of the network token's DPAN"},"token_created_at":{"type":"string","description":"The timestamp when the network token was created"},"token_updated_at":{"type":"string","description":"The timestamp when the network token was last updated"}}},"protection_event_response":{"type":"object","properties":{"event":{"$ref":"#/components/schemas/protection_event_properties"}}},"list_protection_events_response":{"type":"object","properties":{"events":{"type":"array","items":{"$ref":"#/components/schemas/protection_event_properties"}}}}}},"servers":[{"url":"https://core.spreedly.com/v1"}],"paths":{"/gateways/{gateway_token}/authorize":{"post":{"summary":"Authorize a payment method token","tags":["authorize"],"security":[{"basic_auth":[]}],"operationId":"authorize","description":"Authorize a payment method to be charged a specific amount at the target gateway. No funds are taken with an authorize – a follow-up [capture](https://developer.spreedly.com/reference/capture-transaction) transaction is required to actually move the funds.\n\nThe referenced gateway must exist in the environment whose environment key is being used to authenticate the API call.\n\n**Tokenized payment method:** Authorize a Payment Method Token (already stored in the Spreedly environment) to be charged a specific amount.\n\nThe `payment_method_token` field of the transaction request is required.\n\n**Pass-in credit card:** Pass a credit card payment method directly in to the authorize request. If the card is valid, it will automatically be tokenized at Spreedly before sending to the gateway.\n\nThe `credit_card` field of the transaction request is required.\n\n**Pass-in Apple Pay:** Pass an Apple Pay payment method directly into the authorize request. If the Apple Pay data is valid, it will automatically be tokenized at Spreedly before sending to the gateway.\n\nThe `apple_pay` field of the transaction request is required.\n\n**Pass-in Google Pay:** Pass a Google Pay payment method directly in to the authorize request. If the Google Pay data is valid, it will automatically be tokenized at Spreedly before sending to the gateway.\n\nThe `google_pay` field of the transaction request is required.\n\n**SCA Authenticated:** Authorize an SCA Authenticated payment method (already stored in the Spreedly environment) to be charged a specific amount.\n\nThe `sca_authentication_token` field of the transaction request is required.\n","parameters":[{"$ref":"#/components/parameters/gateway_token"}],"responses":{"200":{"description":"OK","content":{"Network Token Provisioned":{"examples":{"application/json":{"value":{"transaction":{"token":"3iUAv9hUqP7x0bMxVtQKXlayFx0","succeeded":true,"message":"Succeeded!","gateway_transaction_id":"63","retain_on_success":false,"payment_method_added":false,"response":{"success":true,"message":"Successful authorize","avs_code":null,"avs_message":null,"cvv_code":null,"cvv_message":null,"pending":false,"result_unknown":false,"error_code":null,"error_detail":null,"cancelled":false,"fraud_review":null,"created_at":"2018-11-07T15:05:08Z","updated_at":"2018-11-07T15:05:08Z"},"payment_method":{"token":"1rpKvP8zOUhj4Y9EDrIoIYQzzD5","created_at":"2017-06-26T17:04:38Z","updated_at":"2018-11-07T15:05:07Z","email":"joey@example.com","data":{"my_payment_method_identifier":"448","extra_stuff":{"some_other_things":"Can be anything really"}},"storage_state":"retained","test":true,"metadata":{"key":"string value","another_key":123,"final_key":true},"last_four_digits":"1111","first_six_digits":"411111","card_type":"visa","first_name":"Newfirst","last_name":"Newlast","month":3,"year":2032,"address1":null,"address2":null,"city":null,"state":null,"zip":null,"country":null,"phone_number":null,"company":null,"full_name":"Newfirst Newlast","eligible_for_card_updater":null,"shipping_address1":null,"shipping_address2":null,"shipping_city":null,"shipping_state":null,"shipping_zip":null,"shipping_country":null,"shipping_phone_number":null,"payment_method_type":"credit_card","bin_metadata":{"card_brand":"DISCOVER","card_category":"PERSONAL","card_type":"CREDIT","issuing_bank":"DISCOVER BANK","issuing_country_iso_number":"840","issuing_country_iso_a2_code":"US","issuing_country_iso_a3_code":"USA","issuing_country_iso_name":"UNITED STATES","issuing_bank_phone_number":"1 (800) 347-7000","issuing_bank_website":"HTTPS://WWW.DISCOVER.COM/","bin_type":"PERSONAL","regulated":"Y","max_pan_length":19,"message":"Successful"},"errors":[],"fingerprint":"e3cef43464fc832f6e04f187df25af497994","verification_value":"","number":"XXXX-XXXX-XXXX-1111"},"sub_merchant_key":null,"gateway_specific_response_fields":{},"network_tokenization":{"provisioned":true,"token_status":"active","token_reference":"DWSP01234567890ABCDEF0123456789AB","token_first_six_digits":"411111","token_last_four_digits":"1234","token_created_at":"2024-01-15T10:30:00Z","token_updated_at":"2024-01-15T10:30:00Z"}}}},"application/xml":{"value":"\n\n 3iUAv9hUqP7x0bMxVtQKXlayFx0\n true\n Succeeded!\n 63\n false\n false\n \n true\n Successful authorize\n \n \n \n \n false\n false\n \n \n false\n \n 2018-11-07T15:05:08Z\n 2018-11-07T15:05:08Z\n \n \n 1rpKvP8zOUhj4Y9EDrIoIYQzzD5\n 2017-06-26T17:04:38Z\n 2018-11-07T15:05:07Z\n joey@example.com\n \n 448\n \n Can be anything really\n \n \n retained\n true\n \n string value\n 123\n true\n \n 1111\n 411111\n visa\n Newfirst\n Newlast\n 3\n 2032\n \n \n \n \n \n \n \n \n Newfirst Newlast\n \n \n \n \n \n \n \n \n credit_card\n \n DISCOVER\n PERSONAL\n CREDIT\n DISCOVER BANK\n 840\n US\n USA\n UNITED STATES\n 1 (800) 347-7000\n HTTPS://WWW.DISCOVER.COM/\n PERSONAL\n Y\n 19\n Successful\n \n \n e3cef43464fc832f6e04f187df25af497994\n \n XXXX-XXXX-XXXX-1111\n \n \n \n \n \n true\n active\n DWSP01234567890ABCDEF0123456789AB\n 411111\n 1234\n 2024-01-15T10:30:00Z\n 2024-01-15T10:30:00Z\n \n\n"}}},"Network Token Provision Failed":{"examples":{"application/json":{"value":{"transaction":{"token":"3iUAv9hUqP7x0bMxVtQKXlayFx0","succeeded":true,"message":"Succeeded!","gateway_transaction_id":"63","retain_on_success":false,"payment_method_added":false,"response":{"success":true,"message":"Successful authorize","avs_code":null,"avs_message":null,"cvv_code":null,"cvv_message":null,"pending":false,"result_unknown":false,"error_code":null,"error_detail":null,"cancelled":false,"fraud_review":null,"created_at":"2018-11-07T15:05:08Z","updated_at":"2018-11-07T15:05:08Z"},"payment_method":{"token":"1rpKvP8zOUhj4Y9EDrIoIYQzzD5","created_at":"2017-06-26T17:04:38Z","updated_at":"2018-11-07T15:05:07Z","email":"joey@example.com","data":{"my_payment_method_identifier":"448","extra_stuff":{"some_other_things":"Can be anything really"}},"storage_state":"retained","test":true,"metadata":{"key":"string value","another_key":123,"final_key":true},"last_four_digits":"1111","first_six_digits":"411111","card_type":"visa","first_name":"Newfirst","last_name":"Newlast","month":3,"year":2032,"address1":null,"address2":null,"city":null,"state":null,"zip":null,"country":null,"phone_number":null,"company":null,"full_name":"Newfirst Newlast","eligible_for_card_updater":null,"shipping_address1":null,"shipping_address2":null,"shipping_city":null,"shipping_state":null,"shipping_zip":null,"shipping_country":null,"shipping_phone_number":null,"payment_method_type":"credit_card","bin_metadata":{"card_brand":"DISCOVER","card_category":"PERSONAL","card_type":"CREDIT","issuing_bank":"DISCOVER BANK","issuing_country_iso_number":"840","issuing_country_iso_a2_code":"US","issuing_country_iso_a3_code":"USA","issuing_country_iso_name":"UNITED STATES","issuing_bank_phone_number":"1 (800) 347-7000","issuing_bank_website":"HTTPS://WWW.DISCOVER.COM/","bin_type":"PERSONAL","regulated":"Y","max_pan_length":19,"message":"Successful"},"errors":[],"fingerprint":"e3cef43464fc832f6e04f187df25af497994","verification_value":"","number":"XXXX-XXXX-XXXX-1111"},"sub_merchant_key":null,"gateway_specific_response_fields":{},"network_tokenization":{"provisioned":false,"token_status":null,"errors":[{"key":"invalidParameter","message":"Your request does not have valid set of parameters required to process the business function.","action":"provision_network_token"}]}}}},"application/xml":{"value":"\n\n 3iUAv9hUqP7x0bMxVtQKXlayFx0\n true\n Succeeded!\n 63\n false\n false\n \n true\n Successful authorize\n \n \n \n \n false\n false\n \n \n false\n \n 2018-11-07T15:05:08Z\n 2018-11-07T15:05:08Z\n \n \n 1rpKvP8zOUhj4Y9EDrIoIYQzzD5\n 2017-06-26T17:04:38Z\n 2018-11-07T15:05:07Z\n joey@example.com\n \n 448\n \n Can be anything really\n \n \n retained\n true\n \n string value\n 123\n true\n \n 1111\n 411111\n visa\n Newfirst\n Newlast\n 3\n 2032\n \n \n \n \n \n \n \n \n Newfirst Newlast\n \n \n \n \n \n \n \n \n credit_card\n \n DISCOVER\n PERSONAL\n CREDIT\n DISCOVER BANK\n 840\n US\n USA\n UNITED STATES\n 1 (800) 347-7000\n HTTPS://WWW.DISCOVER.COM/\n PERSONAL\n Y\n 19\n Successful\n \n \n e3cef43464fc832f6e04f187df25af497994\n \n XXXX-XXXX-XXXX-1111\n \n \n \n \n \n false\n \n \n \n invalidParameter\n Your request does not have valid set of parameters required to process the business function.\n provision_network_token\n \n \n \n\n"}}},"Network Token Attempted":{"examples":{"application/json":{"value":{"transaction":{"token":"3iUAv9hUqP7x0bMxVtQKXlayFx0","succeeded":true,"message":"Succeeded!","gateway_transaction_id":"63","retain_on_success":false,"payment_method_added":false,"response":{"success":true,"message":"Successful authorize","avs_code":null,"avs_message":null,"cvv_code":null,"cvv_message":null,"pending":false,"result_unknown":false,"error_code":null,"error_detail":null,"cancelled":false,"fraud_review":null,"created_at":"2018-11-07T15:05:08Z","updated_at":"2018-11-07T15:05:08Z"},"payment_method":{"token":"1rpKvP8zOUhj4Y9EDrIoIYQzzD5","created_at":"2017-06-26T17:04:38Z","updated_at":"2018-11-07T15:05:07Z","email":"joey@example.com","data":{"my_payment_method_identifier":"448","extra_stuff":{"some_other_things":"Can be anything really"}},"storage_state":"retained","test":true,"metadata":{"key":"string value","another_key":123,"final_key":true},"last_four_digits":"1111","first_six_digits":"411111","card_type":"visa","first_name":"Newfirst","last_name":"Newlast","month":3,"year":2032,"address1":null,"address2":null,"city":null,"state":null,"zip":null,"country":null,"phone_number":null,"company":null,"full_name":"Newfirst Newlast","eligible_for_card_updater":null,"shipping_address1":null,"shipping_address2":null,"shipping_city":null,"shipping_state":null,"shipping_zip":null,"shipping_country":null,"shipping_phone_number":null,"payment_method_type":"credit_card","bin_metadata":{"card_brand":"DISCOVER","card_category":"PERSONAL","card_type":"CREDIT","issuing_bank":"DISCOVER BANK","issuing_country_iso_number":"840","issuing_country_iso_a2_code":"US","issuing_country_iso_a3_code":"USA","issuing_country_iso_name":"UNITED STATES","issuing_bank_phone_number":"1 (800) 347-7000","issuing_bank_website":"HTTPS://WWW.DISCOVER.COM/","bin_type":"PERSONAL","regulated":"Y","max_pan_length":19,"message":"Successful"},"errors":[],"fingerprint":"e3cef43464fc832f6e04f187df25af497994","verification_value":"","number":"XXXX-XXXX-XXXX-1111"},"sub_merchant_key":null,"gateway_specific_response_fields":{},"network_tokenization":{"attempted":true,"token_status":"active","token_reference":"DWSP01234567890ABCDEF0123456789AB","token_first_six_digits":"411111","token_last_four_digits":"1234","token_created_at":"2024-01-15T10:30:00Z","token_updated_at":"2024-01-15T10:30:00Z"}}}},"application/xml":{"value":"\n\n 3iUAv9hUqP7x0bMxVtQKXlayFx0\n true\n Succeeded!\n 63\n false\n false\n \n true\n Successful authorize\n \n \n \n \n false\n false\n \n \n false\n \n 2018-11-07T15:05:08Z\n 2018-11-07T15:05:08Z\n \n \n 1rpKvP8zOUhj4Y9EDrIoIYQzzD5\n 2017-06-26T17:04:38Z\n 2018-11-07T15:05:07Z\n joey@example.com\n \n 448\n \n Can be anything really\n \n \n retained\n true\n \n string value\n 123\n true\n \n 1111\n 411111\n visa\n Newfirst\n Newlast\n 3\n 2032\n \n \n \n \n \n \n \n \n Newfirst Newlast\n \n \n \n \n \n \n \n \n credit_card\n \n DISCOVER\n PERSONAL\n CREDIT\n DISCOVER BANK\n 840\n US\n USA\n UNITED STATES\n 1 (800) 347-7000\n HTTPS://WWW.DISCOVER.COM/\n PERSONAL\n Y\n 19\n Successful\n \n \n e3cef43464fc832f6e04f187df25af497994\n \n XXXX-XXXX-XXXX-1111\n \n \n \n \n \n true\n active\n DWSP01234567890ABCDEF0123456789AB\n 411111\n 1234\n 2024-01-15T10:30:00Z\n 2024-01-15T10:30:00Z\n \n\n"}}},"Network Token Attempted Error":{"examples":{"application/json":{"value":{"transaction":{"token":"3iUAv9hUqP7x0bMxVtQKXlayFx0","succeeded":true,"message":"Succeeded!","gateway_transaction_id":"63","retain_on_success":false,"payment_method_added":false,"response":{"success":true,"message":"Successful authorize","avs_code":null,"avs_message":null,"cvv_code":null,"cvv_message":null,"pending":false,"result_unknown":false,"error_code":null,"error_detail":null,"cancelled":false,"fraud_review":null,"created_at":"2018-11-07T15:05:08Z","updated_at":"2018-11-07T15:05:08Z"},"payment_method":{"token":"1rpKvP8zOUhj4Y9EDrIoIYQzzD5","created_at":"2017-06-26T17:04:38Z","updated_at":"2018-11-07T15:05:07Z","email":"joey@example.com","data":{"my_payment_method_identifier":"448","extra_stuff":{"some_other_things":"Can be anything really"}},"storage_state":"retained","test":true,"metadata":{"key":"string value","another_key":123,"final_key":true},"last_four_digits":"1111","first_six_digits":"411111","card_type":"visa","first_name":"Newfirst","last_name":"Newlast","month":3,"year":2032,"address1":null,"address2":null,"city":null,"state":null,"zip":null,"country":null,"phone_number":null,"company":null,"full_name":"Newfirst Newlast","eligible_for_card_updater":null,"shipping_address1":null,"shipping_address2":null,"shipping_city":null,"shipping_state":null,"shipping_zip":null,"shipping_country":null,"shipping_phone_number":null,"payment_method_type":"credit_card","bin_metadata":{"card_brand":"DISCOVER","card_category":"PERSONAL","card_type":"CREDIT","issuing_bank":"DISCOVER BANK","issuing_country_iso_number":"840","issuing_country_iso_a2_code":"US","issuing_country_iso_a3_code":"USA","issuing_country_iso_name":"UNITED STATES","issuing_bank_phone_number":"1 (800) 347-7000","issuing_bank_website":"HTTPS://WWW.DISCOVER.COM/","bin_type":"PERSONAL","regulated":"Y","max_pan_length":19,"message":"Successful"},"errors":[],"fingerprint":"e3cef43464fc832f6e04f187df25af497994","verification_value":"","number":"XXXX-XXXX-XXXX-1111"},"sub_merchant_key":null,"gateway_specific_response_fields":{},"network_tokenization":{"attempted":false,"token_status":"active","errors":[{"key":"cryptogram_error","message":"Cryptogram could not be successfully retrieved for Network Token.","action":"attempt_network_token"}]}}}},"application/xml":{"value":"\n\n 3iUAv9hUqP7x0bMxVtQKXlayFx0\n true\n Succeeded!\n 63\n false\n false\n \n true\n Successful authorize\n \n \n \n \n false\n false\n \n \n false\n \n 2018-11-07T15:05:08Z\n 2018-11-07T15:05:08Z\n \n \n 1rpKvP8zOUhj4Y9EDrIoIYQzzD5\n 2017-06-26T17:04:38Z\n 2018-11-07T15:05:07Z\n joey@example.com\n \n 448\n \n Can be anything really\n \n \n retained\n true\n \n string value\n 123\n true\n \n 1111\n 411111\n visa\n Newfirst\n Newlast\n 3\n 2032\n \n \n \n \n \n \n \n \n Newfirst Newlast\n \n \n \n \n \n \n \n \n credit_card\n \n DISCOVER\n PERSONAL\n CREDIT\n DISCOVER BANK\n 840\n US\n USA\n UNITED STATES\n 1 (800) 347-7000\n HTTPS://WWW.DISCOVER.COM/\n PERSONAL\n Y\n 19\n Successful\n \n \n e3cef43464fc832f6e04f187df25af497994\n \n XXXX-XXXX-XXXX-1111\n \n \n \n \n \n false\n active\n \n \n cryptogram_error\n Cryptogram could not be successfully retrieved for Network Token.\n attempt_network_token\n \n \n \n\n"}}},"application/json":{"schema":{"$ref":"#/components/schemas/authorize_response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/authorize_response"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/authorize_request"},"examples":{"Payment method token":{"summary":"Payment method token","value":{"transaction":{"payment_method_token":"","amount":100,"currency_code":"USD"}}},"With Recover":{"summary":"With Recover","value":{"transaction":{"payment_method_token":"","amount":100,"currency_code":"USD","retry":{"gateway_tokens":["",""],"mode":"","custom_errors":{"gateway_type":{"override_error_codes":false,"messages":["",""]}}}}}},"SCA Authenticated":{"summary":"SCA Authenticated","value":{"transaction":{"sca_authentication_token":"","amount":1122,"currency_code":"USD"}}},"Pass in credit card":{"summary":"Pass in credit card","value":{"transaction":{"amount":100,"currency_code":"USD","credit_card":{"first_name":"Joe","last_name":"Smith","number":4111111111111111,"verification_value":123,"month":12,"year":2030}}}},"Pass in Apple Pay":{"summary":"Pass in Apple Pay","value":{"transaction":{"amount":100,"currency_code":"USD","apple_pay":{"payment_data":{"version":"","data":"","signature":"","header":{"ephemeralPublicKey":"","transactionId":"","publicKeyHash":""}},"test_card_number":"4111111111111111"}}}},"Pass in Google Pay":{"summary":"Pass in Google Pay","value":{"transaction":{"amount":1122,"currency_code":"USD","google_pay":{"payment_data":{"signature":"","protocolVersion":"","signedMessage":"{}"},"test_card_number":"4111111111111111"}}}},"With Protection parameters":{"summary":"With Protection parameters","value":{"transaction":{"amount":1000,"currency_code":"USD","payment_method_token":"4EGlSI8da0wgSe7KDMR7dQrttQt","protection_provider_token":"5TT6BS9GA9RE3AHPH3AEPPE0G6","protection_parameters":{"test_scenario":{"scenario":""},"forter_mobile_uid":"e520-ba9a-367-60b","fraud_token":"dsjhsudeu","user_agent":"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.73 Safari/537.36","cart_items":[{"name":"White GenericBrand handbag","quantity":1,"type":"TANGIBLE","price":"1000"},{"name":"White GenericBrand handbag","quantity":1,"type":"TANGIBLE","price":"1000"}],"delivery_type":"PHYSICAL","delivery_method":"FedEx","customer_account_id":"1234567","customer_account_type":"BUSINESS","customer_account_creation_date":1234567,"billing_name":"Firstname Lastname","billing_first_name":"Firstname","billing_last_name":"Lastname","email":"email@email.com","billing_country":"US","billing_address1":"123 Fake St","billing_address2":"","billing_city":"Durham","billing_zip":"01435","billing_phone_number":"1234567890","shipping_name":"Same Name","shipping_first_name":"Same","shipping_last_name":"Name","shipping_email":"email@email.com","shipping_address1":"321 Real St","shipping_address2":"","shipping_city":"Orlando","shipping_state":"FL","shipping_phone_number":"0987654321"}}}},"Provision Network Token":{"summary":"Attempt to Provision Network Token","value":{"transaction":{"payment_method_token":"","amount":100,"currency_code":"USD","retain_on_success":true,"provision_network_token":true}}},"Attempt Network Token":{"summary":"Attempt to Transact with Network Token","value":{"transaction":{"payment_method_token":"","amount":100,"currency_code":"USD","attempt_network_token":true}}}}},"application/xml":{"schema":{"$ref":"#/components/schemas/authorize_request"},"examples":{"Payment method token":{"summary":"Payment method token","value":{"transaction":{"payment_method_token":"","amount":100,"currency_code":"USD"}}},"With Recover":{"summary":"With Recover","value":{"transaction":{"payment_method_token":"","amount":100,"currency_code":"USD","retry":{"gateway_tokens":["",""],"mode":"","custom_errors":{"gateway_type":{"override_error_codes":false,"messages":["",""]}}}}}},"SCA Authenticated":{"summary":"SCA Authenticated","value":{"transaction":{"sca_authentication_token":"","amount":1122,"currency_code":"USD"}}},"Pass in credit card":{"summary":"Pass in credit card","value":{"transaction":{"amount":100,"currency_code":"USD","credit_card":{"first_name":"Joe","last_name":"Smith","number":4111111111111111,"verification_value":123,"month":12,"year":2030}}}},"Pass in Apple Pay":{"summary":"Pass in Apple Pay","value":{"transaction":{"amount":100,"currency_code":"USD","apple_pay":{"payment_data":{"version":"","data":"","signature":"","header":{"ephemeralPublicKey":"","transactionId":"","publicKeyHash":""}},"test_card_number":"4111111111111111"}}}},"Pass in Google Pay":{"summary":"Pass in Google Pay","value":{"transaction":{"amount":1122,"currency_code":"USD","google_pay":{"payment_data":{"signature":"","protocolVersion":"","signedMessage":"{}"},"test_card_number":"4111111111111111"}}}},"With Protection parameters":{"summary":"With Protection parameters","value":{"transaction":{"amount":1000,"currency_code":"USD","payment_method_token":"4EGlSI8da0wgSe7KDMR7dQrttQt","protection_provider_token":"5TT6BS9GA9RE3AHPH3AEPPE0G6","protection_parameters":{"test_scenario":{"scenario":""},"forter_mobile_uid":"e520-ba9a-367-60b","fraud_token":"dsjhsudeu","user_agent":"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.73 Safari/537.36","cart_items":[{"name":"White GenericBrand handbag","quantity":1,"type":"TANGIBLE","price":"1000"},{"name":"White GenericBrand handbag","quantity":1,"type":"TANGIBLE","price":"1000"}],"delivery_type":"PHYSICAL","delivery_method":"FedEx","customer_account_id":"1234567","customer_account_type":"BUSINESS","customer_account_creation_date":1234567,"billing_name":"Firstname Lastname","billing_first_name":"Firstname","billing_last_name":"Lastname","email":"email@email.com","billing_country":"US","billing_address1":"123 Fake St","billing_address2":"","billing_city":"Durham","billing_zip":"01435","billing_phone_number":"1234567890","shipping_name":"Same Name","shipping_first_name":"Same","shipping_last_name":"Name","shipping_email":"email@email.com","shipping_address1":"321 Real St","shipping_address2":"","shipping_city":"Orlando","shipping_state":"FL","shipping_phone_number":"0987654321"}}}},"Provision Network Token":{"summary":"Attempt to Provision Network Token","value":{"transaction":{"payment_method_token":"","amount":100,"currency_code":"USD","retain_on_success":true,"provision_network_token":true}}},"Attempt Network Token":{"summary":"Attempt to Transact with Network Token","value":{"transaction":{"payment_method_token":"","amount":100,"currency_code":"USD","attempt_network_token":true}}}}}}}}},"/transactions/{transaction_token}/capture":{"post":{"summary":"Capture full or partial transaction","tags":["capture"],"security":[{"basic_auth":[]}],"operationId":"capture-transaction","description":"Capture funds previously reserved via an authorize. By specifying an amount, you can capture a partial amount. If you omit the amount parameter, the full amount will be captured.","parameters":[{"name":"transaction_token","in":"path","description":"The token identifying the original authorize transaction.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful","content":{"application/json":{"schema":{"$ref":"#/components/schemas/transaction_response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/transaction_response"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/capture"}},"application/xml":{"schema":{"$ref":"#/components/schemas/capture"}}}}}},"/card_refresher/inquiry":{"post":{"summary":"Card Refresher Inquiry","tags":["card_refresher"],"security":[{"basic_auth":[]}],"operationId":"card_refresher_inquiry","description":"Make an inquiry to a card network (currently Visa) to get any applicable updates for the card.","parameters":[],"responses":{"200":{"description":"Successful","content":{"application/json":{"schema":{"$ref":"#/components/schemas/inquiry_response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/inquiry_response"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}},"422":{"description":"Not Processable","content":{"Ineligible card for inquiry":{"examples":{"application/json":{"value":[{"key":"errors.card_not_eligible_for_card_refresher_inquiry","message":"This card is not eligible for Card Refresher Inquiry transactions. Please confirm that the associated Organization is enrolled in Advanced Vault and Account Updater, and the associated Environment is enrolled in Advanced Vault."}]},"application/xml":{"value":"\n errors.card_not_eligible_for_card_refresher_inquiry\n This card is not eligible for Card Refresher Inquiry transactions. Please confirm that the associated Organization is enrolled in Advanced Vault and Account Updater, and the associated Environment is enrolled in Advanced Vault.\n\n"}}},"Merchant is not registered in region":{"examples":{"application/json":{"value":[{"key":"errors.missing_merchant_registration_for_region","message":"Merchant is not registered for Card Refresher Inquiry transactions in this region. Please verify that registration is active for this region."}]},"application/xml":{"value":"\n errors.missing_merchant_registration_for_region\n Merchant is not registered for Card Refresher Inquiry transactions in this region. Please verify that registration is active for this region.\n\n"}}},"Unsupported inquiry region":{"examples":{"application/json":{"value":[{"key":"errors.unsupported_inquiry_region","message":"The specified region is not supported for Card Refresher Inquiry transactions."}]},"application/xml":{"value":"\n errors.unsupported_inquiry_region\n The specified region is not supported for Card Refresher Inquiry transactions.\n\n"}}},"Missing region parameter":{"examples":{"application/json":{"value":[{"key":"errors.region_required","message":"You must specify a 'region' parameter."}]},"application/xml":{"value":"\n errors.region_required\n You must specify a 'region' parameter.\n\n"}}},"Missing payment_method_token parameter":{"examples":{"application/json":{"value":[{"key":"errors.payment_method_token_required","message":"You must specify a valid 'payment_method_token' parameter."}]},"application/xml":{"value":"\n errors.payment_method_token\n You must specify a 'payment_method_token' parameter.\n\n"}}},"Unsupported payment method type":{"examples":{"application/json":{"value":[{"key":"errors.invalid_inquiry_payment_method_type","message":"The payment method is not supported for Card Refresher Inquiry transactions."}]},"application/xml":{"value":"\n errors.invalid_inquiry_payment_method_type\n You must specify a 'payment_method_token' parameter.\n\n"}}},"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/card_refresher_inquiry_request"},"examples":{"Visa AU Inquiry":{"summary":"Inquiry for Visa Payment Method","value":{"card_refresher_inquiry":{"region":"NA","payment_method_token":""}}}}},"application/xml":{"schema":{"$ref":"#/components/schemas/card_refresher_inquiry_request"},"examples":{"Visa AU Inquiry":{"summary":"Inquiry for Visa Payment Method","value":{"card_refresher_inquiry":{"region":"NA","payment_method_token":""}}}}}}}}},"/card_refresher/inquiry/{token}":{"get":{"summary":"Show inquiry","tags":["card_refresher"],"security":[{"basic_auth":[]}],"operationId":"show-inquiry","description":"Get an inquiry with the given token.","parameters":[{"name":"token","in":"path","description":"The token of the inquiry","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful","content":{"application/json":{"schema":{"$ref":"#/components/schemas/inquiry_event_response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/inquiry_event_response"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}}}}},"/card_refresher/inquiries":{"get":{"summary":"List inquiries","tags":["card_refresher"],"security":[{"basic_auth":[]}],"operationId":"list-inquiries","description":"Retrieve an [ordered and paginated](https://developer.spreedly.com/reference/order-and-pagination) list of all inquiries in the environment","parameters":[{"name":"order","in":"query","description":"The order of the returned list. Default is `asc`, which returns the oldest records first. To list newer records first, use `desc`.","schema":{"type":"string"}},{"name":"since_token","in":"query","description":"The token of the item to start from (e.g., the last token received in the previous list if iterating through records)","schema":{"type":"string"}},{"name":"count","in":"query","description":"The number of inquiries to return. By default returns 20, maximum allowed is 100.","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful","content":{"application/json":{"schema":{"$ref":"#/components/schemas/list_inquiries_event_response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/list_inquiries_event_response"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}}}}},"/certificates":{"get":{"summary":"List certificates","tags":["certificates"],"security":[{"basic_auth":[]}],"operationId":"list-certificates","description":"Retrieve an [ordered and paginated](https://developer.spreedly.com/reference/order-and-pagination) list of all certificates in the authenticated environment.","parameters":[{"name":"order","in":"query","description":"The order of the returned list. Default is `asc`, which returns the oldest records first. To list newer records first, use `desc`.","schema":{"type":"string"}},{"name":"since_token","in":"query","description":"The token of the item to start from (e.g., the last token received in the previous page if iterating through records).","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful","content":{"application/json":{"examples":{"list_certificates":{"value":{"certificates":[{"token":"8ERbJicjPjc2p8OfDnSZXbFHDdp","level":"environment","algorithm":"ec-prime256v1","cn":"MyApp ApplePay Testing Certificate","o":null,"ou":null,"c":null,"st":null,"l":null,"email_address":"security@yourorg.com","public_key":"-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEYKXdTdWUxdSjgHVN6uRUEjExXvE5\n7hPhu9BuQTuBDaQCdIhsDXj+aTaJL73BAQI8asKhcZynfcSIHJCoz0Xthg==\n-----END PUBLIC KEY-----\n","public_key_hash":"K3xhhI8Efg1/oVezCy2/r5EbC3MhrNTijO2sDo3YMaE=","csr":"-----BEGIN CERTIFICATE REQUEST-----\nMIIBSDCB7wIBADCBjDEuMCwGA1UEAwwlTXlBcHAgQXBwbGVQYXkgUHJvZHVjdGlv\nbiBDZXJ0aWZpY2F0ZTEJMAcGA1UECgwAMQkwBwYDVQQLDAAxCTAHBgNVBAYTADEJ\nMAcGA1UECAwAMQkwBwYDVQQHDAAxIzAhBgkqhkiG9w0BCQEWFHNlY3VyaXR5QHlv\ndXJvcmcuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEYKXdTdWUxdSjgHVN\n6uRUEjExXvE57hPhu9BuQTuBDaQCdIhsDXj+aTaJL73BAQI8asKhcZynfcSIHJCo\nz0XthqAAMAoGCCqGSM49BAMCA0gAMEUCIQDiwBI8XLAzt/23h7PIMSnPR71EoSyi\nr8ivSDzwW1bGdAIgQ3MH5fbtU9XFckDizWko+4Yvuy0OKDifYKp0c0qjP8c=\n-----END CERTIFICATE REQUEST-----\n","pem":null,"created_at":"2017-06-22T20:42:05Z","updated_at":"2020-06-22T20:42:05Z"},{"token":"J1Conxz9vbU8RBzj3Z1jMKaquwS","level":"organization","algorithm":"ec-prime256v1","cn":"MyApp ApplePay Production Certificate","o":null,"ou":null,"c":null,"st":null,"l":null,"email_address":"security@yourorg.com","public_key":"-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEwueSZR2V+2bSdjuok5GNDPjfseuU\nBkTFmAvHns5LKjOnLHI9cE1zJYOn6Lvc3mAoQoCawO/M0pJQuOd+uqco7w==\n-----END PUBLIC KEY-----\n","public_key_hash":"lXtoHJvMFdmRq/N7Hm8UFnNr+9jJcdtYSWNfDLsMYzk=","csr":"-----BEGIN CERTIFICATE REQUEST-----\nMIIBSTCB7wIBADCBjDEuMCwGA1UEAwwlTXlBcHAgQXBwbGVQYXkgUHJvZHVjdGlv\nbiBDZXJ0aWZpY2F0ZTEJMAcGA1UECgwAMQkwBwYDVQQLDAAxCTAHBgNVBAYTADEJ\nMAcGA1UECAwAMQkwBwYDVQQHDAAxIzAhBgkqhkiG9w0BCQEWFHNlY3VyaXR5QHlv\ndXJvcmcuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEwueSZR2V+2bSdjuo\nk5GNDPjfseuUBkTFmAvHns5LKjOnLHI9cE1zJYOn6Lvc3mAoQoCawO/M0pJQuOd+\nuqco76AAMAoGCCqGSM49BAMCA0kAMEYCIQDiyLXI8RqeQJCSoM80IR0uKhtjHPFz\n4YrBZmA9E+GoeAIhAJFL7zUT/Xo/e1o5TBKJKamtG6hSAF8amP+96/LXymly\n-----END CERTIFICATE REQUEST-----\n","pem":null,"created_at":"2021-06-22T21:24:27Z","updated_at":"2023-06-22T21:24:27Z"}]}}},"schema":{"$ref":"#/components/schemas/list_certificates_response"}},"application/xml":{"examples":{"list_certificates":{"value":"\n\t\n\t\t8ERbJicjPjc2p8OfDnSZXbFHDdp\n\t\tec-prime256v1\n\t\tMyApp ApplePay Testing Certificate\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\tsecurity@yourorg.com\n\t\t-----BEGIN PUBLIC KEY-----\n\t\t\tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEYKXdTdWUxdSjgHVN6uRUEjExXvE5\n\t\t\t7hPhu9BuQTuBDaQCdIhsDXj+aTaJL73BAQI8asKhcZynfcSIHJCoz0Xthg==\n\t\t\t-----END PUBLIC KEY-----\n\t\t\n\t\tK3xhhI8Efg1/oVezCy2/r5EbC3MhrNTijO2sDo3YMaE=\n\t\t-----BEGIN CERTIFICATE REQUEST-----\n\t\t\tMIIBSDCB7wIBADCBjDEuMCwGA1UEAwwlTXlBcHAgQXBwbGVQYXkgUHJvZHVjdGlv\n\t\t\tbiBDZXJ0aWZpY2F0ZTEJMAcGA1UECgwAMQkwBwYDVQQLDAAxCTAHBgNVBAYTADEJ\n\t\t\tMAcGA1UECAwAMQkwBwYDVQQHDAAxIzAhBgkqhkiG9w0BCQEWFHNlY3VyaXR5QHlv\n\t\t\tdXJvcmcuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEYKXdTdWUxdSjgHVN\n\t\t\t6uRUEjExXvE57hPhu9BuQTuBDaQCdIhsDXj+aTaJL73BAQI8asKhcZynfcSIHJCo\n\t\t\tz0XthqAAMAoGCCqGSM49BAMCA0gAMEUCIQDiwBI8XLAzt/23h7PIMSnPR71EoSyi\n\t\t\tr8ivSDzwW1bGdAIgQ3MH5fbtU9XFckDizWko+4Yvuy0OKDifYKp0c0qjP8c=\n\t\t\t-----END CERTIFICATE REQUEST-----\n\t\t\n\t\t\n\t\t2017-06-22T20:42:05Z\n\t\t2020-06-22T20:42:05Z\n\t\n\t\n\t\tJ1Conxz9vbU8RBzj3Z1jMKaquwS\n\t\tec-prime256v1\n\t\tMyApp ApplePay Production Certificate\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\tsecurity@yourorg.com\n\t\t-----BEGIN PUBLIC KEY-----\n\t\t\tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEwueSZR2V+2bSdjuok5GNDPjfseuU\n\t\t\tBkTFmAvHns5LKjOnLHI9cE1zJYOn6Lvc3mAoQoCawO/M0pJQuOd+uqco7w==\n\t\t\t-----END PUBLIC KEY-----\n\t\t\n\t\tlXtoHJvMFdmRq/N7Hm8UFnNr+9jJcdtYSWNfDLsMYzk=\n\t\t-----BEGIN CERTIFICATE REQUEST-----\n\t\t\tMIIBSTCB7wIBADCBjDEuMCwGA1UEAwwlTXlBcHAgQXBwbGVQYXkgUHJvZHVjdGlv\n\t\t\tbiBDZXJ0aWZpY2F0ZTEJMAcGA1UECgwAMQkwBwYDVQQLDAAxCTAHBgNVBAYTADEJ\n\t\t\tMAcGA1UECAwAMQkwBwYDVQQHDAAxIzAhBgkqhkiG9w0BCQEWFHNlY3VyaXR5QHlv\n\t\t\tdXJvcmcuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEwueSZR2V+2bSdjuo\n\t\t\tk5GNDPjfseuUBkTFmAvHns5LKjOnLHI9cE1zJYOn6Lvc3mAoQoCawO/M0pJQuOd+\n\t\t\tuqco76AAMAoGCCqGSM49BAMCA0kAMEYCIQDiyLXI8RqeQJCSoM80IR0uKhtjHPFz\n\t\t\t4YrBZmA9E+GoeAIhAJFL7zUT/Xo/e1o5TBKJKamtG6hSAF8amP+96/LXymly\n\t\t\t-----END CERTIFICATE REQUEST-----\n\t\t\n\t\t\n\t\t2021-06-22T21:24:27Z\n\t\t2023-06-22T21:24:27Z\n\t\n"}},"schema":{"$ref":"#/components/schemas/list_certificates_response"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}}}},"post":{"summary":"Create a certificate","tags":["certificates"],"security":[{"basic_auth":[]}],"operationId":"create-certificates","description":"Add a certificate to the authenticated environment for use in [secure payment method tokenization](https://developer.spreedly.com/docs/iframe-api-lifecycle#security-requirements), payment method distribution functions such as [XML digital signatures](https://developer.spreedly.com/reference/order-and-pagination), or to utilize [Apple Pay](https://developer.spreedly.com/docs/apple-pay#generate-certificate).","parameters":[],"responses":{"201":{"description":"Successful","content":{"application/json":{"examples":{"create_certificate":{"value":{"certificate":{"token":"VRYbo8zKRpCSTgMvfPuBOpeyN5n","algorithm":null,"cn":"MyApp XML Signature Production Certificate","o":null,"ou":null,"c":null,"st":null,"l":null,"email_address":"security@yourorg.com","public_key":"-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyV1sJK9aNE76M4H2k5t5\nHNVTdCqmxFMf1HDufcueK49t1sj3wG9psZXPBan6cLJEy7bVo2QIl/NQDwaC5vDg\nIiJKIz+KwxeF1q+0it2cutxURjWY4ycxs/WuOJewSHIML+GZhzhX0nJ8xCiJKzyf\nxoBdlATrlMI70Gcgqmv5Xh7D+CR65ynIuU8J3YMRn7bhojcueWJD8AEh01KVBfji\nfno1f2W6Lj6euxvwiapaMTZioHe8uH4geOVw5WIuI3uLsR5RNuLT/q/Ft0SIwuev\nfp6odCkAC69AIvttPEfqGcqNn+F0fLRnn2Ad+YRsipuOYefWBPmw+SFikxvkliKr\nfwIDAQAB\n-----END PUBLIC KEY-----\n","public_key_hash":"dnb3kyfglEbIgOB5wK6VfggYZFNU1q1Ms7sJn/6cjRc=","csr":null,"pem":"-----BEGIN CERTIFICATE-----\nMIIDMDCCAhgCCQCJjV5tUn0DNTANBgkqhkiG9w0BAQsFADBaMTMwMQYDVQQDDCpN\neUFwcCBYTUwgU2lnbmF0dXJlIFByb2R1Y3Rpb24gQ2VydGlmaWNhdGUxIzAhBgkq\nhkiG9w0BCQEWFHNlY3VyaXR5QHlvdXJvcmcuY29tMB4XDTE5MDQwMjE4MjIzMFoX\nDTIwMDQwMTE4MjIzMFowWjEzMDEGA1UEAwwqTXlBcHAgWE1MIFNpZ25hdHVyZSBQ\ncm9kdWN0aW9uIENlcnRpZmljYXRlMSMwIQYJKoZIhvcNAQkBFhRzZWN1cml0eUB5\nb3Vyb3JnLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMldbCSv\nWjRO+jOB9pObeRzVU3QqpsRTH9Rw7n3LniuPbdbI98BvabGVzwWp+nCyRMu21aNk\nCJfzUA8Ggubw4CIiSiM/isMXhdavtIrdnLrcVEY1mOMnMbP1rjiXsEhyDC/hmYc4\nV9JyfMQoiSs8n8aAXZQE65TCO9BnIKpr+V4ew/gkeucpyLlPCd2DEZ+24aI3Lnli\nQ/ABIdNSlQX44n56NX9lui4+nrsb8ImqWjE2YqB3vLh+IHjlcOViLiN7i7EeUTbi\n0/6vxbdEiMLnr36eqHQpAAuvQCL7bTxH6hnKjZ/hdHy0Z59gHfmEbIqbjmHn1gT5\nsPkhYpMb5JYiq38CAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAGNjf8tNsQ/mvQNk4\n3b4knwlCIT6elhiofeKXoV9224C5ZcM1bw0hRfeEIXG5fs8ZEwlLGAS+bNgCctmW\nNcuqxEreR4TiV07WT/18m1go+34IygGxlxgntLQOZQyX6mjVyZjgOjefweA8OFyG\ns+xqgVuR9G7Zu8KFW0MaCj7QZBl1h4FfA3Hz25R1WC2qcbY04Db3EkLYPU4hBEzX\nHXkAyW5LWRk4pzxew9CRQ+uHyumPyi2O6Yv9avI9QA5PkuRoH0xgQ87n3AXgQ08p\nHDoiNxcDFhfL13lspowI40bsOWfGm2vvTrV42PvobHB2Hwb3a77mM2Z6bCvdN32R\njn30kQ==\n-----END CERTIFICATE-----\n","created_at":"2024-04-03T21:12:44Z","updated_at":"2024-04-03T21:12:44Z"}}}},"schema":{"$ref":"#/components/schemas/create_certificate_response"}},"application/xml":{"examples":{"create_certificate":{"value":"\n\tVRYbo8zKRpCSTgMvfPuBOpeyN5n\n\t\n\tMyApp XML Signature Production Certificate\n\t\n\t\n\t\n\t\n\t\n\tsecurity@yourorg.com\n\t-----BEGIN PUBLIC KEY-----\n\t\tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyV1sJK9aNE76M4H2k5t5\n\t\tHNVTdCqmxFMf1HDufcueK49t1sj3wG9psZXPBan6cLJEy7bVo2QIl/NQDwaC5vDg\n\t\tIiJKIz+KwxeF1q+0it2cutxURjWY4ycxs/WuOJewSHIML+GZhzhX0nJ8xCiJKzyf\n\t\txoBdlATrlMI70Gcgqmv5Xh7D+CR65ynIuU8J3YMRn7bhojcueWJD8AEh01KVBfji\n\t\tfno1f2W6Lj6euxvwiapaMTZioHe8uH4geOVw5WIuI3uLsR5RNuLT/q/Ft0SIwuev\n\t\tfp6odCkAC69AIvttPEfqGcqNn+F0fLRnn2Ad+YRsipuOYefWBPmw+SFikxvkliKr\n\t\tfwIDAQAB\n\t\t-----END PUBLIC KEY-----\n\t\n\tdnb3kyfglEbIgOB5wK6VfggYZFNU1q1Ms7sJn/6cjRc=\n\t\n\t-----BEGIN CERTIFICATE-----\n\t\tMIIDMDCCAhgCCQCJjV5tUn0DNTANBgkqhkiG9w0BAQsFADBaMTMwMQYDVQQDDCpN\n\t\teUFwcCBYTUwgU2lnbmF0dXJlIFByb2R1Y3Rpb24gQ2VydGlmaWNhdGUxIzAhBgkq\n\t\thkiG9w0BCQEWFHNlY3VyaXR5QHlvdXJvcmcuY29tMB4XDTE5MDQwMjE4MjIzMFoX\n\t\tDTIwMDQwMTE4MjIzMFowWjEzMDEGA1UEAwwqTXlBcHAgWE1MIFNpZ25hdHVyZSBQ\n\t\tcm9kdWN0aW9uIENlcnRpZmljYXRlMSMwIQYJKoZIhvcNAQkBFhRzZWN1cml0eUB5\n\t\tb3Vyb3JnLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMldbCSv\n\t\tWjRO+jOB9pObeRzVU3QqpsRTH9Rw7n3LniuPbdbI98BvabGVzwWp+nCyRMu21aNk\n\t\tCJfzUA8Ggubw4CIiSiM/isMXhdavtIrdnLrcVEY1mOMnMbP1rjiXsEhyDC/hmYc4\n\t\tV9JyfMQoiSs8n8aAXZQE65TCO9BnIKpr+V4ew/gkeucpyLlPCd2DEZ+24aI3Lnli\n\t\tQ/ABIdNSlQX44n56NX9lui4+nrsb8ImqWjE2YqB3vLh+IHjlcOViLiN7i7EeUTbi\n\t\t0/6vxbdEiMLnr36eqHQpAAuvQCL7bTxH6hnKjZ/hdHy0Z59gHfmEbIqbjmHn1gT5\n\t\tsPkhYpMb5JYiq38CAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAGNjf8tNsQ/mvQNk4\n\t\t3b4knwlCIT6elhiofeKXoV9224C5ZcM1bw0hRfeEIXG5fs8ZEwlLGAS+bNgCctmW\n\t\tNcuqxEreR4TiV07WT/18m1go+34IygGxlxgntLQOZQyX6mjVyZjgOjefweA8OFyG\n\t\ts+xqgVuR9G7Zu8KFW0MaCj7QZBl1h4FfA3Hz25R1WC2qcbY04Db3EkLYPU4hBEzX\n\t\tHXkAyW5LWRk4pzxew9CRQ+uHyumPyi2O6Yv9avI9QA5PkuRoH0xgQ87n3AXgQ08p\n\t\tHDoiNxcDFhfL13lspowI40bsOWfGm2vvTrV42PvobHB2Hwb3a77mM2Z6bCvdN32R\n\t\tjn30kQ==\n\t\t-----END CERTIFICATE-----\n\t\n\t2024-04-03T21:12:44Z\n\t2024-04-03T21:12:44Z\n"}},"schema":{"$ref":"#/components/schemas/create_certificate_response"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}},"422":{"description":"Request not processed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/create_certificate"},"examples":{"Create certificate":{"summary":"Create certificate","value":{"certificate":{"pem":"-----BEGIN CERTIFICATE-----\nMIIDMDCCAhgCCQCJjV5tUn0DNTANBgkqhkiG9w0BAQsFADBaMTMwMQYDVQQDDCpN\neUFwcCBYTUwgU2lnbmF0dXJlIFByb2R1Y3Rpb24gQ2VydGlmaWNhdGUxIzAhBgkq\nhkiG9w0BCQEWFHNlY3VyaXR5QHlvdXJvcmcuY29tMB4XDTE5MDQwMjE4MjIzMFoX\nDTIwMDQwMTE4MjIzMFowWjEzMDEGA1UEAwwqTXlBcHAgWE1MIFNpZ25hdHVyZSBQ\ncm9kdWN0aW9uIENlcnRpZmljYXRlMSMwIQYJKoZIhvcNAQkBFhRzZWN1cml0eUB5\nb3Vyb3JnLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMldbCSv\nWjRO+jOB9pObeRzVU3QqpsRTH9Rw7n3LniuPbdbI98BvabGVzwWp+nCyRMu21aNk\nCJfzUA8Ggubw4CIiSiM/isMXhdavtIrdnLrcVEY1mOMnMbP1rjiXsEhyDC/hmYc4\nV9JyfMQoiSs8n8aAXZQE65TCO9BnIKpr+V4ew/gkeucpyLlPCd2DEZ+24aI3Lnli\nQ/ABIdNSlQX44n56NX9lui4+nrsb8ImqWjE2YqB3vLh+IHjlcOViLiN7i7EeUTbi\n0/6vxbdEiMLnr36eqHQpAAuvQCL7bTxH6hnKjZ/hdHy0Z59gHfmEbIqbjmHn1gT5\nsPkhYpMb5JYiq38CAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAGNjf8tNsQ/mvQNk4\n3b4knwlCIT6elhiofeKXoV9224C5ZcM1bw0hRfeEIXG5fs8ZEwlLGAS+bNgCctmW\nNcuqxEreR4TiV07WT/18m1go+34IygGxlxgntLQOZQyX6mjVyZjgOjefweA8OFyG\ns+xqgVuR9G7Zu8KFW0MaCj7QZBl1h4FfA3Hz25R1WC2qcbY04Db3EkLYPU4hBEzX\nHXkAyW5LWRk4pzxew9CRQ+uHyumPyi2O6Yv9avI9QA5PkuRoH0xgQ87n3AXgQ08p\nHDoiNxcDFhfL13lspowI40bsOWfGm2vvTrV42PvobHB2Hwb3a77mM2Z6bCvdN32R\njn30kQ==\n-----END CERTIFICATE-----\n","private_key":"-----BEGIN RSA PRIVATE KEY-----\nMIIEpAIBAAKCAQEAyV1sJK9aNE76M4H2k5t5HNVTdCqmxFMf1HDufcueK49t1sj3\nwG9psZXPBan6cLJEy7bVo2QIl/NQDwaC5vDgIiJKIz+KwxeF1q+0it2cutxURjWY\n4ycxs/WuOJewSHIML+GZhzhX0nJ8xCiJKzyfxoBdlATrlMI70Gcgqmv5Xh7D+CR6\n5ynIuU8J3YMRn7bhojcueWJD8AEh01KVBfjifno1f2W6Lj6euxvwiapaMTZioHe8\nuH4geOVw5WIuI3uLsR5RNuLT/q/Ft0SIwuevfp6odCkAC69AIvttPEfqGcqNn+F0\nfLRnn2Ad+YRsipuOYefWBPmw+SFikxvkliKrfwIDAQABAoIBAQCAUYNPoVrHSKjS\nV/hsub+lKyAiP+fD5gC7nTetfCsQMTdajviqbZUZ8JBbWKVaWY/TjXB4zY9YXVng\nKVMTnd4GgnliGuTvS7cjRxazA2QUA8HEd/U0k85tkpryP1+72sl/XbE7ZSE533E4\ng2hd4CUlFroLUFNbmacKOB2t3F6tpaXZD3TXGd2QIWEdRVbBHcbH5ZLhOVlvyJ5k\n+gHXvpdVsZnmC8eZPPs/JL3B0SwJop8Ln+DKkg6P4s+oq9dkR0OwuhuE+iWV8evF\nLFb0j87kJV8JsHMvk3qbbunWHisQr23U4Vl/k6rjkodryrzDrwQ3czzR3nlKN/Kl\nVROR8TMBAoGBAOmi434+RbZQP9PdVEa+pEh2IA81L3og6+TqemL4sZtqlCEfrOZD\nFsSH6CEU13SMn7l+riYCzBYSdvPDAynhJp+u0REUQFPJAMcgefxw2mfJwFrtn9Ap\nJWaAPhcMeK8l/5rdZxnjECDRAkW+5SdtYj9x6rjgsmJ89DFdd5EW1JL/AoGBANyj\nvpNSRBdy+lM62T0DiAJ6gc0HpYQpNzIydIT9bh8zkmwU5z0pVtczpmIzdK0lPlHO\nERWgBXXsfRfEupVoFND9H5A7tTMQtJF4rLg3gUpa2alTUXSWfm9uS7TWVRYR7hsV\n/ui7oW3zIXdD8dRHozITSzM27gfiMy6Q3I/SIGeBAoGAf0lgObJBlq8n5wxpUtWg\neV3p338xa48uFZxtqygk0zCAnX89WoHokJAeto89RuEqUAwlYs4ZVFkg93MicRma\nSlsayfxHg545z0LxUshFJVB0fNWDQQx5tNtfeH0x7vJ7zGqdNixP6CEW5Nq4y/87\nDKfKoojAhwnenFp4vtI6ZA8CgYBqTvcvEo8+YSbd3Vf4fvAUiaRq/okwgY9Xv1nH\nDjj2Dao6K2QzYuy1qew8GqDYID7Dua8fpUecRwMK5b4k6M5G1/9SRoKLBTyLbwKB\njDTed6GyZTO1IiHvXMxbaH38sUzxfgqhZm5khKYWSgWGC7JFGWi9V3UfFU0l3aR4\nI317gQKBgQCxWrKZlfq/iWcvBqB8Ep4wiJPXZXjl/Dvic/2pCC69MMimtDTHQ8o8\ngp7c3Fp+RDO8U5wgqq2amodR1RPbAdgG7rQvewnzPsaTIKSfOueY3LG4UR22tNvZ\nLeaSV7WUssler/Ybk6Gj+psx8RXbL+ZcYPoeL7mb6kUoWFfzcmpIjA==\n-----END RSA PRIVATE KEY-----\n","level":"organization"}}}}},"application/xml":{"schema":{"$ref":"#/components/schemas/create_certificate"},"examples":{"Create certificate":{"summary":"Create certificate","value":{"certificate":{"pem":"-----BEGIN CERTIFICATE-----\nMIIDMDCCAhgCCQCJjV5tUn0DNTANBgkqhkiG9w0BAQsFADBaMTMwMQYDVQQDDCpN\neUFwcCBYTUwgU2lnbmF0dXJlIFByb2R1Y3Rpb24gQ2VydGlmaWNhdGUxIzAhBgkq\nhkiG9w0BCQEWFHNlY3VyaXR5QHlvdXJvcmcuY29tMB4XDTE5MDQwMjE4MjIzMFoX\nDTIwMDQwMTE4MjIzMFowWjEzMDEGA1UEAwwqTXlBcHAgWE1MIFNpZ25hdHVyZSBQ\ncm9kdWN0aW9uIENlcnRpZmljYXRlMSMwIQYJKoZIhvcNAQkBFhRzZWN1cml0eUB5\nb3Vyb3JnLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMldbCSv\nWjRO+jOB9pObeRzVU3QqpsRTH9Rw7n3LniuPbdbI98BvabGVzwWp+nCyRMu21aNk\nCJfzUA8Ggubw4CIiSiM/isMXhdavtIrdnLrcVEY1mOMnMbP1rjiXsEhyDC/hmYc4\nV9JyfMQoiSs8n8aAXZQE65TCO9BnIKpr+V4ew/gkeucpyLlPCd2DEZ+24aI3Lnli\nQ/ABIdNSlQX44n56NX9lui4+nrsb8ImqWjE2YqB3vLh+IHjlcOViLiN7i7EeUTbi\n0/6vxbdEiMLnr36eqHQpAAuvQCL7bTxH6hnKjZ/hdHy0Z59gHfmEbIqbjmHn1gT5\nsPkhYpMb5JYiq38CAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAGNjf8tNsQ/mvQNk4\n3b4knwlCIT6elhiofeKXoV9224C5ZcM1bw0hRfeEIXG5fs8ZEwlLGAS+bNgCctmW\nNcuqxEreR4TiV07WT/18m1go+34IygGxlxgntLQOZQyX6mjVyZjgOjefweA8OFyG\ns+xqgVuR9G7Zu8KFW0MaCj7QZBl1h4FfA3Hz25R1WC2qcbY04Db3EkLYPU4hBEzX\nHXkAyW5LWRk4pzxew9CRQ+uHyumPyi2O6Yv9avI9QA5PkuRoH0xgQ87n3AXgQ08p\nHDoiNxcDFhfL13lspowI40bsOWfGm2vvTrV42PvobHB2Hwb3a77mM2Z6bCvdN32R\njn30kQ==\n-----END CERTIFICATE-----\n","private_key":"-----BEGIN RSA PRIVATE KEY-----\nMIIEpAIBAAKCAQEAyV1sJK9aNE76M4H2k5t5HNVTdCqmxFMf1HDufcueK49t1sj3\nwG9psZXPBan6cLJEy7bVo2QIl/NQDwaC5vDgIiJKIz+KwxeF1q+0it2cutxURjWY\n4ycxs/WuOJewSHIML+GZhzhX0nJ8xCiJKzyfxoBdlATrlMI70Gcgqmv5Xh7D+CR6\n5ynIuU8J3YMRn7bhojcueWJD8AEh01KVBfjifno1f2W6Lj6euxvwiapaMTZioHe8\nuH4geOVw5WIuI3uLsR5RNuLT/q/Ft0SIwuevfp6odCkAC69AIvttPEfqGcqNn+F0\nfLRnn2Ad+YRsipuOYefWBPmw+SFikxvkliKrfwIDAQABAoIBAQCAUYNPoVrHSKjS\nV/hsub+lKyAiP+fD5gC7nTetfCsQMTdajviqbZUZ8JBbWKVaWY/TjXB4zY9YXVng\nKVMTnd4GgnliGuTvS7cjRxazA2QUA8HEd/U0k85tkpryP1+72sl/XbE7ZSE533E4\ng2hd4CUlFroLUFNbmacKOB2t3F6tpaXZD3TXGd2QIWEdRVbBHcbH5ZLhOVlvyJ5k\n+gHXvpdVsZnmC8eZPPs/JL3B0SwJop8Ln+DKkg6P4s+oq9dkR0OwuhuE+iWV8evF\nLFb0j87kJV8JsHMvk3qbbunWHisQr23U4Vl/k6rjkodryrzDrwQ3czzR3nlKN/Kl\nVROR8TMBAoGBAOmi434+RbZQP9PdVEa+pEh2IA81L3og6+TqemL4sZtqlCEfrOZD\nFsSH6CEU13SMn7l+riYCzBYSdvPDAynhJp+u0REUQFPJAMcgefxw2mfJwFrtn9Ap\nJWaAPhcMeK8l/5rdZxnjECDRAkW+5SdtYj9x6rjgsmJ89DFdd5EW1JL/AoGBANyj\nvpNSRBdy+lM62T0DiAJ6gc0HpYQpNzIydIT9bh8zkmwU5z0pVtczpmIzdK0lPlHO\nERWgBXXsfRfEupVoFND9H5A7tTMQtJF4rLg3gUpa2alTUXSWfm9uS7TWVRYR7hsV\n/ui7oW3zIXdD8dRHozITSzM27gfiMy6Q3I/SIGeBAoGAf0lgObJBlq8n5wxpUtWg\neV3p338xa48uFZxtqygk0zCAnX89WoHokJAeto89RuEqUAwlYs4ZVFkg93MicRma\nSlsayfxHg545z0LxUshFJVB0fNWDQQx5tNtfeH0x7vJ7zGqdNixP6CEW5Nq4y/87\nDKfKoojAhwnenFp4vtI6ZA8CgYBqTvcvEo8+YSbd3Vf4fvAUiaRq/okwgY9Xv1nH\nDjj2Dao6K2QzYuy1qew8GqDYID7Dua8fpUecRwMK5b4k6M5G1/9SRoKLBTyLbwKB\njDTed6GyZTO1IiHvXMxbaH38sUzxfgqhZm5khKYWSgWGC7JFGWi9V3UfFU0l3aR4\nI317gQKBgQCxWrKZlfq/iWcvBqB8Ep4wiJPXZXjl/Dvic/2pCC69MMimtDTHQ8o8\ngp7c3Fp+RDO8U5wgqq2amodR1RPbAdgG7rQvewnzPsaTIKSfOueY3LG4UR22tNvZ\nLeaSV7WUssler/Ybk6Gj+psx8RXbL+ZcYPoeL7mb6kUoWFfzcmpIjA==\n-----END RSA PRIVATE KEY-----\n","level":"organization"}}}}}}}}},"/certificates/generate":{"post":{"summary":"Generate a certificate","tags":["certificates"],"security":[{"basic_auth":[]}],"operationId":"generate-certificates","description":"Generate a new SSL keypair and certificate signing request (CSR). Since Spreedly is not a certificate authority we cannot issue trusted certificates. Instead, it is intended that you will get the certificate signed by your certificate authority (or sign it yourself) and update the certificate record at Spreedly with the final and signed cert.","parameters":[],"responses":{"201":{"description":"Created","content":{"application/json":{"examples":{"generate_certificate":{"value":{"certificate":{"token":"65ZDETqI5decVMjVMyR5ckhaO9I","algorithm":"ec-prime256v1","cn":"MyApp ApplePay Production Certificate","o":"YourOrg","ou":"OrgUnit","c":"United States","st":"NC","l":"Durham","email_address":"security@yourorg.com","public_key":"-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEoQsY700wd1Vz8LzVDmH2ts4rYRRh\nk751oz+yW/2U2oe29yWrPJA5oLHZw8L7P8qmuyzuoFOjNxRlTypTyCFuag==\n-----END PUBLIC KEY-----\n","public_key_hash":"DkI5At7x9GHqoLfgANfHiL7/+S5CzxAmHOe09T6ubNg=","csr":"-----BEGIN CERTIFICATE REQUEST-----\nMIIBSDCB7wIBADCBjDEuMCwGA1UEAwwlTXlBcHAgQXBwbGVQYXkgUHJvZHVjdGlv\nbiBDZXJ0aWZpY2F0ZTEJMAcGA1UECgwAMQkwBwYDVQQLDAAxCTAHBgNVBAYTADEJ\nMAcGA1UECAwAMQkwBwYDVQQHDAAxIzAhBgkqhkiG9w0BCQEWFHNlY3VyaXR5QHlv\ndXJvcmcuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEoQsY700wd1Vz8LzV\nDmH2ts4rYRRhk751oz+yW/2U2oe29yWrPJA5oLHZw8L7P8qmuyzuoFOjNxRlTypT\nyCFuaqAAMAoGCCqGSM49BAMCA0gAMEUCIQDQgWnEgXLY45qGTqcwBOxvm8O5Qku+\nVPv3E+rX1J+oIQIgHK7KFPV2qb8D5WKP5LXG9Nla1Pw2cTCy0x7t8+4Kf7c=\n-----END CERTIFICATE REQUEST-----\n","pem":null,"created_at":"2024-03-20T19:49:29Z","updated_at":"2024-03-20T19:49:29Z"}}}},"schema":{"$ref":"#/components/schemas/generate_certificate_response"}},"application/xml":{"examples":{"generate_certificate":{"value":"\n\t65ZDETqI5decVMjVMyR5ckhaO9I\n\tec-prime256v1\n\tMyApp ApplePay Production Certificate\n\tYourOrg\n\tOrgUnit\n\tUnited States\n\tNC\n\tDurham\n\tsecurity@yourorg.com\n\t-----BEGIN PUBLIC KEY-----\n\t\tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEoQsY700wd1Vz8LzVDmH2ts4rYRRh\n\t\tk751oz+yW/2U2oe29yWrPJA5oLHZw8L7P8qmuyzuoFOjNxRlTypTyCFuag==\n\t\t-----END PUBLIC KEY-----\n\t\n\tDkI5At7x9GHqoLfgANfHiL7/+S5CzxAmHOe09T6ubNg=\n\t-----BEGIN CERTIFICATE REQUEST-----\n\t\tMIIBSDCB7wIBADCBjDEuMCwGA1UEAwwlTXlBcHAgQXBwbGVQYXkgUHJvZHVjdGlv\n\t\tbiBDZXJ0aWZpY2F0ZTEJMAcGA1UECgwAMQkwBwYDVQQLDAAxCTAHBgNVBAYTADEJ\n\t\tMAcGA1UECAwAMQkwBwYDVQQHDAAxIzAhBgkqhkiG9w0BCQEWFHNlY3VyaXR5QHlv\n\t\tdXJvcmcuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEoQsY700wd1Vz8LzV\n\t\tDmH2ts4rYRRhk751oz+yW/2U2oe29yWrPJA5oLHZw8L7P8qmuyzuoFOjNxRlTypT\n\t\tyCFuaqAAMAoGCCqGSM49BAMCA0gAMEUCIQDQgWnEgXLY45qGTqcwBOxvm8O5Qku+\n\t\tVPv3E+rX1J+oIQIgHK7KFPV2qb8D5WKP5LXG9Nla1Pw2cTCy0x7t8+4Kf7c=\n\t\t-----END CERTIFICATE REQUEST-----\n\t\n\t\n\t2024-03-20T19:49:29Z\n\t2024-03-20T19:49:29Z\n"}},"schema":{"$ref":"#/components/schemas/generate_certificate_response"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/generate_certificate"},"examples":{"Generate certificate w/req fields":{"summary":"Generate certificate w/req fields","value":{"certificate":{"algorithm":"ec-prime256v1","cn":"MyApp ApplePay Production Certificate"}}},"Generate certificate w/all fields":{"summary":"Generate certificate w/all fields","value":{"certificate":{"algorithm":"ec-prime256v1","cn":"MyApp ApplePay Production Certificate","o":"YourOrg","ou":"OrgUnit","c":"United States","st":"NC","l":"Durham","email_address":"security@yourorg.com"}}}}},"application/xml":{"schema":{"$ref":"#/components/schemas/generate_certificate"},"examples":{"Generate certificate w/req fields":{"summary":"Generate certificate w/req fields","value":{"certificate":{"algorithm":"ec-prime256v1","cn":"MyApp ApplePay Production Certificate"}}},"Generate certificate w/all fields":{"summary":"Generate certificate w/all fields","value":{"certificate":{"algorithm":"ec-prime256v1","cn":"MyApp ApplePay Production Certificate","o":"YourOrg","ou":"OrgUnit","c":"United States","st":"NC","l":"Durham","email_address":"security@yourorg.com"}}}}}}}}},"/certificates/{certificate_token}":{"parameters":[{"name":"certificate_token","in":"path","description":"A unique string generated by Spreedly to identify a certificate.","required":true,"schema":{"type":"string"}}],"put":{"summary":"Update certificate","tags":["certificates"],"security":[{"basic_auth":[]}],"operationId":"update-certificates","description":"Update an existing SSL certificate record with the signed certificate value (in PEM format).","parameters":[],"responses":{"200":{"description":"Successful","content":{"application/json":{"examples":{"update_certificate":{"value":{"certificate":{"token":"BHD5mnpizTjP9NhlQqUuIMs8qFF","algorithm":"ec-prime256v1","cn":"MyApp ApplePay Production Certificate","o":null,"ou":null,"c":null,"st":null,"l":null,"email_address":"security@yourorg.com","public_key":"-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEIaAQ+hWjl1Cat3uBKCO61npk84S2\nj5QHRfO1s5m4VilTSfSwBIawYwLY+orO+uTsNnZ2LWtEDxfRCaLm8Cjoyg==\n-----END PUBLIC KEY-----\n","public_key_hash":"/4UKqrtx7AmlRvLatYt9LDt64IYo+G9eaqqS6LFOAdI=","csr":"-----BEGIN CERTIFICATE REQUEST-----\nMIIBSTCB7wIBADCBjDEuMCwGA1UEAwwlTXlBcHAgQXBwbGVQYXkgUHJvZHVjdGlv\nbiBDZXJ0aWZpY2F0ZTEJMAcGA1UECgwAMQkwBwYDVQQLDAAxCTAHBgNVBAYTADEJ\nMAcGA1UECAwAMQkwBwYDVQQHDAAxIzAhBgkqhkiG9w0BCQEWFHNlY3VyaXR5QHlv\ndXJvcmcuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE0fpMDOVsNWh56lzY\nLLT8AUv77xfxIDEH0EvVcoDIGjO1wHwrUhp/p8kSVXYEt5i+jzE7UHEUNwrD5YtC\n7i64hKAAMAoGCCqGSM49BAMCA0kAMEYCIQD0qoJM4EKR9DT6AIHNMm7I0Hwzu3rp\nu7CIFgdchCsNeQIhANCstbvSt7ZwQY4abRS9GiTlFn3vGGjwGdeeXb0RmxGg\n-----END CERTIFICATE REQUEST-----\n","pem":"-----BEGIN CERTIFICATE-----\nMIIEiTCCBC6gAwIBAgIIFRZ9ouKAzqwwCgYIKoZIzj0EAwIwgYAxNDAyBgNVBAMM\nK0FwcGxlIFdvcmxkd2lkZSBEZXZlbG9wZXIgUmVsYXRpb25zIENBIC0gRzIxJjAk\nBgNVBAsMHUFwcGxlIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRMwEQYDVQQKDApB\ncHBsZSBJbmMuMQswCQYDVQQGEwJVUzAeFw0xNTAyMTkyMDMzMzBaFw0xNzAzMjAy\nMDMzMzBaMIG5MTowOAYKCZImiZPyLGQBAQwqbWVyY2hhbnQuY29tLnNlYXRnZWVr\nLlNwcmVlZGx5QXBwbGVQYXlUZXN0MUAwPgYDVQQDDDdNZXJjaGFudCBJRDogbWVy\nY2hhbnQuY29tLnNlYXRnZWVrLlNwcmVlZGx5QXBwbGVQYXlUZXN0MRMwEQYDVQQL\nDAo5QjNRWTlXQlo1MRcwFQYDVQQKDA5TZWF0R2VlaywgSW5jLjELMAkGA1UEBhMC\nVVMwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAQhoBD6FaOXUJq3e4EoI7rWemTz\nhLaPlAdF87WzmbhWKVNJ9LAEhrBjAtj6is765Ow2dnYta0QPF9EJoubwKOjKo4IC\nVTCCAlEwRwYIKwYBBQUHAQEEOzA5MDcGCCsGAQUFBzABhitodHRwOi8vb2NzcC5h\ncHBsZS5jb20vb2NzcDA0LWFwcGxld3dkcmNhMjAxMB0GA1UdDgQWBBQMV4lSAdev\nm6sv1MVm5yR0gWij+jAMBgNVHRMBAf8EAjAAMB8GA1UdIwQYMBaAFIS2hMw6hmJy\nFlmU6BqjvUjfOt8LMIIBHQYDVR0gBIIBFDCCARAwggEMBgkqhkiG92NkBQEwgf4w\ngcMGCCsGAQUFBwICMIG2DIGzUmVsaWFuY2Ugb24gdGhpcyBjZXJ0aWZpY2F0ZSBi\neSBhbnkgcGFydHkgYXNzdW1lcyBhY2NlcHRhbmNlIG9mIHRoZSB0aGVuIGFwcGxp\nY2FibGUgc3RhbmRhcmQgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YgdXNlLCBjZXJ0\naWZpY2F0ZSBwb2xpY3kgYW5kIGNlcnRpZmljYXRpb24gcHJhY3RpY2Ugc3RhdGVt\nZW50cy4wNgYIKwYBBQUHAgEWKmh0dHA6Ly93d3cuYXBwbGUuY29tL2NlcnRpZmlj\nYXRlYXV0aG9yaXR5LzA2BgNVHR8ELzAtMCugKaAnhiVodHRwOi8vY3JsLmFwcGxl\nLmNvbS9hcHBsZXd3ZHJjYTIuY3JsMA4GA1UdDwEB/wQEAwIDKDBPBgkqhkiG92Nk\nBiAEQgxAODlDQjI1MDkxOTI0RDY3RjlFMEM2QUVDMzA0MENBMkFGNzA4MEYzRTBG\nQ0NFMTZBOTY5RDkyMUE0QkM5RTA1RjAKBggqhkjOPQQDAgNJADBGAiEAvKYdzDtD\nQ87guVNkybbcEY1Y/nXO9Ry+4fVDwXYMET0CIQDEiK1+xSSziPZ/PPQHF8MCWsD0\nLDW0aLigLHbDgQcrXA==\n-----END CERTIFICATE-----\n","created_at":"2024-06-27T18:16:35Z","updated_at":"2024-07-27T17:54:23Z"}}}},"schema":{"$ref":"#/components/schemas/create_certificate_response"}},"application/xml":{"examples":{"update_certificate":{"value":"\n\tBHD5mnpizTjP9NhlQqUuIMs8qFF\n\tec-prime256v1\n\tMyApp ApplePay Production Certificate\n\t\n\t\n\t\n\t\n\t\n\tsecurity@yourorg.com\n\t-----BEGIN PUBLIC KEY-----\n\t\tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEIaAQ+hWjl1Cat3uBKCO61npk84S2\n\t\tj5QHRfO1s5m4VilTSfSwBIawYwLY+orO+uTsNnZ2LWtEDxfRCaLm8Cjoyg==\n\t\t-----END PUBLIC KEY-----\n\t\n\t/4UKqrtx7AmlRvLatYt9LDt64IYo+G9eaqqS6LFOAdI=\n\t-----BEGIN CERTIFICATE REQUEST-----\n\t\tMIIBSTCB7wIBADCBjDEuMCwGA1UEAwwlTXlBcHAgQXBwbGVQYXkgUHJvZHVjdGlv\n\t\tbiBDZXJ0aWZpY2F0ZTEJMAcGA1UECgwAMQkwBwYDVQQLDAAxCTAHBgNVBAYTADEJ\n\t\tMAcGA1UECAwAMQkwBwYDVQQHDAAxIzAhBgkqhkiG9w0BCQEWFHNlY3VyaXR5QHlv\n\t\tdXJvcmcuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE0fpMDOVsNWh56lzY\n\t\tLLT8AUv77xfxIDEH0EvVcoDIGjO1wHwrUhp/p8kSVXYEt5i+jzE7UHEUNwrD5YtC\n\t\t7i64hKAAMAoGCCqGSM49BAMCA0kAMEYCIQD0qoJM4EKR9DT6AIHNMm7I0Hwzu3rp\n\t\tu7CIFgdchCsNeQIhANCstbvSt7ZwQY4abRS9GiTlFn3vGGjwGdeeXb0RmxGg\n\t\t-----END CERTIFICATE REQUEST-----\n\t\n\t-----BEGIN CERTIFICATE-----\n\t\tMIIEiTCCBC6gAwIBAgIIFRZ9ouKAzqwwCgYIKoZIzj0EAwIwgYAxNDAyBgNVBAMM\n\t\tK0FwcGxlIFdvcmxkd2lkZSBEZXZlbG9wZXIgUmVsYXRpb25zIENBIC0gRzIxJjAk\n\t\tBgNVBAsMHUFwcGxlIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRMwEQYDVQQKDApB\n\t\tcHBsZSBJbmMuMQswCQYDVQQGEwJVUzAeFw0xNTAyMTkyMDMzMzBaFw0xNzAzMjAy\n\t\tMDMzMzBaMIG5MTowOAYKCZImiZPyLGQBAQwqbWVyY2hhbnQuY29tLnNlYXRnZWVr\n\t\tLlNwcmVlZGx5QXBwbGVQYXlUZXN0MUAwPgYDVQQDDDdNZXJjaGFudCBJRDogbWVy\n\t\tY2hhbnQuY29tLnNlYXRnZWVrLlNwcmVlZGx5QXBwbGVQYXlUZXN0MRMwEQYDVQQL\n\t\tDAo5QjNRWTlXQlo1MRcwFQYDVQQKDA5TZWF0R2VlaywgSW5jLjELMAkGA1UEBhMC\n\t\tVVMwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAQhoBD6FaOXUJq3e4EoI7rWemTz\n\t\thLaPlAdF87WzmbhWKVNJ9LAEhrBjAtj6is765Ow2dnYta0QPF9EJoubwKOjKo4IC\n\t\tVTCCAlEwRwYIKwYBBQUHAQEEOzA5MDcGCCsGAQUFBzABhitodHRwOi8vb2NzcC5h\n\t\tcHBsZS5jb20vb2NzcDA0LWFwcGxld3dkcmNhMjAxMB0GA1UdDgQWBBQMV4lSAdev\n\t\tm6sv1MVm5yR0gWij+jAMBgNVHRMBAf8EAjAAMB8GA1UdIwQYMBaAFIS2hMw6hmJy\n\t\tFlmU6BqjvUjfOt8LMIIBHQYDVR0gBIIBFDCCARAwggEMBgkqhkiG92NkBQEwgf4w\n\t\tgcMGCCsGAQUFBwICMIG2DIGzUmVsaWFuY2Ugb24gdGhpcyBjZXJ0aWZpY2F0ZSBi\n\t\teSBhbnkgcGFydHkgYXNzdW1lcyBhY2NlcHRhbmNlIG9mIHRoZSB0aGVuIGFwcGxp\n\t\tY2FibGUgc3RhbmRhcmQgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YgdXNlLCBjZXJ0\n\t\taWZpY2F0ZSBwb2xpY3kgYW5kIGNlcnRpZmljYXRpb24gcHJhY3RpY2Ugc3RhdGVt\n\t\tZW50cy4wNgYIKwYBBQUHAgEWKmh0dHA6Ly93d3cuYXBwbGUuY29tL2NlcnRpZmlj\n\t\tYXRlYXV0aG9yaXR5LzA2BgNVHR8ELzAtMCugKaAnhiVodHRwOi8vY3JsLmFwcGxl\n\t\tLmNvbS9hcHBsZXd3ZHJjYTIuY3JsMA4GA1UdDwEB/wQEAwIDKDBPBgkqhkiG92Nk\n\t\tBiAEQgxAODlDQjI1MDkxOTI0RDY3RjlFMEM2QUVDMzA0MENBMkFGNzA4MEYzRTBG\n\t\tQ0NFMTZBOTY5RDkyMUE0QkM5RTA1RjAKBggqhkjOPQQDAgNJADBGAiEAvKYdzDtD\n\t\tQ87guVNkybbcEY1Y/nXO9Ry+4fVDwXYMET0CIQDEiK1+xSSziPZ/PPQHF8MCWsD0\n\t\tLDW0aLigLHbDgQcrXA==\n\t\t-----END CERTIFICATE-----\n\t\n\t2024-06-27T18:16:35Z\n\t2024-07-27T17:54:23Z\n"}},"schema":{"$ref":"#/components/schemas/create_certificate_response"}}}},"422":{"description":"Request not processed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/update_certificate"},"examples":{"Update certificate":{"summary":"Update certificate","value":{"certificate":{"pem":"-----BEGIN CERTIFICATE-----\nMIIEiTCCBC6gAwIBAgIIFRZ9ouKAzqwwCgYIKoZIzj0EAwIwgYAxNDAyBgNVBAMM\nK0FwcGxlIFdvcmxkd2lkZSBEZXZlbG9wZXIgUmVsYXRpb25zIENBIC0gRzIxJjAk\nBgNVBAsMHUFwcGxlIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRMwEQYDVQQKDApB\ncHBsZSBJbmMuMQswCQYDVQQGEwJVUzAeFw0xNTAyMTkyMDMzMzBaFw0xNzAzMjAy\nMDMzMzBaMIG5MTowOAYKCZImiZPyLGQBAQwqbWVyY2hhbnQuY29tLnNlYXRnZWVr\nLlNwcmVlZGx5QXBwbGVQYXlUZXN0MUAwPgYDVQQDDDdNZXJjaGFudCBJRDogbWVy\nY2hhbnQuY29tLnNlYXRnZWVrLlNwcmVlZGx5QXBwbGVQYXlUZXN0MRMwEQYDVQQL\nDAo5QjNRWTlXQlo1MRcwFQYDVQQKDA5TZWF0R2VlaywgSW5jLjELMAkGA1UEBhMC\nVVMwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAQhoBD6FaOXUJq3e4EoI7rWemTz\nhLaPlAdF87WzmbhWKVNJ9LAEhrBjAtj6is765Ow2dnYta0QPF9EJoubwKOjKo4IC\nVTCCAlEwRwYIKwYBBQUHAQEEOzA5MDcGCCsGAQUFBzABhitodHRwOi8vb2NzcC5h\ncHBsZS5jb20vb2NzcDA0LWFwcGxld3dkcmNhMjAxMB0GA1UdDgQWBBQMV4lSAdev\nm6sv1MVm5yR0gWij+jAMBgNVHRMBAf8EAjAAMB8GA1UdIwQYMBaAFIS2hMw6hmJy\nFlmU6BqjvUjfOt8LMIIBHQYDVR0gBIIBFDCCARAwggEMBgkqhkiG92NkBQEwgf4w\ngcMGCCsGAQUFBwICMIG2DIGzUmVsaWFuY2Ugb24gdGhpcyBjZXJ0aWZpY2F0ZSBi\neSBhbnkgcGFydHkgYXNzdW1lcyBhY2NlcHRhbmNlIG9mIHRoZSB0aGVuIGFwcGxp\nY2FibGUgc3RhbmRhcmQgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YgdXNlLCBjZXJ0\naWZpY2F0ZSBwb2xpY3kgYW5kIGNlcnRpZmljYXRpb24gcHJhY3RpY2Ugc3RhdGVt\nZW50cy4wNgYIKwYBBQUHAgEWKmh0dHA6Ly93d3cuYXBwbGUuY29tL2NlcnRpZmlj\nYXRlYXV0aG9yaXR5LzA2BgNVHR8ELzAtMCugKaAnhiVodHRwOi8vY3JsLmFwcGxl\nLmNvbS9hcHBsZXd3ZHJjYTIuY3JsMA4GA1UdDwEB/wQEAwIDKDBPBgkqhkiG92Nk\nBiAEQgxAODlDQjI1MDkxOTI0RDY3RjlFMEM2QUVDMzA0MENBMkFGNzA4MEYzRTBG\nQ0NFMTZBOTY5RDkyMUE0QkM5RTA1RjAKBggqhkjOPQQDAgNJADBGAiEAvKYdzDtD\nQ87guVNkybbcEY1Y/nXO9Ry+4fVDwXYMET0CIQDEiK1+xSSziPZ/PPQHF8MCWsD0\nLDW0aLigLHbDgQcrXA==\n-----END CERTIFICATE-----\n"}}}}},"application/xml":{"schema":{"$ref":"#/components/schemas/update_certificate"},"examples":{"Update certificate":{"summary":"Update certificate","value":{"certificate":{"pem":"-----BEGIN CERTIFICATE-----\nMIIEiTCCBC6gAwIBAgIIFRZ9ouKAzqwwCgYIKoZIzj0EAwIwgYAxNDAyBgNVBAMM\nK0FwcGxlIFdvcmxkd2lkZSBEZXZlbG9wZXIgUmVsYXRpb25zIENBIC0gRzIxJjAk\nBgNVBAsMHUFwcGxlIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRMwEQYDVQQKDApB\ncHBsZSBJbmMuMQswCQYDVQQGEwJVUzAeFw0xNTAyMTkyMDMzMzBaFw0xNzAzMjAy\nMDMzMzBaMIG5MTowOAYKCZImiZPyLGQBAQwqbWVyY2hhbnQuY29tLnNlYXRnZWVr\nLlNwcmVlZGx5QXBwbGVQYXlUZXN0MUAwPgYDVQQDDDdNZXJjaGFudCBJRDogbWVy\nY2hhbnQuY29tLnNlYXRnZWVrLlNwcmVlZGx5QXBwbGVQYXlUZXN0MRMwEQYDVQQL\nDAo5QjNRWTlXQlo1MRcwFQYDVQQKDA5TZWF0R2VlaywgSW5jLjELMAkGA1UEBhMC\nVVMwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAQhoBD6FaOXUJq3e4EoI7rWemTz\nhLaPlAdF87WzmbhWKVNJ9LAEhrBjAtj6is765Ow2dnYta0QPF9EJoubwKOjKo4IC\nVTCCAlEwRwYIKwYBBQUHAQEEOzA5MDcGCCsGAQUFBzABhitodHRwOi8vb2NzcC5h\ncHBsZS5jb20vb2NzcDA0LWFwcGxld3dkcmNhMjAxMB0GA1UdDgQWBBQMV4lSAdev\nm6sv1MVm5yR0gWij+jAMBgNVHRMBAf8EAjAAMB8GA1UdIwQYMBaAFIS2hMw6hmJy\nFlmU6BqjvUjfOt8LMIIBHQYDVR0gBIIBFDCCARAwggEMBgkqhkiG92NkBQEwgf4w\ngcMGCCsGAQUFBwICMIG2DIGzUmVsaWFuY2Ugb24gdGhpcyBjZXJ0aWZpY2F0ZSBi\neSBhbnkgcGFydHkgYXNzdW1lcyBhY2NlcHRhbmNlIG9mIHRoZSB0aGVuIGFwcGxp\nY2FibGUgc3RhbmRhcmQgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YgdXNlLCBjZXJ0\naWZpY2F0ZSBwb2xpY3kgYW5kIGNlcnRpZmljYXRpb24gcHJhY3RpY2Ugc3RhdGVt\nZW50cy4wNgYIKwYBBQUHAgEWKmh0dHA6Ly93d3cuYXBwbGUuY29tL2NlcnRpZmlj\nYXRlYXV0aG9yaXR5LzA2BgNVHR8ELzAtMCugKaAnhiVodHRwOi8vY3JsLmFwcGxl\nLmNvbS9hcHBsZXd3ZHJjYTIuY3JsMA4GA1UdDwEB/wQEAwIDKDBPBgkqhkiG92Nk\nBiAEQgxAODlDQjI1MDkxOTI0RDY3RjlFMEM2QUVDMzA0MENBMkFGNzA4MEYzRTBG\nQ0NFMTZBOTY5RDkyMUE0QkM5RTA1RjAKBggqhkjOPQQDAgNJADBGAiEAvKYdzDtD\nQ87guVNkybbcEY1Y/nXO9Ry+4fVDwXYMET0CIQDEiK1+xSSziPZ/PPQHF8MCWsD0\nLDW0aLigLHbDgQcrXA==\n-----END CERTIFICATE-----\n"}}}}}}}}},"/transactions/authorize":{"post":{"summary":"Create an authorization with workflows","tags":["composer"],"security":[{"basic_auth":[]}],"operationId":"composer.authorize","description":"Spreedly's workflow service will determine which gateway the transaction will be processed based on the workflow evoked and send normalized fields depending on what the gateway supports. A `workflow_key` should be sent in the request body or left as null to evoke the Default Workflow set in your Spreedly environment.\n\nTo learn more about how to enable workflows, please contact Spreedly at support@spreedly.com.\n\nPass a credit card payment method directly into the authorize request. If the card is valid, it will automatically be tokenized at Spreedly before sending to the gateway. No funds are taken with an authorize - a follow-up capture transaction is required to actually move the funds.\n\n**Tokenized payment method:** Charge a _tokenized_ payment method (already stored in the Spreedly environment) the specified amount. The payment method can be of any type (credit card, bank account, Apple Pay, etc…), as long as it exists in the specified environment.\n\nThe `payment_method_token` field of the transaction request is required.\n\n**Pass-in credit card:** Pass a credit card payment method directly in to the authorize request. If the card is valid, it will automatically be tokenized at Spreedly before sending to the gateway.\n\nThe `credit_card` field of the transaction request is required.\n\n**Pass-in Apple Pay:** Pass an Apple Pay payment method directly in to the authorize request. If the Apple Pay data is valid, it will automatically be tokenized at Spreedly before sending to the gateway.\n\nThe `apple_pay` field of the transaction request is required.\n\n**Pass-in Google Pay:** Pass a Google Pay payment method directly in to the authorize request. If the Google Pay data is valid, it will automatically be tokenized at Spreedly before sending to the gateway.\n\nThe `google_pay` field of the transaction request is required.\n\n**SCA Authenticated:** Charge an SCA Authenticated payment method (already stored in the Spreedly environment) the specified amount.\n\nThe `sca_authentication_token` field of the transaction request is required.\n\n**Default workflow:** Use the default workflow for the environment that is set in app.spreedly.com\n\nThe `workflow_key` field is not required to be passed in for this type of request.\n","parameters":[],"responses":{"200":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/purchase_response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/purchase_response"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/purchase"},"examples":{"Payment method token":{"summary":"Payment method token","value":{"transaction":{"payment_method_token":"","amount":100,"workflow_key":"","currency_code":"USD"}}},"Pass in credit card":{"summary":"Pass in credit card","value":{"transaction":{"amount":100,"currency_code":"USD","workflow_key":"","credit_card":{"first_name":"Joe","last_name":"Smith","number":4111111111111111,"verification_value":123,"month":12,"year":2030}}}},"Pass in Apple Pay":{"summary":"Pass in Apple Pay","value":{"transaction":{"amount":100,"currency_code":"USD","workflow_key":"","apple_pay":{"payment_data":{"version":"","data":"","signature":"","header":{"ephemeralPublicKey":"","transactionId":"","publicKeyHash":""}},"test_card_number":"4111111111111111"}}}},"Pass in Google Pay":{"summary":"Pass in Google Pay","value":{"transaction":{"amount":1122,"currency_code":"USD","workflow_key":"","google_pay":{"payment_data":{"signature":"","protocolVersion":"","signedMessage":"{}"},"test_card_number":"4111111111111111"}}}},"SCA Authenticated":{"summary":"SCA Authenticated","value":{"transaction":{"sca_authentication_token":"","amount":1122,"currency_code":"USD","workflow_key":""}}},"Default workflow":{"summary":"Default workflow","value":{"transaction":{"payment_method_token":"","amount":100,"currency_code":"USD"}}}}},"application/xml":{"schema":{"$ref":"#/components/schemas/purchase"},"examples":{"Payment method token":{"summary":"Payment method token","value":{"transaction":{"payment_method_token":"","amount":100,"workflow_key":"","currency_code":"USD"}}},"Pass in credit card":{"summary":"Pass in credit card","value":{"transaction":{"amount":100,"currency_code":"USD","workflow_key":"","credit_card":{"first_name":"Joe","last_name":"Smith","number":4111111111111111,"verification_value":123,"month":12,"year":2030}}}},"Pass in Apple Pay":{"summary":"Pass in Apple Pay","value":{"transaction":{"amount":100,"currency_code":"USD","workflow_key":"","apple_pay":{"payment_data":{"version":"","data":"","signature":"","header":{"ephemeralPublicKey":"","transactionId":"","publicKeyHash":""}},"test_card_number":"4111111111111111"}}}},"Pass in Google Pay":{"summary":"Pass in Google Pay","value":{"transaction":{"amount":1122,"currency_code":"USD","workflow_key":"","google_pay":{"payment_data":{"signature":"","protocolVersion":"","signedMessage":"{}"},"test_card_number":"4111111111111111"}}}},"SCA Authenticated":{"summary":"SCA Authenticated","value":{"transaction":{"sca_authentication_token":"","amount":1122,"currency_code":"USD","workflow_key":""}}},"Default workflow":{"summary":"Default workflow","value":{"transaction":{"payment_method_token":"","amount":100,"currency_code":"USD"}}}}}}}}},"/transactions/purchase":{"post":{"summary":"Create a purchase with workflows","tags":["composer"],"security":[{"basic_auth":[]}],"operationId":"composer.purchase","description":"Spreedly's workflow service will determine which gateway the transaction will be processed based on the workflow evoked and send normalized fields depending on what the gateway supports. A `workflow_key` should be sent in the request body or left as null to evoke the Default Workflow set in your Spreedly environment.\n\nTo learn more about how to enable workflows, please contact Spreedly at support@spreedly.com.\n\nCharge a payment method a specific amount at the target gateway. One of the following payment methods must be included in the request:\n\n**Tokenized payment method:** Charge a _tokenized_ payment method (already stored in the Spreedly environment) the specified amount. The payment method can be of any type (credit card, bank account, Apple Pay, etc…), as long as it exists in the specified environment.\n\nThe `payment_method_token` field of the transaction request is required.\n\n**Pass-in credit card:** Pass a credit card payment method directly in to the purchase request. If the card is valid, it will automatically be tokenized at Spreedly before sending to the gateway.\n\nThe `credit_card` field of the transaction request is required.\n\n**Pass-in Apple Pay:** Pass an Apple Pay payment method directly in to the purchase request. If the Apple Pay data is valid, it will automatically be tokenized at Spreedly before sending to the gateway.\n\nThe `apple_pay` field of the transaction request is required.\n\n**Pass-in Google Pay:** Pass a Google Pay payment method directly in to the purchase request. If the Google Pay data is valid, it will automatically be tokenized at Spreedly before sending to the gateway.\n\nThe `google_pay` field of the transaction request is required.\n\n**SCA Authenticated:** Charge an SCA Authenticated payment method (already stored in the Spreedly environment) the specified amount.\n\nThe `sca_authentication_token` field of the transaction request is required.\n\n**Default workflow:** Use the default workflow for the environment that is set in app.spreedly.com\n\nThe `workflow_key` field is not required to be passed in for this type of request.\n","parameters":[],"responses":{"200":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/purchase_response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/purchase_response"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/purchase"},"examples":{"Payment method token":{"summary":"Payment method token","value":{"transaction":{"payment_method_token":"","amount":100,"workflow_key":"","currency_code":"USD"}}},"Pass in credit card":{"summary":"Pass in credit card","value":{"transaction":{"amount":100,"currency_code":"USD","workflow_key":"","credit_card":{"first_name":"Joe","last_name":"Smith","number":4111111111111111,"verification_value":123,"month":12,"year":2030}}}},"Pass in Apple Pay":{"summary":"Pass in Apple Pay","value":{"transaction":{"amount":100,"currency_code":"USD","workflow_key":"","apple_pay":{"payment_data":{"version":"","data":"","signature":"","header":{"ephemeralPublicKey":"","transactionId":"","publicKeyHash":""}},"test_card_number":"4111111111111111"}}}},"Pass in Google Pay":{"summary":"Pass in Google Pay","value":{"transaction":{"amount":1122,"currency_code":"USD","workflow_key":"","google_pay":{"payment_data":{"signature":"","protocolVersion":"","signedMessage":"{}"},"test_card_number":"4111111111111111"}}}},"SCA Authenticated":{"summary":"SCA Authenticated","value":{"transaction":{"sca_authentication_token":"","amount":1122,"currency_code":"USD","workflow_key":""}}},"Default workflow":{"summary":"Default workflow","value":{"transaction":{"payment_method_token":"","amount":100,"currency_code":"USD"}}}}},"application/xml":{"schema":{"$ref":"#/components/schemas/purchase"},"examples":{"Payment method token":{"summary":"Payment method token","value":{"transaction":{"payment_method_token":"","amount":100,"workflow_key":"","currency_code":"USD"}}},"Pass in credit card":{"summary":"Pass in credit card","value":{"transaction":{"amount":100,"currency_code":"USD","workflow_key":"","credit_card":{"first_name":"Joe","last_name":"Smith","number":4111111111111111,"verification_value":123,"month":12,"year":2030}}}},"Pass in Apple Pay":{"summary":"Pass in Apple Pay","value":{"transaction":{"amount":100,"currency_code":"USD","workflow_key":"","apple_pay":{"payment_data":{"version":"","data":"","signature":"","header":{"ephemeralPublicKey":"","transactionId":"","publicKeyHash":""}},"test_card_number":"4111111111111111"}}}},"Pass in Google Pay":{"summary":"Pass in Google Pay","value":{"transaction":{"amount":1122,"currency_code":"USD","workflow_key":"","google_pay":{"payment_data":{"signature":"","protocolVersion":"","signedMessage":"{}"},"test_card_number":"4111111111111111"}}}},"SCA Authenticated":{"summary":"SCA Authenticated","value":{"transaction":{"sca_authentication_token":"","amount":1122,"currency_code":"USD","workflow_key":""}}},"Default workflow":{"summary":"Default workflow","value":{"transaction":{"payment_method_token":"","amount":100,"currency_code":"USD"}}}}}}}}},"/transactions/verify":{"post":{"summary":"Create a verify with workflows","tags":["composer"],"security":[{"basic_auth":[]}],"operationId":"composer.verify","description":"Spreedly's workflow service will determine which gateway the transaction will be processed based on the workflow evoked and send normalized fields depending on what the gateway supports. A `workflow_key` should be sent in the request body or left as null to evoke the Default Workflow set in your Spreedly environment.\n\nTo learn more about how to enable workflows, please contact Spreedly at support@spreedly.com.\n\nDetermine if a credit card is chargeable card and available for purchases. The `retain_on_success` request parameter will automatically retain the card if it’s successfully verified.\n\n**Tokenized payment method:** Charge a _tokenized_ payment method (already stored in the Spreedly environment) the specified amount. The payment method can be of any type (credit card, bank account, Apple Pay, etc…), as long as it exists in the specified environment.\n\nThe `payment_method_token` field of the transaction request is required.\n\n**Pass-in credit card:** Pass a credit card payment method directly in to the verify request. If the card is valid, it will automatically be tokenized at Spreedly before sending to the gateway.\n\nThe `credit_card` field of the transaction request is required.\n\n**SCA Authenticated:** Charge an SCA Authenticated payment method (already stored in the Spreedly environment) the specified amount.\n\nThe `sca_authentication_token` field of the transaction request is required.\n\n**Default workflow:** Use the default workflow for the environment that is set in app.spreedly.com\n\nThe `workflow_key` field is not required to be passed in for this type of request.\n","parameters":[],"responses":{"200":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/verify_composer_response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/verify_composer_response"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/verify_composer"},"examples":{"Payment method token":{"summary":"Payment method token","value":{"transaction":{"payment_method_token":"","amount":100,"workflow_key":"","currency_code":"USD"}}},"Pass in credit card":{"summary":"Pass in credit card","value":{"transaction":{"amount":100,"currency_code":"USD","workflow_key":"","credit_card":{"first_name":"Joe","last_name":"Smith","number":4111111111111111,"verification_value":123,"month":12,"year":2030}}}},"SCA Authenticated":{"summary":"SCA Authenticated","value":{"transaction":{"sca_authentication_token":"","amount":1122,"currency_code":"USD","workflow_key":""}}},"Default workflow":{"summary":"Default workflow","value":{"transaction":{"payment_method_token":"","retain_on_success":true}}}}},"application/xml":{"schema":{"$ref":"#/components/schemas/verify_composer"},"examples":{"Payment method token":{"summary":"Payment method token","value":{"transaction":{"payment_method_token":"","amount":100,"workflow_key":"","currency_code":"USD"}}},"Pass in credit card":{"summary":"Pass in credit card","value":{"transaction":{"amount":100,"currency_code":"USD","workflow_key":"","credit_card":{"first_name":"Joe","last_name":"Smith","number":4111111111111111,"verification_value":123,"month":12,"year":2030}}}},"SCA Authenticated":{"summary":"SCA Authenticated","value":{"transaction":{"sca_authentication_token":"","amount":1122,"currency_code":"USD","workflow_key":""}}},"Default workflow":{"summary":"Default workflow","value":{"transaction":{"payment_method_token":"","retain_on_success":true}}}}}}}}},"/transactions/{transaction_token}/credit":{"post":{"summary":"Create a refund transaction","tags":["credit"],"security":[{"basic_auth":[]}],"operationId":"credit-transaction","description":"Refund the full or partial amount of a purchase or capture. [Credit/Refund transactions](https://developer.spreedly.com/docs/create-transactions#payment-orchestration).\n","parameters":[{"$ref":"#/components/parameters/transaction_token"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/transactions_response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/transactions_response"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}},"422":{"description":"Unprocessable entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/credit_partial_request"},"examples":{"Credit partial amount":{"summary":"Credit partial amount","value":{"transaction":{"amount":50,"currency_code":"USD"}}}}},"application/xml":{"schema":{"$ref":"#/components/schemas/credit_partial_request"},"examples":{"Credit partial amount":{"summary":"Credit partial amount","value":{"transaction":{"amount":50,"currency_code":"USD"}}}}}}}}},"/gateways/{gateway_token}/general_credit":{"post":{"summary":"Create a general credit transaction","tags":["general_credit"],"security":[{"basic_auth":[]}],"operationId":"general-credit-transaction","description":"Add funds to a credit card outside the scope of a previous reference transaction. This is different from [credit](https://developer.spreedly.com/reference/credit-transaction) which refunds money only up to the amount that had been taken during a previous transaction.\n\nSupport for general credit depends on the gateway.\n","parameters":[{"$ref":"#/components/parameters/gateway_token"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/transaction_response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/transaction_response"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}},"422":{"description":"Unprocessable entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/general_credit_request"}},"application/xml":{"schema":{"$ref":"#/components/schemas/general_credit_request"}}}}}},"/environments/{environment_key}/access_secrets":{"parameters":[{"name":"environment_key","in":"path","description":"The key of the environment to execute against","required":true,"schema":{"type":"string"}}],"post":{"summary":"Create environment access secret","tags":["access_secrets"],"security":[{"basic_auth":[]}],"operationId":"create-access-secret","description":"Create an access secret in an environment. Authentication should be done using the environment where you want to create the secret and an Organization Access Secret.","parameters":[],"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/access_secret_response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/access_secret_response"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}},"422":{"description":"Unprocessable entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/access_secret"}},"application/xml":{"schema":{"$ref":"#/components/schemas/access_secret"}}}}},"get":{"summary":"List environment access secrets","tags":["access_secrets"],"security":[{"basic_auth":[]}],"operationId":"list-access-secrets","description":"Retrieve a list of all access secrets in an environment. This call should be authenticated with the key of the environment that you are accessing and an Organization Access Secret.","responses":{"200":{"description":"Successful","content":{"application/json":{"schema":{"$ref":"#/components/schemas/list_access_secrets_response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/list_access_secrets_response"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}}}}},"/environments/{environment_key}/access_secrets/{access_secret_key}":{"parameters":[{"name":"environment_key","in":"path","description":"The key of the environment to execute against","required":true,"schema":{"type":"string"}},{"name":"access_secret_key","in":"path","description":"The key of the access secret to execute against","required":true,"schema":{"type":"string"}}],"get":{"summary":"Show environment access secret","tags":["access_secrets"],"security":[{"basic_auth":[]}],"operationId":"show-access-secrets","description":"Get an access secret with the given key. This call should be authenticated with the key of the environment that you are accessing and an Organization Access Secret.","responses":{"200":{"description":"Successful","content":{"application/json":{"schema":{"$ref":"#/components/schemas/access_secret_response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/access_secret_response"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}}}},"delete":{"summary":"Delete environment access secret","tags":["access_secrets"],"security":[{"basic_auth":[]}],"operationId":"delete-access-secrets","description":"Delete an access secret in an environment. Authentication should be done using the environment where you want to delete the secret and an Organization Access Secret.","responses":{"204":{"description":"No content"},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}}}}},"/environments/{environment_key}/regenerate_signing_secret":{"parameters":[{"name":"environment_key","in":"path","description":"The key of the environment to execute against","required":true,"schema":{"type":"string"}}],"post":{"summary":"Regenerate signing secret","tags":["environments"],"security":[{"basic_auth":[]}],"operationId":"regenerate-signing-secret","description":"Regenerate environment signing secret. Once this is regenerated, the old signing secret will no longer be valid and you must immediately update your application with the new signing secret. This call should be authenticated with the key of the environment that you are trying to update and an Organization Access Secret.","responses":{"200":{"description":"Successful","content":{"application/json":{"schema":{"$ref":"#/components/schemas/regenerate_environment_signing_secret_response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/regenerate_environment_signing_secret_response"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}}}}},"/environments":{"get":{"summary":"List environments","tags":["environments"],"security":[{"basic_auth":[]}],"operationId":"list-environments","description":"Retrieve an ordered and paginated list of all environments in an organization. This call should be authenticated with an environment key from the organization and an Organization Access Secret.","parameters":[{"name":"order","in":"query","description":"The order of the returned list. Default is `asc`, which returns the oldest records first. To list newer records first, use `desc`.","schema":{"type":"string"}},{"name":"since_token","in":"query","description":"Token refers to the key of the environment to start from (e.g., the last environment_key received in the previous list if iterating through records)","schema":{"type":"string"}},{"name":"count","in":"query","description":"The number of environments to return. By default returns 20, maximum allowed is 100.","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful","content":{"application/json":{"schema":{"$ref":"#/components/schemas/list_environments_response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/list_environments_response"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}}}},"post":{"summary":"Create an environment","tags":["environments"],"security":[{"basic_auth":[]}],"operationId":"create-environments","description":"Create an environment in your organization. You will need to create one environment and access secret manually at app.spreedly.com for authentication. After that you can authenticate the API call using that environment key and an Organization Access Secret.","parameters":[],"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/environment_response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/environment_response"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}},"422":{"description":"Unprocessable entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/environment_create"}},"application/xml":{"schema":{"$ref":"#/components/schemas/environment_create"}}}}}},"/environments/{environment_key}":{"parameters":[{"name":"environment_key","in":"path","description":"The key of the environment to execute against","required":true,"schema":{"type":"string"}}],"get":{"summary":"Show environment","tags":["environments"],"security":[{"basic_auth":[]}],"operationId":"show-environments","description":"Get an environment with the given key. This call should be authenticated with the key of the environment that you are trying to show and an Organization Access Secret.","responses":{"200":{"description":"Successful","content":{"application/json":{"schema":{"$ref":"#/components/schemas/environment_response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/environment_response"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}}}},"put":{"summary":"Update environment","tags":["environments"],"security":[{"basic_auth":[]}],"operationId":"update-environments","description":"Update an existing environment. This call should be authenticated with the key of the environment that you are trying to update and an Organization Access Secret.","parameters":[],"responses":{"200":{"description":"Successful","content":{"application/json":{"schema":{"$ref":"#/components/schemas/environment_response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/environment_response"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}},"422":{"description":"Unprocessable entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/environment_update"}},"application/xml":{"schema":{"$ref":"#/components/schemas/environment_update"}}}}}},"/events":{"get":{"summary":"list events","tags":["events"],"security":[{"basic_auth":[]}],"operationId":"list-events","description":"Retrieve an ordered and paginated list of all events in the authenticated environment.","parameters":[{"name":"order","in":"query","description":"The order of the returned list. Default is `desc`, which returns the newest records first. To list older records first, use `asc`.","schema":{"type":"string"}},{"name":"since_token","in":"query","description":"The id of the item to start from (e.g., the last id received in the previous list if iterating through records)","schema":{"type":"string"}},{"name":"count","in":"query","description":"The number of payment methods to return. By default returns 20, maximum allowed is 100.","schema":{"type":"string"}},{"name":"event_type","in":"query","description":"Filter events by event type. If not specified, all event types are returned.","schema":{"type":"string"}}],"responses":{"200":{"description":"successful","content":{"application/json":{"schema":{"$ref":"#/components/schemas/list_events_response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/list_events_response"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}}}}},"/events/{event_id}":{"parameters":[{"name":"event_id","in":"path","description":"The id of the event","required":true,"schema":{"type":"string"}}],"get":{"summary":"Show event","tags":["events"],"security":[{"basic_auth":[]}],"operationId":"show-event","description":"Get an event with the given id.","responses":{"200":{"description":"successful","content":{"application/json":{"schema":{"$ref":"#/components/schemas/event_response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/event_response"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}}}}},"/gateways.{format}":{"parameters":[{"$ref":"#/components/parameters/format"}],"post":{"summary":"Create a gateway","tags":["gateways"],"security":[{"basic_auth":[]}],"operationId":"create-gateways","description":"Create (provision) a gateway to process card data in the authenticated environment. A test gateway is used to [test your integration](https://developer.spreedly.com/docs/testing/) to Spreedly and can only be used with [test payment methods](https://developer.spreedly.com/docs/test-data/). Production gateways process real card data and transactions. Production gateways are created using the credentials required for that gateway, meaning each call is slightly different depending on the gateway's API requirements.","parameters":[],"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/gateway_response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/gateway_response"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/gateway"},"examples":{"Create Gateway":{"summary":"Create a gateway with gateway credentials","value":{"gateway":{"gateway_type":"string","description":"string","gateway_specific_login":"gateway_username","gateway_secret":"gateway_credential","merchant_profile_key":"string","sub_merchant_key":"string","sandbox":true}}}}},"application/xml":{"schema":{"$ref":"#/components/schemas/gateway"},"examples":{"Create Gateway":{"summary":"Create a gateway with gateway credentials","value":{"gateway":{"gateway_type":"string","description":"string","gateway_specific_login":"gateway_username","gateway_secret":"gateway_credential","merchant_profile_key":"string","sub_merchant_key":"string","sandbox":true}}}}}}}},"get":{"summary":"List created gateways","tags":["gateways"],"security":[{"basic_auth":[]}],"operationId":"list-gateways","description":"Retrieve an ordered and paginated list of all gateways in the environment. This is different from the list of all supported gateways in that this will only return the gateway instances that have been provisioned in the authenticated environment.","parameters":[{"name":"order","in":"query","description":"The order of the returned list. Default is `asc`, which returns the oldest records first. To list newer records first, use `desc`.","schema":{"type":"string"}},{"name":"since_token","in":"query","description":"The token of the item to start from (e.g., the last token received in the previous list if iterating through records)","schema":{"type":"string"}},{"name":"count","in":"query","description":"The number of gateways to return. By default returns 20, maximum allowed is 100.","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful","content":{"application/json":{"schema":{"$ref":"#/components/schemas/list_gateways_response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/list_gateways_response"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}},"422":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}}}}},"/gateways/{gateway_token}.json":{"parameters":[{"name":"gateway_token","in":"path","description":"The token of the gateway to execute against","required":true,"schema":{"type":"string"}}],"get":{"summary":"Show gateway","tags":["gateways"],"security":[{"basic_auth":[]}],"operationId":"show-gateways","description":"Get a gateway with the given token.","responses":{"200":{"description":"Successful","content":{"application/json":{"schema":{"$ref":"#/components/schemas/gateway_response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/gateway_response"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}}}},"put":{"summary":"Update gateway","tags":["gateways"],"security":[{"basic_auth":[]}],"operationId":"update-gateway","description":"Update a gateway.\n\nUpdate is intended to be used for updating credentials, description, or metadata.\n","parameters":[],"responses":{"200":{"description":"Successful","content":{"application/json":{"schema":{"$ref":"#/components/schemas/gateway_response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/gateway_response"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/gateway_update"}},"application/xml":{"schema":{"$ref":"#/components/schemas/gateway_update"}}}}}},"/gateways_options.json":{"get":{"summary":"List supported gateways","tags":["gateways"],"operationId":"list-supported-gateways","description":"Retrieve a list of all gateways, and their properties, supported by Spreedly. This call can be used to dynamically present a gateway credential form to users or to do any sort of dynamic rendering.","responses":{"200":{"description":"Successful","content":{"application/json":{"schema":{"$ref":"#/components/schemas/gateways_options_response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/gateways_options_response"}}}}}}},"/gateways/{gateway_token}/transactions.json":{"parameters":[{"name":"gateway_token","in":"path","description":"The token of the gateway to execute against","required":true,"schema":{"type":"string"}}],"get":{"summary":"Transactions","tags":["gateways"],"security":[{"basic_auth":[]}],"operationId":"list-gateway-transactions","description":"Get an ordered and paginated list of transactions executed against a specific gateway.","parameters":[{"name":"order","in":"query","description":"The order of the returned list. Default is `asc`, which returns the oldest records first. To list newer records first, use `desc`.","schema":{"type":"string"}},{"name":"since_token","in":"query","description":"The token of the item to start from (e.g., the last token received in the previous list if iterating through records)","schema":{"type":"string"}},{"name":"state","in":"query","description":"The transaction state on which to filter the returned list. Can be one of `succeeded`, `failed`, `gateway_processing_failed`, `gateway_processing_result_unknown`.","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful","content":{"application/json":{"schema":{"$ref":"#/components/schemas/transactions_response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/transactions_response"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}},"422":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}}}}},"/gateways/{gateway_token}/redact.json":{"parameters":[{"name":"gateway_token","in":"path","description":"The token of the gateway to execute against","required":true,"schema":{"type":"string"}}],"put":{"summary":"Redact gateway","tags":["gateways"],"security":[{"basic_auth":[]}],"operationId":"redact-gateways","description":"Redact (strip of any sensitive credentials and make inactive) a provisioned gateway.","responses":{"200":{"description":"Successful","content":{"application/json":{"schema":{"$ref":"#/components/schemas/gateway_response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/gateway_response"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}}}}},"/gateways/{gateway_token}/retain.json":{"parameters":[{"name":"gateway_token","in":"path","description":"The token of the gateway to execute against","required":true,"schema":{"type":"string"}}],"put":{"summary":"Retain gateway","tags":["gateways"],"security":[{"basic_auth":[]}],"operationId":"retain-gateways","description":"When gateways are created via the API, they are automatically retained. However, gateways created via the unauthenticated API (e.g., from a browser/javascript library) are created in the “cached” state. Only by retaining a cached gateway will it be saved and available for future use.","parameters":[],"responses":{"200":{"description":"Successful","content":{"application/json":{"schema":{"$ref":"#/components/schemas/gateway_response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/gateway_response"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}}}}},"/merchant_profiles":{"post":{"summary":"Create merchant profile","tags":["merchant_profiles"],"security":[{"basic_auth":[]}],"operationId":"create-merchant-profile","description":"Create a Merchant Profile that holds the SCA Provider. **At least one card type object must be included in the request.** The following card types are supported: Visa, Mastercard, American Express, Discover, Diners, JCB, Dankort, Union Pay, and Cartes Bancaires.","parameters":[],"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/merchant_profile_response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/merchant_profile_response"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/merchant_profile_create"}},"application/xml":{"schema":{"$ref":"#/components/schemas/merchant_profile_create"}}}}},"get":{"summary":"List merchant profiles","tags":["merchant_profiles"],"security":[{"basic_auth":[]}],"operationId":"list-merchant-profiles","description":"Retrieve an [ordered and paginated](https://developer.spreedly.com/reference/order-and-pagination) list of all merchant profiles in the environment","parameters":[{"name":"order","in":"query","description":"The order of the returned list. Default is `asc`, which returns the oldest records first. To list newer records first, use `desc`.","schema":{"type":"string"}},{"name":"since_token","in":"query","description":"The token of the item to start from (e.g., the last token received in the previous list if iterating through records)","schema":{"type":"string"}},{"name":"count","in":"query","description":"The number of merchant profiles to return. By default returns 20, maximum allowed is 100.","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful","content":{"application/json":{"schema":{"$ref":"#/components/schemas/list_merchant_profiles_response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/list_merchant_profiles_response"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}}}}},"/merchant_profiles/{merchant_profile_token}":{"parameters":[{"name":"merchant_profile_token","in":"path","description":"The token of the merchant profile","required":true,"schema":{"type":"string"}}],"get":{"summary":"Show merchant profile","tags":["merchant_profiles"],"security":[{"basic_auth":[]}],"operationId":"show-merchant-profile","description":"Get a merchant profile with the given token.","responses":{"200":{"description":"Successful","content":{"application/json":{"schema":{"$ref":"#/components/schemas/merchant_profile_response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/merchant_profile_response"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}}}},"put":{"summary":"Update merchant profile","tags":["merchant_profiles"],"security":[{"basic_auth":[]}],"operationId":"update-merchant-profile","description":"Update the `description` on the Merchant Profile. All other parameters of the Merchant Profile cannot be updated once created.","parameters":[],"responses":{"200":{"description":"Successful","content":{"application/json":{"schema":{"$ref":"#/components/schemas/merchant_profile_response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/merchant_profile_response"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}},"422":{"description":"Unprocessable entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/merchant_profile_update"}},"application/xml":{"schema":{"$ref":"#/components/schemas/merchant_profile_update"}}}}}},"/network_tokenization/card_metadata.{format}?payment_method_token={payment_method_token}":{"parameters":[{"$ref":"#/components/parameters/format"},{"name":"payment_method_token","in":"path","description":"The token of the NT provisioned payment method","required":true,"schema":{"type":"string"}}],"get":{"summary":"Show card metadata for a Network Token","tags":["network_tokenization"],"security":[{"basic_auth":[]}],"operationId":"network-tokenization-card-metadata","description":"Retrieve metadata for a card that has been tokenized at a network.\n\nThe content of the `card_metadata` object is determined and can be changed by the card network at any time. Because of this, the keys in the response are potentially variable and should not be considered idempotent.\n","responses":{"200":{"description":"Successful","content":{"application/json":{"examples":{"get_card_metadata":{"value":{"card_metadata":{"backgroundColor":"0x7aff54","foregroundColor":"0x7aff54","labelColor":"0x7aff54","contactEmail":"test1@visa.com","contactNumber":"1-800-432-4357","contactName":"test contact","privacyPolicyURL":"https://www.freeprivacypolicy.com/","termsAndConditionsURL":"https://termsconditions.com/","termsAndConditionsID":"fa66dcacb71f426c80ed4b3c5e109cbf","shortDescription":"My Test Issuer","longDescription":"My Test Issuer","cardData":[{"guid":"4428da983173468a8435f056e4984997","contentType":"cardSymbol","content":[{"mimeType":"image/png","width":"100","height":"100"}]}],"issuerFlags":{"deviceBinding":true,"cardholderVerification":true,"trustedBeneficiaryEnrollment":true,"delegatedAuthenticationSupported":true,"oboDeviceBinding":true}}}}},"schema":{"$ref":"#/components/schemas/card_metadata_response"}},"application/xml":{"examples":{"get_card_metadata":{"value":"\n\t\t0x7aff54\n\t\t0x7aff54\n\t\t0x7aff54\n\t\ttest1@visa.com\n\t\t1-800-432-4357\n\t\ttest contact\n\t\thttps://www.freeprivacypolicy.com/\n\t\thttps://termsconditions.com/\n\t\tfa66dcacb71f426c80ed4b3c5e109cbf\n\t\tMy Test Issuer\n\t\tMy Test Issuer\n\t\t\n\t\t\t4428da983173468a8435f056e4984997\n\t\t\tcardSymbol\n\t\t\t\n\t\t\t\timage/png\n\t\t\t\t100\n\t\t\t\t100\n\t\t\t\n\t\t\n\t\t\n\t\t\ttrue\n\t\t\ttrue\n\t\t\ttrue\n\t\t\ttrue\n\t\t\ttrue\n\t\t\n\t"}},"schema":{"$ref":"#/components/schemas/card_metadata_response"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}}}}},"/network_tokenization/token_status.{format}?payment_method_token={payment_method_token}":{"parameters":[{"$ref":"#/components/parameters/format"},{"name":"payment_method_token","in":"path","description":"The token of the NT provisioned payment method","required":true,"schema":{"type":"string"}}],"get":{"summary":"Show status for a Network Token","tags":["network_tokenization"],"security":[{"basic_auth":[]}],"operationId":"network-tokenization-status","description":"Retrieve the status of a card that has been tokenized at a network.\n\nThis endpoint provides the current status of a network token, either active or inactive.\n","responses":{"200":{"description":"Successful","content":{"application/json":{"examples":{"get_token_status":{"value":{"token_status":"ACTIVE"}}},"schema":{"$ref":"#/components/schemas/token_status_response"}},"application/xml":{"examples":{"get_token_status":{"value":"\n\tACTIVE\n"}},"schema":{"$ref":"#/components/schemas/token_status_response"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}}}}},"/payment_methods/events":{"get":{"summary":"List all payment method events","tags":["payment_methods"],"security":[{"basic_auth":[]}],"operationId":"list-all-payment-method-events","description":"Retrieve an ordered and paginated list of all payment method events in the authenticated environment.\n\nPayment method events track important changes to payment methods such as creation, retention, redaction, and other lifecycle events. This endpoint allows you to retrieve these events with optional filtering and pagination.\n\n*Response Format*\n\nThe response format varies by event type:\n- `AddPaymentMethod` events are returned as `transaction` objects with embedded payment method data\n- All other events are returned as `payment_method_event` objects\n","parameters":[{"name":"order","in":"query","description":"The order of the returned list. Default is `asc`, which returns the oldest records first. To list newer records first, use `desc`.","schema":{"type":"string"}},{"name":"since_token","in":"query","description":"The token of the item to start from (e.g., the last token received in the previous list if iterating through records)","schema":{"type":"string"}},{"name":"event_type","in":"query","description":"Filter events by event type (e.g., AddPaymentMethod, RetainPaymentMethod, RedactPaymentMethod, ReplacePaymentMethod, UpdatePaymentMethod)","schema":{"type":"string"}},{"name":"count","in":"query","description":"The number of events to return. By default returns 20, maximum allowed is 100.","schema":{"type":"string"}},{"name":"include_transactions","in":"query","description":"Whether to include gateway transactions alongside events. Default is `false`. When `true`, returns a unified timeline of events and transactions sorted by creation time.","schema":{"type":"boolean"}}],"responses":{"200":{"description":"successful","content":{"List events":{"examples":{"application/json":{"value":{"payment_method_events":[{"token":"SxrP4mNRxF0CRQxKIbAQNTnPF0k","request_id":"86512117-dc11-4742-ad5a-91d64fb3e395","payment_method_key":"Cq5kiRP6dXFVRjab","event_type":"UpdatePaymentMethod","event_data":{"changed_attributes":{"eligible_for_card_updater":false}},"created_at":"2025-10-09T19:28:04Z","state":"succeeded","message":"messages.transaction_succeeded"},{"token":"4W4TFJ8TJW9AJ92RFXR2JYJGB0","request_id":null,"payment_method_key":"Cq5kiRP6dXFVRjab","event_type":"RedactPaymentMethod","event_data":null,"created_at":"2025-10-09T19:28:04Z","state":"succeeded","message":null},{"token":"0B9BK4CYRC9058XQ9TCJRP2NKK","created_at":"2025-10-09T19:28:04Z","updated_at":"2025-10-09T19:28:04Z","succeeded":true,"transaction_type":"AddPaymentMethod","retained":true,"state":"succeeded","message":null,"payment_method":{"token":"Cq5kiRP6dXFVRjab","created_at":null,"updated_at":null,"email":"test@example.com","data":null,"storage_state":"cached","test":true,"metadata":null,"callback_url":null,"last_four_digits":"1111","first_six_digits":"411111","card_type":"visa","first_name":"Gertrud","last_name":"Gusikowski","month":4,"year":2027,"address1":"116 Main Street","address2":null,"city":"Durham","state":"NC","zip":"27705","country":"US","phone_number":"123-456-7890","company":null,"full_name":"Gertrud Gusikowski","eligible_for_card_updater":true,"shipping_address1":"116 Main Street","shipping_address2":null,"shipping_city":"Durham","shipping_state":"NC","shipping_zip":"27705","shipping_country":"US","shipping_phone_number":"123-456-7890","issuer_identification_number":"41111111","click_to_pay":null,"managed":true,"bin_metadata":{"message":"BIN Metadata is available only to Advanced Vault enrolled customers and payment methods. Reach out to your account representative for more details."},"subscribed_to_mastercard_abu":false,"payment_method_type":"credit_card","errors":[],"fingerprint":null,"verification_value":"XXX","number":"XXXX-XXXX-XXXX-1111"}}]}}}},"List events with transactions":{"examples":{"application/json":{"value":{"payment_method_events":[{"token":"SxrP4mNRxF0CRQxKIbAQNTnPF0k","request_id":"86512117-dc11-4742-ad5a-91d64fb3e395","payment_method_key":"Cq5kiRP6dXFVRjab","event_type":"UpdatePaymentMethod","event_data":{"changed_attributes":{"eligible_for_card_updater":false}},"created_at":"2025-10-09T19:28:04Z","state":"succeeded","message":"messages.transaction_succeeded"},{"token":"4W4TFJ8TJW9AJ92RFXR2JYJGB0","request_id":null,"payment_method_key":"Cq5kiRP6dXFVRjab","event_type":"RedactPaymentMethod","event_data":null,"created_at":"2025-10-09T19:28:04Z","state":"succeeded","message":null},{"token":"0B9BK4CYRC9058XQ9TCJRP2NKK","created_at":"2025-10-09T19:28:04Z","updated_at":"2025-10-09T19:28:04Z","succeeded":true,"transaction_type":"AddPaymentMethod","retained":true,"state":"succeeded","message":null,"payment_method":{"token":"Cq5kiRP6dXFVRjab","created_at":null,"updated_at":null,"email":"test@example.com","data":null,"storage_state":"cached","test":true,"metadata":null,"callback_url":null,"last_four_digits":"1111","first_six_digits":"411111","card_type":"visa","first_name":"Gertrud","last_name":"Gusikowski","month":4,"year":2027,"address1":"116 Main Street","address2":null,"city":"Durham","state":"NC","zip":"27705","country":"US","phone_number":"123-456-7890","company":null,"full_name":"Gertrud Gusikowski","eligible_for_card_updater":true,"shipping_address1":"116 Main Street","shipping_address2":null,"shipping_city":"Durham","shipping_state":"NC","shipping_zip":"27705","shipping_country":"US","shipping_phone_number":"123-456-7890","issuer_identification_number":"41111111","click_to_pay":null,"managed":true,"bin_metadata":{"message":"BIN Metadata is available only to Advanced Vault enrolled customers and payment methods. Reach out to your account representative for more details."},"subscribed_to_mastercard_abu":false,"payment_method_type":"credit_card","errors":[],"fingerprint":null,"verification_value":"XXX","number":"XXXX-XXXX-XXXX-1111"}},{"on_test_gateway":false,"created_at":"2025-10-09T19:28:04Z","updated_at":"2025-10-09T19:28:04Z","succeeded":false,"state":"created","token":"5usFkwA3Sy4lRTAgeIaQfKISwrZ","transaction_type":"Purchase","order_id":null,"ip":null,"description":null,"email":null,"merchant_name_descriptor":null,"merchant_location_descriptor":null,"merchant_profile_key":null,"gateway_specific_fields":{},"gateway_specific_response_fields":{},"gateway_transaction_id":null,"sub_merchant_key":null,"gateway_latency_ms":null,"warning":null,"application_id":null,"risk_data":null,"merchant_metadata":null,"customer_data":null,"order_data":null,"workflow_key":null,"protection_parameters":{},"amount":4420,"local_amount":null,"currency_code":"USD","retain_on_success":false,"payment_method_added":false,"smart_routed":false,"stored_credential_initiator":null,"stored_credential_reason_type":null,"stored_credential_alternate_gateway":null,"stored_credential_final_payment":false,"message":null,"gateway_token":"3SVHVZFXW69QDAY7K9PG8GBM2E","gateway_type":"test","shipping_address":{"name":null,"address1":null,"address2":null,"city":null,"state":null,"zip":null,"country":null,"phone_number":null},"api_urls":[{"referencing_transaction":[]},{"failover_transaction":[]}],"attempt_3dsecure":false,"payment_method":{"token":"Cq5kiRP6dXFVRjab","created_at":null,"updated_at":null,"email":"test@example.com","data":null,"storage_state":"cached","test":true,"metadata":null,"callback_url":null,"last_four_digits":"1111","first_six_digits":"411111","card_type":"visa","first_name":"Gertrud","last_name":"Gusikowski","month":4,"year":2027,"address1":"116 Main Street","address2":null,"city":"Durham","state":"NC","zip":"27705","country":"US","phone_number":"123-456-7890","company":null,"full_name":"Gertrud Gusikowski","eligible_for_card_updater":true,"shipping_address1":"116 Main Street","shipping_address2":null,"shipping_city":"Durham","shipping_state":"NC","shipping_zip":"27705","shipping_country":"US","shipping_phone_number":"123-456-7890","issuer_identification_number":"41111111","click_to_pay":null,"managed":true,"bin_metadata":{"message":"BIN Metadata is available only to Advanced Vault enrolled customers and payment methods. Reach out to your account representative for more details."},"subscribed_to_mastercard_abu":false,"payment_method_type":"credit_card","errors":[],"fingerprint":null,"verification_value":"XXX","number":"XXXX-XXXX-XXXX-1111"}}]}}}},"application/json":{"schema":{"$ref":"#/components/schemas/payment_method_events_response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/payment_method_events_response"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}}}}},"/payment_methods/events/{event_token}":{"parameters":[{"name":"event_token","in":"path","description":"The token of the payment method event","required":true,"schema":{"type":"string"}}],"get":{"summary":"Show payment method event","tags":["payment_methods"],"security":[{"basic_auth":[]}],"operationId":"show-payment-method-event","description":"Get a specific payment method event by its token.\n\nPayment method events contain detailed information about changes to payment methods, including the event type, associated payment method, event data, and timing information.\n\n*Response Format*\n\nThe response format varies by event type:\n- `AddPaymentMethod` events are returned as `transaction` objects with embedded payment method data\n- All other events are returned as `payment_method_event` objects\n","responses":{"200":{"description":"successful","content":{"Payment Method Event":{"examples":{"application/json":{"value":{"payment_method_event":{"token":"SxrP4mNRxF0CRQxKIbAQNTnPF0k","request_id":"86512117-dc11-4742-ad5a-91d64fb3e395","payment_method_key":"Cq5kiRP6dXFVRjab","event_type":"UpdatePaymentMethod","event_data":{"changed_attributes":{"eligible_for_card_updater":false}},"created_at":"2025-10-09T19:28:04Z","state":"succeeded","message":"messages.transaction_succeeded"}}}}},"AddPaymentMethod Event":{"examples":{"application/json":{"value":{"transaction":{"token":"0B9BK4CYRC9058XQ9TCJRP2NKK","created_at":"2025-10-09T19:28:04Z","updated_at":"2025-10-09T19:28:04Z","succeeded":true,"transaction_type":"AddPaymentMethod","retained":true,"state":"succeeded","message":null,"payment_method":{"token":"Cq5kiRP6dXFVRjab","created_at":null,"updated_at":null,"email":"test@example.com","data":null,"storage_state":"cached","test":true,"metadata":null,"callback_url":null,"last_four_digits":"1111","first_six_digits":"411111","card_type":"visa","first_name":"Gertrud","last_name":"Gusikowski","month":4,"year":2027,"address1":"116 Main Street","address2":null,"city":"Durham","state":"NC","zip":"27705","country":"US","phone_number":"123-456-7890","company":null,"full_name":"Gertrud Gusikowski","eligible_for_card_updater":true,"shipping_address1":"116 Main Street","shipping_address2":null,"shipping_city":"Durham","shipping_state":"NC","shipping_zip":"27705","shipping_country":"US","shipping_phone_number":"123-456-7890","issuer_identification_number":"41111111","click_to_pay":null,"managed":true,"bin_metadata":{"message":"BIN Metadata is available only to Advanced Vault enrolled customers and payment methods. Reach out to your account representative for more details."},"subscribed_to_mastercard_abu":false,"payment_method_type":"credit_card","errors":[],"fingerprint":null,"verification_value":"XXX","number":"XXXX-XXXX-XXXX-1111"}}}}}},"application/json":{"schema":{"$ref":"#/components/schemas/payment_method_event_response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/payment_method_event_response"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}}}}},"/payment_methods":{"post":{"summary":"Create payment method","tags":["payment_methods"],"security":[{"basic_auth":[]}],"operationId":"create-payment-method","description":"Add a payment method (credit card, bank account/ACH, Apple Pay, Google Pay, or third party token) to the authenticated environment's vault.\n\nTo create a test payment method, use one of the [test card numbers](https://developer.spreedly.com/docs/test-data). For more information see the [Spreedly testing guide](https://developer.spreedly.com/docs/testing).\n\nThird party tokens are payment methods stored in the Spreedly vault, that are a reference to another payment method stored at the gateway's vault. For more information see the [third party token guide](https://developer.spreedly.com/docs/third-party-vaulting).\n","parameters":[],"responses":{"201":{"description":"Created","content":{"Network Token Provisioned":{"examples":{"application/json":{"value":{"transaction":{"token":"AXKchwDYMqAmDqDhxCSaEqiHBk0","created_at":"2022-04-14T18:15:18Z","updated_at":"2022-04-14T18:15:18Z","succeeded":true,"transaction_type":"AddPaymentMethod","retained":false,"state":"succeeded","message_key":"messages.transaction_succeeded","message":"Succeeded!","payment_method":{"token":"PTp0nIk2NcqxaTlgsx3Esz2JSAN","created_at":"2022-04-14T18:15:18Z","updated_at":"2022-04-14T18:15:18Z","email":"joey@example.com","data":null,"storage_state":"cached","test":true,"metadata":{"key":"string value","another_key":123,"final_key":true},"callback_url":null,"last_four_digits":"4444","first_six_digits":"555555","card_type":"master","first_name":"Joe","last_name":"Jones","month":3,"year":2029,"address1":"33 Lane Road","address2":"Apartment 4","city":"Wanaque","state":"NJ","zip":"31331","country":"US","phone_number":"919.331.3313","company":"Acme Inc.","full_name":"Joe Jones","eligible_for_card_updater":true,"shipping_address1":"33 Lane Road","shipping_address2":"Apartment 4","shipping_city":"Wanaque","shipping_state":"NJ","shipping_zip":"31331","shipping_country":"US","shipping_phone_number":"919.331.3313","issuer_identification_number":"55555555","payment_method_type":"credit_card","bin_metadata":{"card_brand":"DISCOVER","card_category":"PERSONAL","card_type":"CREDIT","issuing_bank":"DISCOVER BANK","issuing_country_iso_number":"840","issuing_country_iso_a2_code":"US","issuing_country_iso_a3_code":"USA","issuing_country_iso_name":"UNITED STATES","issuing_bank_phone_number":"1 (800) 347-7000","issuing_bank_website":"HTTPS://WWW.DISCOVER.COM/","bin_type":"PERSONAL","regulated":"Y","max_pan_length":19,"message":"Successful"},"errors":[],"fingerprint":"b5fe350d5135ab64a8f3c1097fadefd9effb","verification_value":"XXX","number":"XXXX-XXXX-XXXX-4444"},"network_tokenization":{"provisioned":true,"token_status":"active","token_reference":"DWSP01234567890ABCDEF0123456789AB","token_first_six_digits":"411111","token_last_four_digits":"1234","token_created_at":"2024-01-15T10:30:00Z","token_updated_at":"2024-01-15T10:30:00Z"}}}},"application/xml":{"value":"\n\n AXKchwDYMqAmDqDhxCSaEqiHBk0\n 2022-04-14T18:15:18Z\n 2022-04-14T18:15:18Z\n true\n AddPaymentMethod\n false\n succeeded\n messages.transaction_succeeded\n Succeeded!\n \n PTp0nIk2NcqxaTlgsx3Esz2JSAN\n 2022-04-14T18:15:18Z\n 2022-04-14T18:15:18Z\n joey@example.com\n \n cached\n true\n \n string value\n 123\n true\n \n \n 4444\n 555555\n master\n Joe\n Jones\n 3\n 2029\n 33 Lane Road\n Apartment 4\n Wanaque\n NJ\n 31331\n US\n 919.331.3313\n Acme Inc.\n Joe Jones\n true\n 33 Lane Road\n Apartment 4\n Wanaque\n NJ\n 31331\n US\n 919.331.3313\n 55555555\n credit_card\n \n DISCOVER\n PERSONAL\n CREDIT\n DISCOVER BANK\n 840\n US\n USA\n UNITED STATES\n 1 (800) 347-7000\n HTTPS://WWW.DISCOVER.COM/\n PERSONAL\n Y\n 19\n Successful\n \n \n b5fe350d5135ab64a8f3c1097fadefd9effb\n XXX\n XXXX-XXXX-XXXX-4444\n \n \n true\n active\n DWSP01234567890ABCDEF0123456789AB\n 411111\n 1234\n 2024-01-15T10:30:00Z\n 2024-01-15T10:30:00Z\n \n\n"}}},"Network Token Provision Failed":{"examples":{"application/json":{"value":{"transaction":{"token":"AXKchwDYMqAmDqDhxCSaEqiHBk0","created_at":"2022-04-14T18:15:18Z","updated_at":"2022-04-14T18:15:18Z","succeeded":true,"transaction_type":"AddPaymentMethod","retained":false,"state":"succeeded","message_key":"messages.transaction_succeeded","message":"Succeeded!","payment_method":{"token":"PTp0nIk2NcqxaTlgsx3Esz2JSAN","created_at":"2022-04-14T18:15:18Z","updated_at":"2022-04-14T18:15:18Z","email":"joey@example.com","data":null,"storage_state":"cached","test":true,"metadata":{"key":"string value","another_key":123,"final_key":true},"callback_url":null,"last_four_digits":"4444","first_six_digits":"555555","card_type":"master","first_name":"Joe","last_name":"Jones","month":3,"year":2029,"address1":"33 Lane Road","address2":"Apartment 4","city":"Wanaque","state":"NJ","zip":"31331","country":"US","phone_number":"919.331.3313","company":"Acme Inc.","full_name":"Joe Jones","eligible_for_card_updater":true,"shipping_address1":"33 Lane Road","shipping_address2":"Apartment 4","shipping_city":"Wanaque","shipping_state":"NJ","shipping_zip":"31331","shipping_country":"US","shipping_phone_number":"919.331.3313","issuer_identification_number":"55555555","payment_method_type":"credit_card","bin_metadata":{"card_brand":"DISCOVER","card_category":"PERSONAL","card_type":"CREDIT","issuing_bank":"DISCOVER BANK","issuing_country_iso_number":"840","issuing_country_iso_a2_code":"US","issuing_country_iso_a3_code":"USA","issuing_country_iso_name":"UNITED STATES","issuing_bank_phone_number":"1 (800) 347-7000","issuing_bank_website":"HTTPS://WWW.DISCOVER.COM/","bin_type":"PERSONAL","regulated":"Y","max_pan_length":19,"message":"Successful"},"errors":[],"fingerprint":"b5fe350d5135ab64a8f3c1097fadefd9effb","verification_value":"XXX","number":"XXXX-XXXX-XXXX-4444"},"network_tokenization":{"provisioned":false,"token_status":null,"errors":[{"key":"invalidParameter","message":"Your request does not have valid set of parameters required to process the business function.","action":"provision_network_token"}]}}}},"application/xml":{"value":"\n\n AXKchwDYMqAmDqDhxCSaEqiHBk0\n 2022-04-14T18:15:18Z\n 2022-04-14T18:15:18Z\n true\n AddPaymentMethod\n false\n succeeded\n messages.transaction_succeeded\n Succeeded!\n \n PTp0nIk2NcqxaTlgsx3Esz2JSAN\n 2022-04-14T18:15:18Z\n 2022-04-14T18:15:18Z\n joey@example.com\n \n cached\n true\n \n string value\n 123\n true\n \n \n 4444\n 555555\n master\n Joe\n Jones\n 3\n 2029\n 33 Lane Road\n Apartment 4\n Wanaque\n NJ\n 31331\n US\n 919.331.3313\n Acme Inc.\n Joe Jones\n true\n 33 Lane Road\n Apartment 4\n Wanaque\n NJ\n 31331\n US\n 919.331.3313\n 55555555\n credit_card\n \n DISCOVER\n PERSONAL\n CREDIT\n DISCOVER BANK\n 840\n US\n USA\n UNITED STATES\n 1 (800) 347-7000\n HTTPS://WWW.DISCOVER.COM/\n PERSONAL\n Y\n 19\n Successful\n \n \n b5fe350d5135ab64a8f3c1097fadefd9effb\n XXX\n XXXX-XXXX-XXXX-4444\n \n \n false\n \n \n \n invalidParameter\n Your request does not have valid set of parameters required to process the business function.\n provision_network_token\n \n \n \n\n"}}},"application/json":{"schema":{"$ref":"#/components/schemas/payment_method_create_response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/payment_method_create_response"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/payment_method_request"},"examples":{"Credit card":{"summary":"Credit card","value":{"payment_method":{"credit_card":{"first_name":"Joe","last_name":"Jones","number":"5555555555554444","verification_value":"423","month":"3","year":"2029","company":"Acme Inc.","address1":"33 Lane Road","address2":"Apartment 4","city":"Wanaque","state":"NJ","zip":"31331","country":"US","phone_number":"919.331.3313","shipping_address1":"33 Lane Road","shipping_address2":"Apartment 4","shipping_city":"Wanaque","shipping_state":"NJ","shipping_zip":"31331","shipping_country":"US","shipping_phone_number":"919.331.3313"},"email":"joey@example.com","metadata":{"key":"string value","another_key":123,"final_key":true}}}},"Bank account/ACH":{"summary":"Bank account/ACH","value":{"payment_method":{"bank_account":{"first_name":"Jon","last_name":"Doe","bank_name":"Test Bank","bank_routing_number":"021000021","bank_account_number":"9876543210","bank_account_type":"checking","bank_account_holder_type":"personal"},"email":"jon.doe@example.com","data":{"my_payment_method_identifier":448,"extra_stuff":{"some_other_things":"Can be anything really"}},"metadata":{"key":"string value","another_key":123,"final_key":true}}}},"Apple Pay":{"summary":"Apple Pay","value":{"payment_method":{"apple_pay":{"payment_data":{"version":"","data":"","signature":"","header":{"ephemeralPublicKey":"","transactionId":"","publicKeyHash":""}},"test_card_number":"4111111111111111"},"first_name":"John","last_name":"Smith","email":"john.smith@example.com","metadata":{"key":"string value","another_key":123,"final_key":true},"address1":"12345 Example Way","city":"Atlanta","state":"GA","zip":"30301","country":"USA","shipping_address1":"12345 Example Way","shipping_city":"Atlanta","shipping_state":"GA","shipping_zip":"30301","shipping_country":"USA"}}},"Google Pay":{"summary":"Google Pay","value":{"payment_method":{"google_pay":{"payment_data":{"signature":"","protocolVersion":"","signedMessage":"{}"},"first_name":"John","last_name":"Smith","test_card_number":"4111111111111111"},"email":"john.smith@example.com"}}},"Third Party Token":{"summary":"Third Party Token","value":{"payment_method":{"payment_method_type":"third_party_token","reference":"","gateway_type":"litle"}}},"Provision Network Token":{"summary":"Attempt to Provision Network Token","value":{"payment_method":{"credit_card":{"first_name":"Joe","last_name":"Jones","number":"5555555555554444","verification_value":"423","month":"3","year":"2029","company":"Acme Inc.","address1":"33 Lane Road","address2":"Apartment 4","city":"Wanaque","state":"NJ","zip":"31331","country":"US","phone_number":"919.331.3313","shipping_address1":"33 Lane Road","shipping_address2":"Apartment 4","shipping_city":"Wanaque","shipping_state":"NJ","shipping_zip":"31331","shipping_country":"US","shipping_phone_number":"919.331.3313"},"email":"joey@example.com","metadata":{"key":"string value","another_key":123,"final_key":true},"provision_network_token":true}}}}},"application/xml":{"schema":{"$ref":"#/components/schemas/payment_method_request"},"examples":{"Credit card":{"summary":"Credit card","value":{"payment_method":{"credit_card":{"first_name":"Joe","last_name":"Jones","number":"5555555555554444","verification_value":"423","month":"3","year":"2029","company":"Acme Inc.","address1":"33 Lane Road","address2":"Apartment 4","city":"Wanaque","state":"NJ","zip":"31331","country":"US","phone_number":"919.331.3313","shipping_address1":"33 Lane Road","shipping_address2":"Apartment 4","shipping_city":"Wanaque","shipping_state":"NJ","shipping_zip":"31331","shipping_country":"US","shipping_phone_number":"919.331.3313"},"email":"joey@example.com","metadata":{"key":"string value","another_key":123,"final_key":true}}}},"Bank account/ACH":{"summary":"Bank account/ACH","value":{"payment_method":{"bank_account":{"first_name":"Jon","last_name":"Doe","bank_name":"Test Bank","bank_routing_number":"021000021","bank_account_number":"9876543210","bank_account_type":"checking","bank_account_holder_type":"personal"},"email":"jon.doe@example.com","data":{"my_payment_method_identifier":448,"extra_stuff":{"some_other_things":"Can be anything really"}},"metadata":{"key":"string value","another_key":123,"final_key":true}}}},"Apple Pay":{"summary":"Apple Pay","value":{"payment_method":{"apple_pay":{"payment_data":{"version":"","data":"","signature":"","header":{"ephemeralPublicKey":"","transactionId":"","publicKeyHash":""}},"test_card_number":"4111111111111111"},"first_name":"John","last_name":"Smith","email":"john.smith@example.com","metadata":{"key":"string value","another_key":123,"final_key":true},"address1":"12345 Example Way","city":"Atlanta","state":"GA","zip":"30301","country":"USA","shipping_address1":"12345 Example Way","shipping_city":"Atlanta","shipping_state":"GA","shipping_zip":"30301","shipping_country":"USA"}}},"Google Pay":{"summary":"Google Pay","value":{"payment_method":{"google_pay":{"payment_data":{"signature":"","protocolVersion":"","signedMessage":"{}"},"first_name":"John","last_name":"Smith","test_card_number":"4111111111111111"},"email":"john.smith@example.com"}}},"Third Party Token":{"summary":"Third Party Token","value":{"payment_method":{"payment_method_type":"third_party_token","reference":"","gateway_type":"litle"}}},"Provision Network Token":{"summary":"Attempt to Provision Network Token","value":{"payment_method":{"credit_card":{"first_name":"Joe","last_name":"Jones","number":"5555555555554444","verification_value":"423","month":"3","year":"2029","company":"Acme Inc.","address1":"33 Lane Road","address2":"Apartment 4","city":"Wanaque","state":"NJ","zip":"31331","country":"US","phone_number":"919.331.3313","shipping_address1":"33 Lane Road","shipping_address2":"Apartment 4","shipping_city":"Wanaque","shipping_state":"NJ","shipping_zip":"31331","shipping_country":"US","shipping_phone_number":"919.331.3313"},"email":"joey@example.com","metadata":{"key":"string value","another_key":123,"final_key":true},"provision_network_token":true}}}}}}}},"get":{"summary":"List payment methods","tags":["payment_methods"],"security":[{"basic_auth":[]}],"operationId":"list-payment-method","description":"Retrieve an ordered and paginated list of all retained payment methods in the authenticated environment.\n\n*States*\nPayment methods can exist in several states in the Spreedly vault - retained, redacted, cached, or used. Retained payment methods are stored in Spreedly's vault until redacted. Redacted payment methods are payment methods that were either not retained or have been manually redacted. Cached payment methods are payment methods that have not been retained but have not yet been automatically redacted yet. Cached payment methods can still be retained. For more information, please see our guide on [retaining payment methods](https://developer.spreedly.com/docs/create-transactions#retain).\n\nIf no state parameter or an invalid state parameter is passed, list will only return retained payment methods. If the state parameter is passed, list will return those parameters: retained, redacted, cached, used.\n\nExample: `https://core.spreedly.com/v1/payment_methods.json?state=retained,redacted,cached,used`\n\nIf the state parameter is combined with other existing parameters such as metadata, both will be considered.\n\nExample: `https://core.spreedly.com/v1/payment_methods.json?metadata[customer_id]=123abc&state=redacted,retained`\n","parameters":[{"name":"order","in":"query","description":"The order of the returned list. Default is `asc`, which returns the oldest records first. To list newer records first, use `desc`.","schema":{"type":"string"}},{"name":"since_token","in":"query","description":"The token of the item to start from (e.g., the last token received in the previous list if iterating through records)","schema":{"type":"string"}},{"name":"metadata","in":"query","description":"A metadata key/value pair represented as a hash (e.g. metadata[key]=value).","schema":{"type":"string"}},{"name":"state","in":"query","description":"The list of storage_states to return. By default returns retained, acceptable values are retained, redacted, cached, used","schema":{"type":"string"}},{"name":"count","in":"query","description":"The number of payment methods to return. By default returns 20, maximum allowed is 100.","schema":{"type":"string"}}],"responses":{"200":{"description":"successful","content":{"application/json":{"schema":{"$ref":"#/components/schemas/payment_methods_response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/payment_methods_response"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}}}}},"/payment_methods/{payment_method_token}":{"parameters":[{"name":"payment_method_token","in":"path","description":"The token of the payment method","required":true,"schema":{"type":"string"}}],"get":{"summary":"Show payment method","tags":["payment_methods"],"security":[{"basic_auth":[]}],"operationId":"show-payment-method","description":"Get a payment method with the given token.","responses":{"200":{"description":"successful","content":{"application/json":{"schema":{"$ref":"#/components/schemas/payment_method_show_response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/payment_method_show_response"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}}}},"put":{"summary":"Update payment method","tags":["payment_methods"],"security":[{"basic_auth":[]}],"operationId":"update-payment-method","description":"Update a payment method's non-sensitive attributes.","parameters":[],"responses":{"200":{"description":"successful","content":{"application/json":{"schema":{"$ref":"#/components/schemas/payment_method_response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/payment_method_response"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/payment_method_update"},"examples":{"Update name and metadata":{"summary":"Update name and metadata","value":"{\"payment_method\":{\"first_name\":\"New First\",\"last_name\":\"New Last\",\"metadata\":{\"key\":\"value\"}}}"}}},"application/xml":{"schema":{"$ref":"#/components/schemas/payment_method_update"},"examples":{"Update name and metadata":{"summary":"Update name and metadata","value":"{\"payment_method\":{\"first_name\":\"New First\",\"last_name\":\"New Last\",\"metadata\":{\"key\":\"value\"}}}"}}}}}}},"/payment_methods/{payment_method_token}/retain":{"parameters":[{"name":"payment_method_token","in":"path","description":"The token of the payment method","required":true,"schema":{"type":"string"}}],"put":{"summary":"Retain payment method","tags":["payment_methods"],"security":[{"basic_auth":[]}],"operationId":"retain-payment-method","description":"Retain (keep in the Spreedly vault for future use) a payment method.","parameters":[],"responses":{"200":{"description":"successful","content":{"Network Token Provisioned":{"examples":{"application/json":{"value":{"transaction":{"token":"AXKchwDYMqAmDqDhxCSaEqiHBk0","created_at":"2022-04-14T18:15:18Z","updated_at":"2022-04-14T18:15:18Z","succeeded":true,"transaction_type":"AddPaymentMethod","retained":false,"state":"succeeded","message_key":"messages.transaction_succeeded","message":"Succeeded!","payment_method":{"token":"PTp0nIk2NcqxaTlgsx3Esz2JSAN","created_at":"2022-04-14T18:15:18Z","updated_at":"2022-04-14T18:15:18Z","email":"joey@example.com","data":null,"storage_state":"cached","test":true,"metadata":{"key":"string value","another_key":123,"final_key":true},"callback_url":null,"last_four_digits":"4444","first_six_digits":"555555","card_type":"master","first_name":"Joe","last_name":"Jones","month":3,"year":2029,"address1":"33 Lane Road","address2":"Apartment 4","city":"Wanaque","state":"NJ","zip":"31331","country":"US","phone_number":"919.331.3313","company":"Acme Inc.","full_name":"Joe Jones","eligible_for_card_updater":true,"shipping_address1":"33 Lane Road","shipping_address2":"Apartment 4","shipping_city":"Wanaque","shipping_state":"NJ","shipping_zip":"31331","shipping_country":"US","shipping_phone_number":"919.331.3313","issuer_identification_number":"55555555","payment_method_type":"credit_card","bin_metadata":{"card_brand":"DISCOVER","card_category":"PERSONAL","card_type":"CREDIT","issuing_bank":"DISCOVER BANK","issuing_country_iso_number":"840","issuing_country_iso_a2_code":"US","issuing_country_iso_a3_code":"USA","issuing_country_iso_name":"UNITED STATES","issuing_bank_phone_number":"1 (800) 347-7000","issuing_bank_website":"HTTPS://WWW.DISCOVER.COM/","bin_type":"PERSONAL","regulated":"Y","max_pan_length":19,"message":"Successful"},"errors":[],"fingerprint":"b5fe350d5135ab64a8f3c1097fadefd9effb","verification_value":"XXX","number":"XXXX-XXXX-XXXX-4444"},"network_tokenization":{"provisioned":true,"token_status":"active","token_reference":"DWSP01234567890ABCDEF0123456789AB","token_first_six_digits":"411111","token_last_four_digits":"1234","token_created_at":"2024-01-15T10:30:00Z","token_updated_at":"2024-01-15T10:30:00Z"}}}},"application/xml":{"value":"\n\n AXKchwDYMqAmDqDhxCSaEqiHBk0\n 2022-04-14T18:15:18Z\n 2022-04-14T18:15:18Z\n true\n AddPaymentMethod\n false\n succeeded\n messages.transaction_succeeded\n Succeeded!\n \n PTp0nIk2NcqxaTlgsx3Esz2JSAN\n 2022-04-14T18:15:18Z\n 2022-04-14T18:15:18Z\n joey@example.com\n \n cached\n true\n \n string value\n 123\n true\n \n \n 4444\n 555555\n master\n Joe\n Jones\n 3\n 2029\n 33 Lane Road\n Apartment 4\n Wanaque\n NJ\n 31331\n US\n 919.331.3313\n Acme Inc.\n Joe Jones\n true\n 33 Lane Road\n Apartment 4\n Wanaque\n NJ\n 31331\n US\n 919.331.3313\n 55555555\n credit_card\n \n DISCOVER\n PERSONAL\n CREDIT\n DISCOVER BANK\n 840\n US\n USA\n UNITED STATES\n 1 (800) 347-7000\n HTTPS://WWW.DISCOVER.COM/\n PERSONAL\n Y\n 19\n Successful\n \n \n b5fe350d5135ab64a8f3c1097fadefd9effb\n XXX\n XXXX-XXXX-XXXX-4444\n \n \n true\n active\n DWSP01234567890ABCDEF0123456789AB\n 411111\n 1234\n 2024-01-15T10:30:00Z\n 2024-01-15T10:30:00Z\n \n\n"}}},"Network Token Provision Failed":{"examples":{"application/json":{"value":{"transaction":{"token":"AXKchwDYMqAmDqDhxCSaEqiHBk0","created_at":"2022-04-14T18:15:18Z","updated_at":"2022-04-14T18:15:18Z","succeeded":true,"transaction_type":"AddPaymentMethod","retained":false,"state":"succeeded","message_key":"messages.transaction_succeeded","message":"Succeeded!","payment_method":{"token":"PTp0nIk2NcqxaTlgsx3Esz2JSAN","created_at":"2022-04-14T18:15:18Z","updated_at":"2022-04-14T18:15:18Z","email":"joey@example.com","data":null,"storage_state":"cached","test":true,"metadata":{"key":"string value","another_key":123,"final_key":true},"callback_url":null,"last_four_digits":"4444","first_six_digits":"555555","card_type":"master","first_name":"Joe","last_name":"Jones","month":3,"year":2029,"address1":"33 Lane Road","address2":"Apartment 4","city":"Wanaque","state":"NJ","zip":"31331","country":"US","phone_number":"919.331.3313","company":"Acme Inc.","full_name":"Joe Jones","eligible_for_card_updater":true,"shipping_address1":"33 Lane Road","shipping_address2":"Apartment 4","shipping_city":"Wanaque","shipping_state":"NJ","shipping_zip":"31331","shipping_country":"US","shipping_phone_number":"919.331.3313","issuer_identification_number":"55555555","payment_method_type":"credit_card","bin_metadata":{"card_brand":"DISCOVER","card_category":"PERSONAL","card_type":"CREDIT","issuing_bank":"DISCOVER BANK","issuing_country_iso_number":"840","issuing_country_iso_a2_code":"US","issuing_country_iso_a3_code":"USA","issuing_country_iso_name":"UNITED STATES","issuing_bank_phone_number":"1 (800) 347-7000","issuing_bank_website":"HTTPS://WWW.DISCOVER.COM/","bin_type":"PERSONAL","regulated":"Y","max_pan_length":19,"message":"Successful"},"errors":[],"fingerprint":"b5fe350d5135ab64a8f3c1097fadefd9effb","verification_value":"XXX","number":"XXXX-XXXX-XXXX-4444"},"network_tokenization":{"provisioned":false,"token_status":null,"errors":[{"key":"invalidParameter","message":"Your request does not have valid set of parameters required to process the business function.","action":"provision_network_token"}]}}}},"application/xml":{"value":"\n\n AXKchwDYMqAmDqDhxCSaEqiHBk0\n 2022-04-14T18:15:18Z\n 2022-04-14T18:15:18Z\n true\n AddPaymentMethod\n false\n succeeded\n messages.transaction_succeeded\n Succeeded!\n \n PTp0nIk2NcqxaTlgsx3Esz2JSAN\n 2022-04-14T18:15:18Z\n 2022-04-14T18:15:18Z\n joey@example.com\n \n cached\n true\n \n string value\n 123\n true\n \n \n 4444\n 555555\n master\n Joe\n Jones\n 3\n 2029\n 33 Lane Road\n Apartment 4\n Wanaque\n NJ\n 31331\n US\n 919.331.3313\n Acme Inc.\n Joe Jones\n true\n 33 Lane Road\n Apartment 4\n Wanaque\n NJ\n 31331\n US\n 919.331.3313\n 55555555\n credit_card\n \n DISCOVER\n PERSONAL\n CREDIT\n DISCOVER BANK\n 840\n US\n USA\n UNITED STATES\n 1 (800) 347-7000\n HTTPS://WWW.DISCOVER.COM/\n PERSONAL\n Y\n 19\n Successful\n \n \n b5fe350d5135ab64a8f3c1097fadefd9effb\n XXX\n XXXX-XXXX-XXXX-4444\n \n \n false\n \n \n \n invalidParameter\n Your request does not have valid set of parameters required to process the business function.\n provision_network_token\n \n \n \n\n"}}},"application/json":{"schema":{"$ref":"#/components/schemas/payment_method_retain_response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/payment_method_retain_response"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/provision_network_token"},"examples":{"Provision Network Token":{"summary":"Attempt to Provision Network Token","value":"{\"provision_network_token\":true}"}}},"application/xml":{"schema":{"$ref":"#/components/schemas/provision_network_token"},"examples":{"Provision Network Token":{"summary":"Attempt to Provision Network Token","value":"{\"provision_network_token\":true}"}}}}}}},"/payment_methods/{payment_method_token}/redact":{"parameters":[{"name":"payment_method_token","in":"path","description":"The token of the payment method","required":true,"schema":{"type":"string"}}],"put":{"summary":"Redact payment method","tags":["payment_methods"],"security":[{"basic_auth":[]}],"operationId":"redact-payment-method","description":"Redact (strip of any sensitive credentials and make inactive) a payment method.","parameters":[],"responses":{"200":{"description":"successful","content":{"application/json":{"schema":{"$ref":"#/components/schemas/payment_method_redact_response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/payment_method_redact_response"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/payment_method_redact"}},"application/xml":{"schema":{"$ref":"#/components/schemas/payment_method_redact"}}}}}},"/payment_methods/{payment_method_token}/update_gratis":{"parameters":[{"name":"payment_method_token","in":"path","description":"The token of the payment method","required":true,"schema":{"type":"string"}}],"put":{"summary":"Update gratis payment method","tags":["payment_methods"],"security":[{"basic_auth":[]}],"operationId":"update-gratis-payment-method","description":"Update a payment method's management state and some specific payment method parameters associated with Advanced Vault.\nFor further details, see [Advanced Vault](https://developer.spreedly.com/docs/advanced-vault).\n\nPlease note, that this API call is only available to merchants who are currently enrolled in Advanced Vault.\n","parameters":[],"responses":{"200":{"description":"successful","content":{"application/json":{"schema":{"$ref":"#/components/schemas/payment_method_response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/payment_method_response"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/payment_method_update_gratis"},"examples":{"Update managed status":{"summary":"Update managed status","value":"{\"payment_method\":{\"managed\":true}}"}}},"application/xml":{"schema":{"$ref":"#/components/schemas/payment_method_update_gratis"},"examples":{"Update managed status":{"summary":"Update managed status","value":"{\"payment_method\":{\"managed\":true}}"}}}}}}},"/payment_methods/{payment_method_token}/transactions":{"parameters":[{"name":"payment_method_token","in":"path","description":"The token of the payment method","required":true,"schema":{"type":"string"}}],"get":{"summary":"List transactions payment method","tags":["payment_methods"],"security":[{"basic_auth":[]}],"operationId":"list-transactions-payment-method","description":"Get an ordered and paginated list of transactions executed against a specific payment method.","parameters":[{"name":"order","in":"query","description":"The order of the returned list. Default is `asc`, which returns the oldest records first. To list newer records first, use `desc`.","schema":{"type":"string"}},{"name":"since_token","in":"query","description":"The token of the item to start from (e.g., the last token received in the previous list if iterating through records)","schema":{"type":"string"}}],"responses":{"200":{"description":"successful","content":{"application/json":{"schema":{"$ref":"#/components/schemas/transactions_response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/transactions_response"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}}}}},"/payment_methods/{payment_method_token}/metadata":{"parameters":[{"name":"payment_method_token","in":"path","description":"The token of the payment method","required":true,"schema":{"type":"string"}}],"delete":{"summary":"Delete metadata payment method","tags":["payment_methods"],"security":[{"basic_auth":[]}],"operationId":"delete-metadata-payment-method","description":"Remove key value pairs from a payment method's metadata.","parameters":[],"responses":{"200":{"description":"successful","content":{"application/json":{"schema":{"$ref":"#/components/schemas/payment_method_response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/payment_method_response"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/delete_metadata"},"examples":{"Delete metadata":{"summary":"Delete metadata","value":"{\"keys\":[\"another_key\",\"final_key\"]}"}}},"application/xml":{"schema":{"$ref":"#/components/schemas/delete_metadata"},"examples":{"Delete metadata":{"summary":"Delete metadata","value":"{\"keys\":[\"another_key\",\"final_key\"]}"}}}}}}},"/payment_methods/{payment_method_token}/recache":{"parameters":[{"name":"payment_method_token","in":"path","description":"The token of the payment method","required":true,"schema":{"type":"string"}}],"post":{"summary":"Recache payment method","tags":["payment_methods"],"security":[{"basic_auth":[]}],"operationId":"recache-payment-method","description":"Update a credit card's verification value (CVV) so the card can be transacted against.\n\nNote: A credit card must be retained in your environment in order to re-cache its CVV.\n","parameters":[],"responses":{"200":{"description":"successful","content":{"application/json":{"schema":{"$ref":"#/components/schemas/payment_method_response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/payment_method_response"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/recache"},"examples":{"Recache CVV":{"summary":"Recache CVV","value":"{\"payment_method\":{\"credit_card\":{\"verification_value\":\"123\"}}}"}}},"application/xml":{"schema":{"$ref":"#/components/schemas/recache"},"examples":{"Recache CVV":{"summary":"Recache CVV","value":"{\"payment_method\":{\"credit_card\":{\"verification_value\":\"123\"}}}"}}}}}}},"/payment_methods/{payment_method_token}/events":{"parameters":[{"name":"payment_method_token","in":"path","description":"The token of the payment method","required":true,"schema":{"type":"string"}}],"get":{"summary":"List events for a payment method","tags":["payment_methods"],"security":[{"basic_auth":[]}],"operationId":"list-events-payment-method","description":"Get a list of events for a specific payment method.\n\n*Response Format*\n\nThe response format varies by event type:\n- `AddPaymentMethod` events are returned as `transaction` objects with embedded payment method data\n- All other events are returned as `payment_method_event` objects\n","parameters":[{"name":"order","in":"query","description":"The order of the returned list. Default is `asc`, which returns the oldest records first. To list newer records first, use `desc`.","schema":{"type":"string"}},{"name":"since_token","in":"query","description":"The token of the item to start from (e.g., the last token received in the previous list if iterating through records)","schema":{"type":"string"}},{"name":"count","in":"query","description":"The number of events to return. By default returns 20, maximum allowed is 100.","schema":{"type":"string"}},{"name":"include_transactions","in":"query","description":"Whether to include gateway transactions alongside events. Default is `false`. When `true`, returns a unified timeline of events and transactions sorted by creation time.","schema":{"type":"boolean"}}],"responses":{"200":{"description":"successful","content":{"List events":{"examples":{"application/json":{"value":{"payment_method_events":[{"token":"SxrP4mNRxF0CRQxKIbAQNTnPF0k","request_id":"86512117-dc11-4742-ad5a-91d64fb3e395","payment_method_key":"Cq5kiRP6dXFVRjab","event_type":"UpdatePaymentMethod","event_data":{"changed_attributes":{"eligible_for_card_updater":false}},"created_at":"2025-10-09T19:28:04Z","state":"succeeded","message":"messages.transaction_succeeded"},{"token":"4W4TFJ8TJW9AJ92RFXR2JYJGB0","request_id":null,"payment_method_key":"Cq5kiRP6dXFVRjab","event_type":"RedactPaymentMethod","event_data":null,"created_at":"2025-10-09T19:28:04Z","state":"succeeded","message":null},{"token":"0B9BK4CYRC9058XQ9TCJRP2NKK","created_at":"2025-10-09T19:28:04Z","updated_at":"2025-10-09T19:28:04Z","succeeded":true,"transaction_type":"AddPaymentMethod","retained":true,"state":"succeeded","message":null,"payment_method":{"token":"Cq5kiRP6dXFVRjab","created_at":null,"updated_at":null,"email":"test@example.com","data":null,"storage_state":"cached","test":true,"metadata":null,"callback_url":null,"last_four_digits":"1111","first_six_digits":"411111","card_type":"visa","first_name":"Gertrud","last_name":"Gusikowski","month":4,"year":2027,"address1":"116 Main Street","address2":null,"city":"Durham","state":"NC","zip":"27705","country":"US","phone_number":"123-456-7890","company":null,"full_name":"Gertrud Gusikowski","eligible_for_card_updater":true,"shipping_address1":"116 Main Street","shipping_address2":null,"shipping_city":"Durham","shipping_state":"NC","shipping_zip":"27705","shipping_country":"US","shipping_phone_number":"123-456-7890","issuer_identification_number":"41111111","click_to_pay":null,"managed":true,"bin_metadata":{"message":"BIN Metadata is available only to Advanced Vault enrolled customers and payment methods. Reach out to your account representative for more details."},"subscribed_to_mastercard_abu":false,"payment_method_type":"credit_card","errors":[],"fingerprint":null,"verification_value":"XXX","number":"XXXX-XXXX-XXXX-1111"}}]}}}},"List events with transactions":{"examples":{"application/json":{"value":{"payment_method_events":[{"token":"SxrP4mNRxF0CRQxKIbAQNTnPF0k","request_id":"86512117-dc11-4742-ad5a-91d64fb3e395","payment_method_key":"Cq5kiRP6dXFVRjab","event_type":"UpdatePaymentMethod","event_data":{"changed_attributes":{"eligible_for_card_updater":false}},"created_at":"2025-10-09T19:28:04Z","state":"succeeded","message":"messages.transaction_succeeded"},{"token":"4W4TFJ8TJW9AJ92RFXR2JYJGB0","request_id":null,"payment_method_key":"Cq5kiRP6dXFVRjab","event_type":"RedactPaymentMethod","event_data":null,"created_at":"2025-10-09T19:28:04Z","state":"succeeded","message":null},{"token":"0B9BK4CYRC9058XQ9TCJRP2NKK","created_at":"2025-10-09T19:28:04Z","updated_at":"2025-10-09T19:28:04Z","succeeded":true,"transaction_type":"AddPaymentMethod","retained":true,"state":"succeeded","message":null,"payment_method":{"token":"Cq5kiRP6dXFVRjab","created_at":null,"updated_at":null,"email":"test@example.com","data":null,"storage_state":"cached","test":true,"metadata":null,"callback_url":null,"last_four_digits":"1111","first_six_digits":"411111","card_type":"visa","first_name":"Gertrud","last_name":"Gusikowski","month":4,"year":2027,"address1":"116 Main Street","address2":null,"city":"Durham","state":"NC","zip":"27705","country":"US","phone_number":"123-456-7890","company":null,"full_name":"Gertrud Gusikowski","eligible_for_card_updater":true,"shipping_address1":"116 Main Street","shipping_address2":null,"shipping_city":"Durham","shipping_state":"NC","shipping_zip":"27705","shipping_country":"US","shipping_phone_number":"123-456-7890","issuer_identification_number":"41111111","click_to_pay":null,"managed":true,"bin_metadata":{"message":"BIN Metadata is available only to Advanced Vault enrolled customers and payment methods. Reach out to your account representative for more details."},"subscribed_to_mastercard_abu":false,"payment_method_type":"credit_card","errors":[],"fingerprint":null,"verification_value":"XXX","number":"XXXX-XXXX-XXXX-1111"}},{"on_test_gateway":false,"created_at":"2025-10-09T19:28:04Z","updated_at":"2025-10-09T19:28:04Z","succeeded":false,"state":"created","token":"5usFkwA3Sy4lRTAgeIaQfKISwrZ","transaction_type":"Purchase","order_id":null,"ip":null,"description":null,"email":null,"merchant_name_descriptor":null,"merchant_location_descriptor":null,"merchant_profile_key":null,"gateway_specific_fields":{},"gateway_specific_response_fields":{},"gateway_transaction_id":null,"sub_merchant_key":null,"gateway_latency_ms":null,"warning":null,"application_id":null,"risk_data":null,"merchant_metadata":null,"customer_data":null,"order_data":null,"workflow_key":null,"protection_parameters":{},"amount":4420,"local_amount":null,"currency_code":"USD","retain_on_success":false,"payment_method_added":false,"smart_routed":false,"stored_credential_initiator":null,"stored_credential_reason_type":null,"stored_credential_alternate_gateway":null,"stored_credential_final_payment":false,"message":null,"gateway_token":"3SVHVZFXW69QDAY7K9PG8GBM2E","gateway_type":"test","shipping_address":{"name":null,"address1":null,"address2":null,"city":null,"state":null,"zip":null,"country":null,"phone_number":null},"api_urls":[{"referencing_transaction":[]},{"failover_transaction":[]}],"attempt_3dsecure":false,"payment_method":{"token":"Cq5kiRP6dXFVRjab","created_at":null,"updated_at":null,"email":"test@example.com","data":null,"storage_state":"cached","test":true,"metadata":null,"callback_url":null,"last_four_digits":"1111","first_six_digits":"411111","card_type":"visa","first_name":"Gertrud","last_name":"Gusikowski","month":4,"year":2027,"address1":"116 Main Street","address2":null,"city":"Durham","state":"NC","zip":"27705","country":"US","phone_number":"123-456-7890","company":null,"full_name":"Gertrud Gusikowski","eligible_for_card_updater":true,"shipping_address1":"116 Main Street","shipping_address2":null,"shipping_city":"Durham","shipping_state":"NC","shipping_zip":"27705","shipping_country":"US","shipping_phone_number":"123-456-7890","issuer_identification_number":"41111111","click_to_pay":null,"managed":true,"bin_metadata":{"message":"BIN Metadata is available only to Advanced Vault enrolled customers and payment methods. Reach out to your account representative for more details."},"subscribed_to_mastercard_abu":false,"payment_method_type":"credit_card","errors":[],"fingerprint":null,"verification_value":"XXX","number":"XXXX-XXXX-XXXX-1111"}}]}}}},"application/json":{"schema":{"$ref":"#/components/schemas/payment_method_events_response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/payment_method_events_response"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}}}}},"/payments/{payment_token}":{"parameters":[{"name":"payment_token","in":"path","description":"The token of the payment","required":true,"schema":{"type":"string"}}],"get":{"summary":"Show payment","tags":["payments"],"security":[{"basic_auth":[]}],"operationId":"show-payment","description":"Retrieve a payment object by its token. A payment represents a collection of transaction attempts\nmade against one or more gateways when performing a [Recover transaction](https://developer.spreedly.com/docs/recover).\n","responses":{"200":{"description":"successful","content":{"application/json":{"schema":{"$ref":"#/components/schemas/payment_show_response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/payment_show_response"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}}}}},"/protection/{transaction_token}/claims":{"parameters":[{"name":"transaction_token","in":"path","description":"The token of the disputed transaction","required":true,"schema":{"type":"string"}}],"post":{"summary":"Forward a claim to the protection provider","tags":["claim"],"security":[{"basic_auth":[]}],"operationId":"forward-claim","description":"Forward a claim to the protection provider","parameters":[],"responses":{"200":{"description":"Forwarded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/claim_response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/claim_response"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}},"422":{"description":"Unprocessable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/claim"},"examples":{"With Claim parameters":{"summary":"With Claim parameters","value":{"claim":{"additional_amount":50,"amount":1000,"case_id":"case_789","charge_id":"charge_123","comments":"Contacted customer via phone","currency":"USD","due_date":"YYYY-MM-DD","issue_date":"YYYY-MM-DD","order_id":"order_456","processor_name":"Stripe","reason_code":"83","reason_description":"Fraudulent transaction: Card Not Present Environment","reason_type":"FRAUD","source_type":"PROCESSOR_CB","status":"OPEN","type":"CHARGEBACK"}}}}},"application/xml":{"schema":{"$ref":"#/components/schemas/claim"},"examples":{"With Claim parameters":{"summary":"With Claim parameters","value":{"claim":{"additional_amount":50,"amount":1000,"case_id":"case_789","charge_id":"charge_123","comments":"Contacted customer via phone","currency":"USD","due_date":"YYYY-MM-DD","issue_date":"YYYY-MM-DD","order_id":"order_456","processor_name":"Stripe","reason_code":"83","reason_description":"Fraudulent transaction: Card Not Present Environment","reason_type":"FRAUD","source_type":"PROCESSOR_CB","status":"OPEN","type":"CHARGEBACK"}}}}}}}}},"/protection/events.{format}":{"parameters":[{"$ref":"#/components/parameters/format"}],"get":{"summary":"List protection events","tags":["protection_events"],"security":[{"basic_auth":[]}],"operationId":"list-protection-events","description":"Retrieve an ordered and paginated list of all protection events in the environment.","parameters":[{"name":"order","in":"query","description":"The order of the returned list. Default is `asc`, which returns the oldest records first. To list newer records first, use `desc`.","schema":{"type":"string"}},{"name":"since_token","in":"query","description":"The token of the item to start from (e.g., the last token received in the previous list if iterating through records)","schema":{"type":"string"}},{"name":"count","in":"query","description":"The number of events to return. By default returns 20, maximum allowed is 100.","schema":{"type":"string"}},{"name":"state","in":"query","description":"The state of the protection check. Possible values are `pending`, `succeeded`, and `failed`.","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful","content":{"application/json":{"schema":{"$ref":"#/components/schemas/list_protection_events_response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/list_protection_events_response"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}},"422":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}}}}},"/protection/events/{event_token}.json":{"parameters":[{"name":"event_token","in":"path","description":"The token of the event to retrieve","required":true,"schema":{"type":"string"}}],"get":{"summary":"Show protection check","tags":["protection_events"],"security":[{"basic_auth":[]}],"operationId":"show-protection-check","description":"Get a protection check event with the given token.","responses":{"200":{"description":"Successful","content":{"application/json":{"schema":{"$ref":"#/components/schemas/protection_event_response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/protection_event_response"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}}}}},"/protection/providers":{"post":{"summary":"Create a protection provider on the given merchant profile","tags":["protection_provider"],"security":[{"basic_auth":[]}],"operationId":"create-protection-provider","description":"Create a Protection Provider on the given Merchant Profile. A Protection Provider can be used as part of [authorize](https://developer.spreedly.com/reference/authorize), [purchase](https://developer.spreedly.com/reference/purchase), and [verify](https://developer.spreedly.com/reference/verify) transactions. **At least one card type object must be included in the request.** The following card types are supported: `Visa`, `Mastercard`, `American Express`, `Discover`, `Diners`, `JCB`, `Dankort`, `Union Pay`, and `Cartes Bancaires`.","parameters":[],"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/protection_provider_response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/protection_provider_response"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}},"422":{"description":"Unprocessable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/protection_provider"}},"application/xml":{"schema":{"$ref":"#/components/schemas/protection_provider"}}}}}},"/protection/providers/{protection_provider_token}":{"parameters":[{"name":"protection_provider_token","in":"path","description":"The token of the Protection Provider","required":true,"schema":{"type":"string"}}],"get":{"summary":"Show protection provider","tags":["protection_provider"],"security":[{"basic_auth":[]}],"operationId":"show-protection-provider","description":"Get a Protection Provider with the given token. A Protection Provider can be used as part of [authorize](https://developer.spreedly.com/reference/authorize), [purchase](https://developer.spreedly.com/reference/purchase), and [verify](https://developer.spreedly.com/reference/verify) transactions.","responses":{"200":{"description":"Successful","content":{"application/json":{"schema":{"$ref":"#/components/schemas/protection_provider_response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/protection_provider_response"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}}}}},"/gateways/{gateway_token}/purchase":{"post":{"summary":"Create a purchase transaction","tags":["purchase"],"security":[{"basic_auth":[]}],"operationId":"purchase","description":"Charge a payment method a specific amount at the target gateway. One of the following payment methods must be included in the request:\n\n**Tokenized payment method:** Charge a _tokenized_ payment method (already stored in the Spreedly environment) the specified amount. The payment method can be of any type (credit card, bank account, Apple Pay, etc…), as long as it exists in the specified environment.\n\nThe `payment_method_token` field of the transaction request is required.\n\n**Pass-in credit card:** Pass a credit card payment method directly in to the purchase request. If the card is valid, it will automatically be tokenized at Spreedly before sending to the gateway.\n\nThe `credit_card` field of the transaction request is required.\n\n**Pass-in bank account/ACH:** Pass a bank account/ACH payment method directly in to the purchase request. If the bank account is valid, it will automatically be tokenized at Spreedly before sending to the gateway.\n\nThe `bank_account` field of the transaction request is required.\n\n**Pass-in Apple Pay:** Pass an Apple Pay payment method directly in to the purchase request. If the Apple Pay data is valid, it will automatically be tokenized at Spreedly before sending to the gateway.\n\nThe `apple_pay` field of the transaction request is required.\n\n**Pass-in Google Pay:** Pass a Google Pay payment method directly in to the purchase request. If the Google Pay data is valid, it will automatically be tokenized at Spreedly before sending to the gateway.\n\nThe `google_pay` field of the transaction request is required.\n\n**SCA Authenticated:** Charge an SCA Authenticated payment method (already stored in the Spreedly environment) the specified amount.\n\nThe `sca_authentication_token` field of the transaction request is required.\n","parameters":[{"$ref":"#/components/parameters/gateway_token"}],"responses":{"200":{"description":"Created","content":{"Network Token Provisioned":{"examples":{"application/json":{"value":{"transaction":{"token":"3iUAv9hUqP7x0bMxVtQKXlayFx0","succeeded":true,"message":"Succeeded!","gateway_transaction_id":"63","retain_on_success":false,"payment_method_added":false,"response":{"success":true,"message":"Successful purchase","avs_code":null,"avs_message":null,"cvv_code":null,"cvv_message":null,"pending":false,"result_unknown":false,"error_code":null,"error_detail":null,"cancelled":false,"fraud_review":null,"created_at":"2018-11-07T15:05:08Z","updated_at":"2018-11-07T15:05:08Z"},"payment_method":{"token":"1rpKvP8zOUhj4Y9EDrIoIYQzzD5","created_at":"2017-06-26T17:04:38Z","updated_at":"2018-11-07T15:05:07Z","email":"joey@example.com","data":{"my_payment_method_identifier":"448","extra_stuff":{"some_other_things":"Can be anything really"}},"storage_state":"retained","test":true,"metadata":{"key":"string value","another_key":123,"final_key":true},"last_four_digits":"1111","first_six_digits":"411111","card_type":"visa","first_name":"Newfirst","last_name":"Newlast","month":3,"year":2032,"address1":null,"address2":null,"city":null,"state":null,"zip":null,"country":null,"phone_number":null,"company":null,"full_name":"Newfirst Newlast","eligible_for_card_updater":null,"shipping_address1":null,"shipping_address2":null,"shipping_city":null,"shipping_state":null,"shipping_zip":null,"shipping_country":null,"shipping_phone_number":null,"payment_method_type":"credit_card","bin_metadata":{"card_brand":"DISCOVER","card_category":"PERSONAL","card_type":"CREDIT","issuing_bank":"DISCOVER BANK","issuing_country_iso_number":"840","issuing_country_iso_a2_code":"US","issuing_country_iso_a3_code":"USA","issuing_country_iso_name":"UNITED STATES","issuing_bank_phone_number":"1 (800) 347-7000","issuing_bank_website":"HTTPS://WWW.DISCOVER.COM/","bin_type":"PERSONAL","regulated":"Y","max_pan_length":19,"message":"Successful"},"errors":[],"fingerprint":"e3cef43464fc832f6e04f187df25af497994","verification_value":"","number":"XXXX-XXXX-XXXX-1111"},"sub_merchant_key":null,"gateway_specific_response_fields":{},"network_tokenization":{"provisioned":true,"token_status":"active","token_reference":"DWSP01234567890ABCDEF0123456789AB","token_first_six_digits":"411111","token_last_four_digits":"1234","token_created_at":"2024-01-15T10:30:00Z","token_updated_at":"2024-01-15T10:30:00Z"}}}},"application/xml":{"value":"\n\n 3iUAv9hUqP7x0bMxVtQKXlayFx0\n true\n Succeeded!\n 63\n false\n false\n \n true\n Successful purchase\n \n \n \n \n false\n false\n \n \n false\n \n 2018-11-07T15:05:08Z\n 2018-11-07T15:05:08Z\n \n \n 1rpKvP8zOUhj4Y9EDrIoIYQzzD5\n 2017-06-26T17:04:38Z\n 2018-11-07T15:05:07Z\n joey@example.com\n \n 448\n \n Can be anything really\n \n \n retained\n true\n \n string value\n 123\n true\n \n 1111\n 411111\n visa\n Newfirst\n Newlast\n 3\n 2032\n \n \n \n \n \n \n \n \n Newfirst Newlast\n \n \n \n \n \n \n \n \n credit_card\n \n DISCOVER\n PERSONAL\n CREDIT\n DISCOVER BANK\n 840\n US\n USA\n UNITED STATES\n 1 (800) 347-7000\n HTTPS://WWW.DISCOVER.COM/\n PERSONAL\n Y\n 19\n Successful\n \n \n e3cef43464fc832f6e04f187df25af497994\n \n XXXX-XXXX-XXXX-1111\n \n \n \n \n \n true\n active\n DWSP01234567890ABCDEF0123456789AB\n 411111\n 1234\n 2024-01-15T10:30:00Z\n 2024-01-15T10:30:00Z\n \n\n"}}},"Network Token Provision Failed":{"examples":{"application/json":{"value":{"transaction":{"token":"3iUAv9hUqP7x0bMxVtQKXlayFx0","succeeded":true,"message":"Succeeded!","gateway_transaction_id":"63","retain_on_success":false,"payment_method_added":false,"response":{"success":true,"message":"Successful purchase","avs_code":null,"avs_message":null,"cvv_code":null,"cvv_message":null,"pending":false,"result_unknown":false,"error_code":null,"error_detail":null,"cancelled":false,"fraud_review":null,"created_at":"2018-11-07T15:05:08Z","updated_at":"2018-11-07T15:05:08Z"},"payment_method":{"token":"1rpKvP8zOUhj4Y9EDrIoIYQzzD5","created_at":"2017-06-26T17:04:38Z","updated_at":"2018-11-07T15:05:07Z","email":"joey@example.com","data":{"my_payment_method_identifier":"448","extra_stuff":{"some_other_things":"Can be anything really"}},"storage_state":"retained","test":true,"metadata":{"key":"string value","another_key":123,"final_key":true},"last_four_digits":"1111","first_six_digits":"411111","card_type":"visa","first_name":"Newfirst","last_name":"Newlast","month":3,"year":2032,"address1":null,"address2":null,"city":null,"state":null,"zip":null,"country":null,"phone_number":null,"company":null,"full_name":"Newfirst Newlast","eligible_for_card_updater":null,"shipping_address1":null,"shipping_address2":null,"shipping_city":null,"shipping_state":null,"shipping_zip":null,"shipping_country":null,"shipping_phone_number":null,"payment_method_type":"credit_card","bin_metadata":{"card_brand":"DISCOVER","card_category":"PERSONAL","card_type":"CREDIT","issuing_bank":"DISCOVER BANK","issuing_country_iso_number":"840","issuing_country_iso_a2_code":"US","issuing_country_iso_a3_code":"USA","issuing_country_iso_name":"UNITED STATES","issuing_bank_phone_number":"1 (800) 347-7000","issuing_bank_website":"HTTPS://WWW.DISCOVER.COM/","bin_type":"PERSONAL","regulated":"Y","max_pan_length":19,"message":"Successful"},"errors":[],"fingerprint":"e3cef43464fc832f6e04f187df25af497994","verification_value":"","number":"XXXX-XXXX-XXXX-1111"},"sub_merchant_key":null,"gateway_specific_response_fields":{},"network_tokenization":{"provisioned":false,"token_status":null,"errors":[{"key":"invalidParameter","message":"Your request does not have valid set of parameters required to process the business function.","action":"provision_network_token"}]}}}},"application/xml":{"value":"\n\n 3iUAv9hUqP7x0bMxVtQKXlayFx0\n true\n Succeeded!\n 63\n false\n false\n \n true\n Successful purchase\n \n \n \n \n false\n false\n \n \n false\n \n 2018-11-07T15:05:08Z\n 2018-11-07T15:05:08Z\n \n \n 1rpKvP8zOUhj4Y9EDrIoIYQzzD5\n 2017-06-26T17:04:38Z\n 2018-11-07T15:05:07Z\n joey@example.com\n \n 448\n \n Can be anything really\n \n \n retained\n true\n \n string value\n 123\n true\n \n 1111\n 411111\n visa\n Newfirst\n Newlast\n 3\n 2032\n \n \n \n \n \n \n \n \n Newfirst Newlast\n \n \n \n \n \n \n \n \n credit_card\n \n DISCOVER\n PERSONAL\n CREDIT\n DISCOVER BANK\n 840\n US\n USA\n UNITED STATES\n 1 (800) 347-7000\n HTTPS://WWW.DISCOVER.COM/\n PERSONAL\n Y\n 19\n Successful\n \n \n e3cef43464fc832f6e04f187df25af497994\n \n XXXX-XXXX-XXXX-1111\n \n \n \n \n \n false\n \n \n \n invalidParameter\n Your request does not have valid set of parameters required to process the business function.\n provision_network_token\n \n \n \n\n"}}},"Network Token Attempted":{"examples":{"application/json":{"value":{"transaction":{"token":"3iUAv9hUqP7x0bMxVtQKXlayFx0","succeeded":true,"message":"Succeeded!","gateway_transaction_id":"63","retain_on_success":false,"payment_method_added":false,"response":{"success":true,"message":"Successful purchase","avs_code":null,"avs_message":null,"cvv_code":null,"cvv_message":null,"pending":false,"result_unknown":false,"error_code":null,"error_detail":null,"cancelled":false,"fraud_review":null,"created_at":"2018-11-07T15:05:08Z","updated_at":"2018-11-07T15:05:08Z"},"payment_method":{"token":"1rpKvP8zOUhj4Y9EDrIoIYQzzD5","created_at":"2017-06-26T17:04:38Z","updated_at":"2018-11-07T15:05:07Z","email":"joey@example.com","data":{"my_payment_method_identifier":"448","extra_stuff":{"some_other_things":"Can be anything really"}},"storage_state":"retained","test":true,"metadata":{"key":"string value","another_key":123,"final_key":true},"last_four_digits":"1111","first_six_digits":"411111","card_type":"visa","first_name":"Newfirst","last_name":"Newlast","month":3,"year":2032,"address1":null,"address2":null,"city":null,"state":null,"zip":null,"country":null,"phone_number":null,"company":null,"full_name":"Newfirst Newlast","eligible_for_card_updater":null,"shipping_address1":null,"shipping_address2":null,"shipping_city":null,"shipping_state":null,"shipping_zip":null,"shipping_country":null,"shipping_phone_number":null,"payment_method_type":"credit_card","bin_metadata":{"card_brand":"DISCOVER","card_category":"PERSONAL","card_type":"CREDIT","issuing_bank":"DISCOVER BANK","issuing_country_iso_number":"840","issuing_country_iso_a2_code":"US","issuing_country_iso_a3_code":"USA","issuing_country_iso_name":"UNITED STATES","issuing_bank_phone_number":"1 (800) 347-7000","issuing_bank_website":"HTTPS://WWW.DISCOVER.COM/","bin_type":"PERSONAL","regulated":"Y","max_pan_length":19,"message":"Successful"},"errors":[],"fingerprint":"e3cef43464fc832f6e04f187df25af497994","verification_value":"","number":"XXXX-XXXX-XXXX-1111"},"sub_merchant_key":null,"gateway_specific_response_fields":{},"network_tokenization":{"attempted":true,"token_status":"active","token_reference":"DWSP01234567890ABCDEF0123456789AB","token_first_six_digits":"411111","token_last_four_digits":"1234","token_created_at":"2024-01-15T10:30:00Z","token_updated_at":"2024-01-15T10:30:00Z"}}}},"application/xml":{"value":"\n\n 3iUAv9hUqP7x0bMxVtQKXlayFx0\n true\n Succeeded!\n 63\n false\n false\n \n true\n Successful purchase\n \n \n \n \n false\n false\n \n \n false\n \n 2018-11-07T15:05:08Z\n 2018-11-07T15:05:08Z\n \n \n 1rpKvP8zOUhj4Y9EDrIoIYQzzD5\n 2017-06-26T17:04:38Z\n 2018-11-07T15:05:07Z\n joey@example.com\n \n 448\n \n Can be anything really\n \n \n retained\n true\n \n string value\n 123\n true\n \n 1111\n 411111\n visa\n Newfirst\n Newlast\n 3\n 2032\n \n \n \n \n \n \n \n \n Newfirst Newlast\n \n \n \n \n \n \n \n \n credit_card\n \n DISCOVER\n PERSONAL\n CREDIT\n DISCOVER BANK\n 840\n US\n USA\n UNITED STATES\n 1 (800) 347-7000\n HTTPS://WWW.DISCOVER.COM/\n PERSONAL\n Y\n 19\n Successful\n \n \n e3cef43464fc832f6e04f187df25af497994\n \n XXXX-XXXX-XXXX-1111\n \n \n \n \n \n true\n active\n DWSP01234567890ABCDEF0123456789AB\n 411111\n 1234\n 2024-01-15T10:30:00Z\n 2024-01-15T10:30:00Z\n \n\n"}}},"Network Token Attempted Error":{"examples":{"application/json":{"value":{"transaction":{"token":"3iUAv9hUqP7x0bMxVtQKXlayFx0","succeeded":true,"message":"Succeeded!","gateway_transaction_id":"63","retain_on_success":false,"payment_method_added":false,"response":{"success":true,"message":"Successful purchase","avs_code":null,"avs_message":null,"cvv_code":null,"cvv_message":null,"pending":false,"result_unknown":false,"error_code":null,"error_detail":null,"cancelled":false,"fraud_review":null,"created_at":"2018-11-07T15:05:08Z","updated_at":"2018-11-07T15:05:08Z"},"payment_method":{"token":"1rpKvP8zOUhj4Y9EDrIoIYQzzD5","created_at":"2017-06-26T17:04:38Z","updated_at":"2018-11-07T15:05:07Z","email":"joey@example.com","data":{"my_payment_method_identifier":"448","extra_stuff":{"some_other_things":"Can be anything really"}},"storage_state":"retained","test":true,"metadata":{"key":"string value","another_key":123,"final_key":true},"last_four_digits":"1111","first_six_digits":"411111","card_type":"visa","first_name":"Newfirst","last_name":"Newlast","month":3,"year":2032,"address1":null,"address2":null,"city":null,"state":null,"zip":null,"country":null,"phone_number":null,"company":null,"full_name":"Newfirst Newlast","eligible_for_card_updater":null,"shipping_address1":null,"shipping_address2":null,"shipping_city":null,"shipping_state":null,"shipping_zip":null,"shipping_country":null,"shipping_phone_number":null,"payment_method_type":"credit_card","bin_metadata":{"card_brand":"DISCOVER","card_category":"PERSONAL","card_type":"CREDIT","issuing_bank":"DISCOVER BANK","issuing_country_iso_number":"840","issuing_country_iso_a2_code":"US","issuing_country_iso_a3_code":"USA","issuing_country_iso_name":"UNITED STATES","issuing_bank_phone_number":"1 (800) 347-7000","issuing_bank_website":"HTTPS://WWW.DISCOVER.COM/","bin_type":"PERSONAL","regulated":"Y","max_pan_length":19,"message":"Successful"},"errors":[],"fingerprint":"e3cef43464fc832f6e04f187df25af497994","verification_value":"","number":"XXXX-XXXX-XXXX-1111"},"sub_merchant_key":null,"gateway_specific_response_fields":{},"network_tokenization":{"attempted":false,"token_status":"active","errors":[{"key":"cryptogram_error","message":"Cryptogram could not be successfully retrieved for Network Token.","action":"attempt_network_token"}]}}}},"application/xml":{"value":"\n\n 3iUAv9hUqP7x0bMxVtQKXlayFx0\n true\n Succeeded!\n 63\n false\n false\n \n true\n Successful purchase\n \n \n \n \n false\n false\n \n \n false\n \n 2018-11-07T15:05:08Z\n 2018-11-07T15:05:08Z\n \n \n 1rpKvP8zOUhj4Y9EDrIoIYQzzD5\n 2017-06-26T17:04:38Z\n 2018-11-07T15:05:07Z\n joey@example.com\n \n 448\n \n Can be anything really\n \n \n retained\n true\n \n string value\n 123\n true\n \n 1111\n 411111\n visa\n Newfirst\n Newlast\n 3\n 2032\n \n \n \n \n \n \n \n \n Newfirst Newlast\n \n \n \n \n \n \n \n \n credit_card\n \n DISCOVER\n PERSONAL\n CREDIT\n DISCOVER BANK\n 840\n US\n USA\n UNITED STATES\n 1 (800) 347-7000\n HTTPS://WWW.DISCOVER.COM/\n PERSONAL\n Y\n 19\n Successful\n \n \n e3cef43464fc832f6e04f187df25af497994\n \n XXXX-XXXX-XXXX-1111\n \n \n \n \n \n false\n active\n \n \n cryptogram_error\n Cryptogram could not be successfully retrieved for Network Token.\n attempt_network_token\n \n \n \n\n"}}},"application/json":{"schema":{"$ref":"#/components/schemas/purchase_response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/purchase_response"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/purchase"},"examples":{"Payment method token":{"summary":"Payment method token","value":{"transaction":{"payment_method_token":"","amount":100,"currency_code":"USD"}}},"With Recover":{"summary":"With Recover","value":{"transaction":{"payment_method_token":"","amount":100,"currency_code":"USD","retry":{"gateway_tokens":["",""],"mode":"","custom_errors":{"gateway_type":{"override_error_codes":false,"messages":["",""]}}}}}},"Pass in credit card":{"summary":"Pass in credit card","value":{"transaction":{"amount":100,"currency_code":"USD","credit_card":{"first_name":"Joe","last_name":"Smith","number":4111111111111111,"verification_value":123,"month":12,"year":2030}}}},"Pass in bank account/ACH":{"summary":"Pass in bank account/ACH","value":{"transaction":{"amount":100,"currency_code":"USD","bank_account":{"first_name":"Joe","last_name":"Smith","bank_routing_number":"021000021","bank_account_number":"9876543210"}}}},"Pass in Apple Pay":{"summary":"Pass in Apple Pay","value":{"transaction":{"amount":100,"currency_code":"USD","apple_pay":{"payment_data":{"version":"","data":"","signature":"","header":{"ephemeralPublicKey":"","transactionId":"","publicKeyHash":""}},"test_card_number":"4111111111111111"}}}},"Pass in Google Pay":{"summary":"Pass in Google Pay","value":{"transaction":{"amount":1122,"currency_code":"USD","google_pay":{"payment_data":{"signature":"","protocolVersion":"","signedMessage":"{}"},"test_card_number":"4111111111111111"}}}},"SCA Authenticated":{"summary":"SCA Authenticated","value":{"transaction":{"sca_authentication_token":"","amount":1122,"currency_code":"USD"}}},"With Protection parameters":{"summary":"With Protection parameters","value":{"transaction":{"amount":1000,"currency_code":"USD","payment_method_token":"4EGlSI8da0wgSe7KDMR7dQrttQt","protection_provider_token":"5TT6BS9GA9RE3AHPH3AEPPE0G6","protection_parameters":{"test_scenario":{"scenario":""},"forter_mobile_uid":"e520-ba9a-367-60b","fraud_token":"dsjhsudeu","user_agent":"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.73 Safari/537.36","cart_items":[{"name":"White GenericBrand handbag","quantity":1,"type":"TANGIBLE","price":"1000"},{"name":"White GenericBrand handbag","quantity":1,"type":"TANGIBLE","price":"1000"}],"delivery_type":"PHYSICAL","delivery_method":"FedEx","customer_account_id":"1234567","customer_account_type":"BUSINESS","customer_account_creation_date":1234567,"billing_name":"Firstname Lastname","billing_first_name":"Firstname","billing_last_name":"Lastname","email":"email@email.com","billing_country":"US","billing_address1":"123 Fake St","billing_address2":"","billing_city":"Durham","billing_zip":"01435","billing_phone_number":"1234567890","shipping_name":"Same Name","shipping_first_name":"Same","shipping_last_name":"Name","shipping_email":"email@email.com","shipping_address1":"321 Real St","shipping_address2":"","shipping_city":"Orlando","shipping_state":"FL","shipping_phone_number":"0987654321"}}}},"Provision Network Token":{"summary":"Attempt to Provision Network Token","value":{"transaction":{"payment_method_token":"","amount":100,"currency_code":"USD","retain_on_success":true,"provision_network_token":true}}},"Attempt Network Token":{"summary":"Attempt to Transact with Network Token","value":{"transaction":{"payment_method_token":"","amount":100,"currency_code":"USD","attempt_network_token":true}}}}},"application/xml":{"schema":{"$ref":"#/components/schemas/purchase"},"examples":{"Payment method token":{"summary":"Payment method token","value":{"transaction":{"payment_method_token":"","amount":100,"currency_code":"USD"}}},"With Recover":{"summary":"With Recover","value":{"transaction":{"payment_method_token":"","amount":100,"currency_code":"USD","retry":{"gateway_tokens":["",""],"mode":"","custom_errors":{"gateway_type":{"override_error_codes":false,"messages":["",""]}}}}}},"Pass in credit card":{"summary":"Pass in credit card","value":{"transaction":{"amount":100,"currency_code":"USD","credit_card":{"first_name":"Joe","last_name":"Smith","number":4111111111111111,"verification_value":123,"month":12,"year":2030}}}},"Pass in bank account/ACH":{"summary":"Pass in bank account/ACH","value":{"transaction":{"amount":100,"currency_code":"USD","bank_account":{"first_name":"Joe","last_name":"Smith","bank_routing_number":"021000021","bank_account_number":"9876543210"}}}},"Pass in Apple Pay":{"summary":"Pass in Apple Pay","value":{"transaction":{"amount":100,"currency_code":"USD","apple_pay":{"payment_data":{"version":"","data":"","signature":"","header":{"ephemeralPublicKey":"","transactionId":"","publicKeyHash":""}},"test_card_number":"4111111111111111"}}}},"Pass in Google Pay":{"summary":"Pass in Google Pay","value":{"transaction":{"amount":1122,"currency_code":"USD","google_pay":{"payment_data":{"signature":"","protocolVersion":"","signedMessage":"{}"},"test_card_number":"4111111111111111"}}}},"SCA Authenticated":{"summary":"SCA Authenticated","value":{"transaction":{"sca_authentication_token":"","amount":1122,"currency_code":"USD"}}},"With Protection parameters":{"summary":"With Protection parameters","value":{"transaction":{"amount":1000,"currency_code":"USD","payment_method_token":"4EGlSI8da0wgSe7KDMR7dQrttQt","protection_provider_token":"5TT6BS9GA9RE3AHPH3AEPPE0G6","protection_parameters":{"test_scenario":{"scenario":""},"forter_mobile_uid":"e520-ba9a-367-60b","fraud_token":"dsjhsudeu","user_agent":"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.73 Safari/537.36","cart_items":[{"name":"White GenericBrand handbag","quantity":1,"type":"TANGIBLE","price":"1000"},{"name":"White GenericBrand handbag","quantity":1,"type":"TANGIBLE","price":"1000"}],"delivery_type":"PHYSICAL","delivery_method":"FedEx","customer_account_id":"1234567","customer_account_type":"BUSINESS","customer_account_creation_date":1234567,"billing_name":"Firstname Lastname","billing_first_name":"Firstname","billing_last_name":"Lastname","email":"email@email.com","billing_country":"US","billing_address1":"123 Fake St","billing_address2":"","billing_city":"Durham","billing_zip":"01435","billing_phone_number":"1234567890","shipping_name":"Same Name","shipping_first_name":"Same","shipping_last_name":"Name","shipping_email":"email@email.com","shipping_address1":"321 Real St","shipping_address2":"","shipping_city":"Orlando","shipping_state":"FL","shipping_phone_number":"0987654321"}}}},"Provision Network Token":{"summary":"Attempt to Provision Network Token","value":{"transaction":{"payment_method_token":"","amount":100,"currency_code":"USD","retain_on_success":true,"provision_network_token":true}}},"Attempt Network Token":{"summary":"Attempt to Transact with Network Token","value":{"transaction":{"payment_method_token":"","amount":100,"currency_code":"USD","attempt_network_token":true}}}}}}}}},"/transactions/{transaction_token}/purchase":{"post":{"summary":"Create a purchase transaction via reference","tags":["purchase"],"security":[{"basic_auth":[]}],"operationId":"reference-purchase","description":"Execute a purchase using the payment method [utilized in a previous transaction](https://developer.spreedly.com/docs/using-payment-methods#reference-purchases).\n\nThe `currency_code` field is optional for this type of purchase request. It can be inferred from the referenced transaction.\n","parameters":[{"$ref":"#/components/parameters/transaction_token"}],"responses":{"200":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/purchase_response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/purchase_response"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/purchase_via_reference"},"examples":{"Purchase via reference":{"summary":"Purchase via reference","value":{"transaction":{"amount":80}}}}},"application/xml":{"schema":{"$ref":"#/components/schemas/purchase_via_reference"},"examples":{"Purchase via reference":{"summary":"Purchase via reference","value":{"transaction":{"amount":80}}}}}}}}},"/receivers_options":{"get":{"summary":"List supported receivers","tags":["receivers"],"operationId":"list-supported-receivers","description":"Retrieve a list of all payment method distribution receivers, and their properties, supported by Spreedly.\n\nNote that this request is publicly available and _does not require authorization_.\n","responses":{"200":{"description":"Successful","content":{"application/json":{"schema":{"$ref":"#/components/schemas/list_supported_receivers_response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/list_supported_receivers_response"}}}}}}},"/receivers":{"post":{"summary":"Create a receiver","tags":["receivers"],"security":[{"basic_auth":[]}],"operationId":"create-receiver","description":"Create a receiver for use in [payment method distribution](https://developer.spreedly.com/docs/payment-method-distribution)","parameters":[],"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/receiver_response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/receiver_response"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}}},"requestBody":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/http_receiver"},{"$ref":"#/components/schemas/sftp_receiver"}]},"examples":{"HTTP Receiver":{"summary":"HTTP Receiver","value":{"receiver":{"receiver_type":"test","hostnames":"https://spreedly-echo.herokuapp.com","credentials":[{"name":"app-id","value":1234,"safe":true},{"name":"app-secret","value":5678}]}}},"SFTP Receiver":{"summary":"SFTP Receiver","value":{"receiver":{"receiver_type":"test","hostnames":"sftp://testserver.com","protocol":{"user":"test_user","password":"test_password"}}}}}},"application/xml":{"schema":{"oneOf":[{"$ref":"#/components/schemas/http_receiver"},{"$ref":"#/components/schemas/sftp_receiver"}]},"examples":{"HTTP Receiver":{"summary":"HTTP Receiver","value":{"receiver":{"receiver_type":"test","hostnames":"https://spreedly-echo.herokuapp.com","credentials":[{"name":"app-id","value":1234,"safe":true},{"name":"app-secret","value":5678}]}}},"SFTP Receiver":{"summary":"SFTP Receiver","value":{"receiver":{"receiver_type":"test","hostnames":"sftp://testserver.com","protocol":{"user":"test_user","password":"test_password"}}}}}}}}},"get":{"summary":"List created receivers","tags":["receivers"],"security":[{"basic_auth":[]}],"operationId":"list-created-receivers","description":"Retrieve an [ordered and paginated](https://developer.spreedly.com/reference/order-and-pagination) list of all receivers in the authenticated environment.","parameters":[{"name":"order","in":"query","description":"The order of the returned list. Default is `asc`, which returns the oldest records first. To list newer records first, use `desc`.","schema":{"type":"string"}},{"name":"since_token","in":"query","description":"The token of the item to start from (e.g., the last token received in the previous list if iterating through records)","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful","content":{"application/json":{"schema":{"$ref":"#/components/schemas/list_created_receivers_response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/list_created_receivers_response"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}}}}},"/receivers/{receiver_token}":{"parameters":[{"name":"receiver_token","in":"path","description":"The token of the receiver at Spreedly","required":true,"schema":{"type":"string"}}],"get":{"summary":"Show a receiver","tags":["receivers"],"security":[{"basic_auth":[]}],"operationId":"show-receiver","description":"Get a receiver with the given token","responses":{"200":{"description":"Successful","content":{"application/json":{"schema":{"$ref":"#/components/schemas/receiver_response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/receiver_response"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}}}},"put":{"summary":"Update a receiver","tags":["receivers"],"security":[{"basic_auth":[]}],"operationId":"update-receiver","description":"Update a receiver with new credentials","parameters":[],"responses":{"200":{"description":"Successful","content":{"application/json":{"schema":{"$ref":"#/components/schemas/receiver_response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/receiver_response"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}},"422":{"description":"Unknown error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/receiver_update"}},"application/xml":{"schema":{"$ref":"#/components/schemas/receiver_update"}}}}}},"/receivers/{receiver_token}/redact":{"parameters":[{"name":"receiver_token","in":"path","description":"The token of the receiver at Spreedly","required":true,"schema":{"type":"string"}}],"put":{"summary":"Redact a receiver","tags":["receivers"],"security":[{"basic_auth":[]}],"operationId":"redact-receiver","description":"Redact (strip of any sensitive credentials and make inactive) a receiver.","responses":{"200":{"description":"Successful","content":{"application/json":{"schema":{"$ref":"#/components/schemas/receiver_response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/receiver_response"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}}}}},"/receivers/{receiver_token}/deliver":{"parameters":[{"name":"receiver_token","in":"path","description":"The token of the receiver at Spreedly","required":true,"schema":{"type":"string"}}],"post":{"summary":"Deliver payment method","tags":["receivers"],"security":[{"basic_auth":[]}],"operationId":"deliver-payment-method","description":"Deliver a payment method to the specified receiver endpoint. See the guide on [payment method distribution](https://developer.spreedly.com/docs/payment-method-distribution) to understand how to specify what is sent to the receiver. Spreedly provides an open [repository of code templates](https://github.com/spreedly/templates) for simplifying implementation of new receivers.","parameters":[],"responses":{"200":{"description":"Successful","content":{"application/json":{"schema":{"$ref":"#/components/schemas/deliver_response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/deliver_response"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}},"404":{"description":"Not found","content":{"Receiver not found":{"examples":{"application/json":{"value":[{"key":"errors.receiver_not_found","message":"Unable to find the specified receiver."}]},"application/xml":{"value":" \n Unable to find the specified receiver.\n \n"}}},"Payment method not found":{"examples":{"application/json":{"value":[{"key":"errors.payment_method_not_found","message":"Unable to find the specified payment method."}]},"application/xml":{"value":" \n Unable to find the specified payment method.\n \n"}}}}},"422":{"description":"Unknown error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/deliver_response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/deliver_response"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/deliver"}},"application/xml":{"schema":{"$ref":"#/components/schemas/deliver"}}}}}},"/receivers/{receiver_token}/export":{"parameters":[{"name":"receiver_token","in":"path","description":"The token of the receiver at Spreedly","required":true,"schema":{"type":"string"}}],"post":{"summary":"Export payment methods","tags":["receivers"],"security":[{"basic_auth":[]}],"operationId":"export-payment-methods","description":"Export multiple payment methods in a single, asynchronous, batch call to an SFTP receiver endpoint.","parameters":[],"responses":{"202":{"description":"Accepted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/export_response"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/export_properties"}}}}}},"/sca/providers/{sca_provider_key}/authenticate":{"parameters":[{"name":"sca_provider_key","in":"path","description":"The token returned by the sca providers [endpoint](https://developer.spreedly.com/docs/3ds-solutions#creating-an-sca-provider)","required":true,"schema":{"type":"string"}}],"post":{"summary":"Authenticate a given payment method","tags":["sca_authentication"],"security":[{"basic_auth":[]}],"operationId":"authenticate","description":"Authenticate a given payment method and amount against provided SCA Provider Key (specified in the request URL)\n\nNotable response elements can be found in the table below. All other response elements are used by our `Spreedly.ThreeDS.Lifecycle` helpers and exposed for debugging purposes. We recommend that our merchants not use any fields that are not listed in the table below.\n","parameters":[],"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/authenticate_response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/authenticate_response"}}}},"401":{"description":"Unauthorized","content":{"Not authorized request":{"examples":{"application/json":{"value":[{"key":"errors.access_denied","message":"Unable to authenticate using the given environment_key and access_token. Please check your credentials."}]},"application/xml":{"value":" \n Unable to authenticate using the given environment_key and access_token. Please check your credentials.\n \n"}}}}},"404":{"description":"Not Found","content":{"Token Not Found":{"examples":{"application/json":{"value":[{"key":"errors.sca_provider_not_found","message":"Unable to find the sca_provider given."}]},"application/xml":{"value":" \n Unable to find the sca_provider given.\n \n"}}}}},"422":{"description":"Unprocessable Entity","content":{"Unprocessable Entity":{"examples":{"application/json":{"value":[{"key":"errors.payment_method_or_payment_method_token_required","message":"You must specify a valid 'payment_method' or valid 'payment_method_token' parameter."}]},"application/xml":{"value":" \n You must specify a valid 'payment_method' or valid 'payment_method_token' parameter.\n \n"}}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/authenticate"}},"application/xml":{"schema":{"$ref":"#/components/schemas/authenticate"}}}}}},"/transactions/{transaction_token}":{"parameters":[{"name":"transaction_token","in":"path","description":"The token of the transaction to execute against","required":true,"schema":{"type":"string"}}],"get":{"summary":"Show transaction","tags":["transactions"],"security":[{"basic_auth":[]}],"operationId":"show-transactions","description":"Get the transaction with the given token.\n\nAny interaction that creates or updates information via the Spreedly API,\nor sends information to a third party such as a gateway or receiver, will\ngenerate a corresponding transaction record that may be viewed by\nsubmitting its `transaction_token`. This may be viewable in the body of the\noriginal response or by retrieving it from the Transactions List in the\n[Spreedly app](https//app.spreedly.com).\n","responses":{"200":{"description":"Successful","content":{"application/json":{"schema":{"$ref":"#/components/schemas/purchase_response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/purchase_response"}}}},"401":{"description":"Unauthorized","content":{"Not authorized request":{"examples":{"application/json":{"value":[{"key":"errors.access_denied","message":"Unable to authenticate using the given environment_key and access_token. Please check your credentials."}]},"application/xml":{"value":" \n Unable to authenticate using the given environment_key and access_token. Please check your credentials.\n \n"}}},"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}},"404":{"description":"Not found","content":{"Token Not Found":{"examples":{"application/json":{"value":[{"key":"errors.transaction_not_found","message":"Unable to find the transaction token_does_not_exist."}]},"application/xml":{"value":" \n Unable to find the transaction token_does_not_exist.\n \n"}}},"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}}}},"patch":{"summary":"Update transaction","tags":["transactions"],"security":[{"basic_auth":[]}],"operationId":"update-transactions","description":"Run an inquiry for a transaction's status at the gateway and update\nthe state of the Spreedly transaction with the given token. Only\nfor supported gateways. See our [syncing transactions guide](https://developer.spreedly.com/docs/syncing-your-gateway-transaction) for more information.\n","responses":{"200":{"description":"Successful","content":{"application/json":{"schema":{"$ref":"#/components/schemas/update_transaction_response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/update_transaction_response"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/update_transaction_response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/update_transaction_response"}}}}}}},"/sca/providers":{"post":{"summary":"Create an sca provider on the given merchant profile","tags":["sca_provider"],"security":[{"basic_auth":[]}],"operationId":"create-sca-provider","description":"Create an SCA Provider on the given Merchant Profile. An SCA Provider can be used to run [3DS2 Global](https://developer.spreedly.com/docs/3ds-solutions) authentications on the [authenticate](https://developer.spreedly.com/reference/authenticate) endpoint or as part of [authorize](https://developer.spreedly.com/reference/authorize) and [purchase](https://developer.spreedly.com/reference/purchase) transactions. At least one card type object must be included in the request. The following card types are supported: `Visa`, `Mastercard`, `American Express`, and `Discover`.","parameters":[],"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/sca_provider_response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/sca_provider_response"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}},"422":{"description":"Unprocessable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/sca_provider"}},"application/xml":{"schema":{"$ref":"#/components/schemas/sca_provider"}}}}}},"/sca/providers/{sca_provider_token}":{"parameters":[{"name":"sca_provider_token","in":"path","description":"The token of the SCA Provider","required":true,"schema":{"type":"string"}}],"get":{"summary":"Show sca provider","tags":["sca_provider"],"security":[{"basic_auth":[]}],"operationId":"show-sca-provider","description":"Get an SCA Provider with the given token. An SCA Provider can be used to run [3DS2 Global](https://developer.spreedly.com/docs/3ds-solutions) authentications on the [authenticate](https://developer.spreedly.com/reference/authenticate) endpoint or as part of [authorize](https://developer.spreedly.com/reference/authorize-1) and [purchase](https://developer.spreedly.com/reference/reference-purchase) transactions.","responses":{"200":{"description":"Successful","content":{"application/json":{"schema":{"$ref":"#/components/schemas/sca_provider_response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/sca_provider_response"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}}}}},"/gateways/{gateway_token}/store":{"post":{"summary":"Create a store transaction","tags":["payment_methods"],"security":[{"basic_auth":[]}],"operationId":"payment_method.store","description":"Tokenize a payment method *at the gateway*.\n\nThis transaction copies the payment method information from the Spreedly vault [to the gateway's vault](https://developer.spreedly.com/docs/third-party-vaulting) and creates a new Spreedly payment method to represent the gateway's version. The reference to the payment method at the gateway is called a ThirdPartyToken and is a separate payment method from the original payment method. It is up to you to manage the lifecycle of these linked payment methods – Spreedly does not keep them in sync in any way.\n\nThe ThirdPartyToken is locked to the gateway where the card is stored; it cannot be used at another gateway. If you'd like a card to be used at multiple gateways, you'll need to [retain the card in the Spreedly vault](https://developer.spreedly.com/docs/create-transactions#retain).\n","parameters":[{"$ref":"#/components/parameters/gateway_token"}],"responses":{"200":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/store_response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/store_response"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/store"},"examples":{"Store at gateway":{"summary":"Store at gateway","value":"{\"transaction\":{\"payment_method_token\":\"\"}}"}}},"application/xml":{"schema":{"$ref":"#/components/schemas/store"},"examples":{"Store at gateway":{"summary":"Store at gateway","value":"{\"transaction\":{\"payment_method_token\":\"\"}}"}}}}}}},"/sub_merchants":{"get":{"summary":"List sub_merchants","tags":["sub_merchants"],"security":[{"basic_auth":[]}],"operationId":"list-sub-merchant","description":"Retrieve an ordered and paginated list of all Sub-merchants in an organization. This call should be authenticated with an environment key from the organization and an Organization Access Secret.","parameters":[{"name":"since_token","in":"query","description":"The token of the item to start from (e.g., the last token received in the previous list if iterating through records)","schema":{"type":"string"}},{"name":"count","in":"query","description":"The number of sub_merchants to return. By default returns 20, maximum allowed is 100.","schema":{"type":"string"}},{"name":"order","in":"query","description":"The order of the returned list. Default is `asc`, which returns the oldest records first. To list newer records first, use `desc`.","schema":{"type":"string"}}],"responses":{"200":{"description":"successful","content":{"application/json":{"schema":{"$ref":"#/components/schemas/list_sub_merchants_response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/list_sub_merchants_response"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}}}},"post":{"summary":"Create sub_merchant","tags":["sub_merchants"],"security":[{"basic_auth":[]}],"operationId":"create-sub-merchant","description":"Create a sub-merchant","parameters":[],"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/sub_merchant_response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/sub_merchant_response"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}},"422":{"description":"Unprocessable Entity","content":{"Missing request parameter":{"examples":{"application/json":{"value":[{"key":"errors.merchant_data_acquirer_merchant_id_required","message":"acquirer_merchant_id is required when using merchant_data."}]},"application/xml":{"value":" \n errors.merchant_data_acquirer_merchant_id_required\n acquirer_merchant_id is required when using merchant_data.\n \n"}}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/sub_merchant_create"}},"application/xml":{"schema":{"$ref":"#/components/schemas/sub_merchant_create"}}}}}},"/sub_merchants/{sub_merchant_key}":{"parameters":[{"name":"sub_merchant_key","in":"path","description":"The key of the sub-merchant to execute against","required":true,"schema":{"type":"string"}}],"get":{"summary":"Show sub_merchant","tags":["sub_merchants"],"security":[{"basic_auth":[]}],"operationId":"show-sub-merchant","description":"Get the sub-merchant with the given key.","responses":{"200":{"description":"successful","content":{"application/json":{"schema":{"$ref":"#/components/schemas/sub_merchant_response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/sub_merchant_response"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}}}},"put":{"summary":"Update sub_merchant","tags":["sub_merchants"],"security":[{"basic_auth":[]}],"operationId":"ubdate-sub-merchant","description":"Update a sub-merchant","parameters":[],"responses":{"200":{"description":"successful","content":{"application/json":{"schema":{"$ref":"#/components/schemas/sub_merchant_response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/sub_merchant_response"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}},"422":{"description":"Unprocessable Entity","content":{"Missing request parameter":{"examples":{"application/json":{"value":[{"key":"errors.merchant_data_acquirer_merchant_id_required","message":"acquirer_merchant_id is required when using merchant_data."}]},"application/xml":{"value":" \n errors.merchant_data_acquirer_merchant_id_required\n acquirer_merchant_id is required when using merchant_data.\n \n"}}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/sub_merchant_update"}},"application/xml":{"schema":{"$ref":"#/components/schemas/sub_merchant_update"}}}}}},"/transactions/{transaction_token}/complete":{"post":{"summary":"Complete transaction","tags":["transactions"],"security":[{"basic_auth":[]}],"operationId":"complete-transactions","description":"Attempts to complete or advance a pending 3DS 2 transaction. We require merchants to make authenticated\ncalls to this endpoint in response to certain `Spreedly.ThreeDS.Lifecycle` events being emitted:\n\nA pending transaction with a `required_action` of `device_fingerprint` will fire a `trigger-completion`\nevent when the transaction status was updated due to a callback in the cardholder's iFrame or when 10\nseconds have elapsed. When this event is received, it is necessary to call `complete` so that the\nlatest transaction state can be retrieved in case of a timeout.\n\nA pending transaction with a `required_action` of `challenge` will fire a `finalization-timeout` when\nour `Spreedly.ThreeDS.Lifecycle` stops polling for updates after 10-15 minutes of not receiving a new\nstatus. When this event is received, it is recommended that merchants call `complete` so that the\ntransaction state can be updated due to cardholder abandonment or missed callbacks.\n\nPlease see our [3DS2 guides](https://developer.spreedly.com/docs/3ds-solutions) for more information and reference implementations.\n","parameters":[{"name":"transaction_token","in":"path","description":"The token of the transaction to complete","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful","content":{"application/json":{"schema":{"$ref":"#/components/schemas/threeds_purchase_response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/threeds_purchase_response"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}}}}},"/transactions":{"parameters":[{"name":"state","in":"query","description":"The transaction state on which to filter the returned list. Can be one of succeeded, failed, gateway_processing_failed, gateway_processing_result_unknown.","schema":{"type":"string"}},{"name":"count","in":"query","description":"The number of transactions to return. By default returns 20, maximum allowed is 100.","schema":{"type":"string"}},{"name":"since_token","in":"query","description":"The token of the item to start from (e.g., the last token received in the previous list if iterating through records)","schema":{"type":"string"}},{"name":"order","in":"query","description":"The order of the returned list. Default is asc, which returns the oldest records first. To list newer records first, use desc.","schema":{"type":"string"}}],"get":{"summary":"List transactions","tags":["transactions"],"security":[{"basic_auth":[]}],"operationId":"list-transactions","description":"Retrieve an [ordered and paginated](https://developer.spreedly.com/reference/order-and-pagination) list of all transactions in the authenticated environment.\n\nThis endpoint is [rate-limited](https://developer.spreedly.com/reference/response-codes#429-too-many-requests) to 30 requests per minute, per environment.\n","responses":{"200":{"description":"Successful","content":{"application/json":{"schema":{"$ref":"#/components/schemas/transactions_response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/transactions_response"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}}}}},"/transactions/{transaction_token}/confirm":{"parameters":[{"name":"transaction_token","in":"path","description":"The token of the transaction to confirm","required":true,"schema":{"type":"string"}}],"post":{"summary":"Confirm transaction","tags":["transactions"],"security":[{"basic_auth":[]}],"operationId":"confirm-transactions","description":"Attempts to confirm a pending offsite purchase, offsite synchronous purchase or offsite synchronous authorization.\n\n**Braintree**\n A `processing` transaction with a `payment_method_type` of 'paypal' or 'venmo' is needed to confirm this transaction.\n [A object returned in iFrame](https://developer.spreedly.com/docs/braintree-gateway-guide#example-responses-for-callbackfunction). This could contain the following parameters; `state`, `nonce`, `payment_method`, `device_date`, `username`\n Please see our [Braintree APM section](https://developer.spreedly.com/docs/braintree-gateway-guide#alternative-payment-methods) for more information and reference implementations.\n\n**Stripe**\n For Stripe this offsite purchase is using APMs with a card payment.\n\n A pending transaction with a `payment_method` of type 'stripe_apm' is needed to confirm this transaction.\n A `payment_method_token` or credit card details in a `payment_method` object must be passed.\n Please see our [Stripe APM guide](https://developer.spreedly.com/docs/stripe-apm-offsite-payments) for more information and reference implementations.\n\nBIN metadata is available in the response if the card is enrolled in Advanced Vault. See [BIN metadata](https://developer.spreedly.com/docs/bin-metadata) for more information.\n","parameters":[],"responses":{"200":{"description":"Successful","content":{"application/json":{"schema":{"$ref":"#/components/schemas/purchase_response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/purchase_response"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/purchase"},"examples":{"Confirm Braintree Transaction":{"summary":"Confirm Braintree Transaction","value":{"state":"Successful/Failed/Cancelled","nonce":"payment-method-nonce","device_data":"device-data","payment_method":{"payment_method_type":"paypal-or-venmo"}}},"Confirm Stripe PI Transaction":{"summary":"Confirm Stripe PI Transaction","value":{"transaction":{"payment_method_token":""}}}}},"application/xml":{"schema":{"$ref":"#/components/schemas/purchase"},"examples":{"Confirm Braintree Transaction":{"summary":"Confirm Braintree Transaction","value":{"state":"Successful/Failed/Cancelled","nonce":"payment-method-nonce","device_data":"device-data","payment_method":{"payment_method_type":"paypal-or-venmo"}}},"Confirm Stripe PI Transaction":{"summary":"Confirm Stripe PI Transaction","value":{"transaction":{"payment_method_token":""}}}}}}}}},"/transactions/{transaction_token}/transcript":{"parameters":[{"name":"transaction_token","in":"path","description":"The token identifying the transaction whose transcript is being requested","required":true,"schema":{"type":"string"}}],"get":{"summary":"Transaction transcript","tags":["transactions"],"security":[{"basic_auth":[]}],"operationId":"transcript-transactions","description":"View the exchange between Spreedly and the external service (gateway, receiver, etc…)\nfor the given transaction in a human-readable, text format. The transcript is\nscrubbed of sensitive information so you can email it to external support\nrepresentatives to help in debugging and other support tasks.\n\nAs of December 31, 2022, Spreedly retains transaction transcripts for 90 days after\nthe initial date of the transaction. Transcript requests for transactions which are\nolder than 90 days will return a 404 http response.\n\nA transcript is not meant to be machine parseable and, as such, its format may\nchange at any time without warning.\n","responses":{"200":{"description":"Successful","content":{"should return a 200 response":{"examples":{"text/plain":{"value":" [*>] POST to https://spreedly-echo.herokuapp.com\n\n Content-Type: application/json\n X-App-Id: 1234\n X-App-Secret: [FILTERED]\n\n {\n \"product_id\":\"916593\",\n \"card_number\":\"[FILTERED]\",\n \"card_cvv\":\"[FILTERED]\",\n \"first_name\":\"Newfirst\",\n \"last_name\":\"Newlast\",\n \"year\":\"2032\",\n \"month\":\"3\"\n }\n\n [<*] Response 200 received in 0s\n\n Date: Thu, 27 Jul 2017 17:55:48 GMT\n Connection: close\n Host: spreedly-echo.herokuapp.com\n Accept: */*\n User_agent: spreedly-agent/Typhoeus 0.6.9\n X_request_id: e7473785-4070-4780-9e3a-66a84bbd2ca6\n X_forwarded_for: 167.88.149.182\n X_forwarded_proto: https\n X_forwarded_port: 443\n Via: 1.1 vegur, 1.1 vegur\n Connect_time: 2\n X_request_start: 1501178148676\n Total_route_time: 0\n X-Runtime: 0.000143\n Server: thin 1.6.2 codename Doc Brown\n\n HOST: spreedly-echo.herokuapp.com\n CONNECTION: close\n ACCEPT: */*\n USER_AGENT: spreedly-agent/Typhoeus 0.6.9\n X_REQUEST_ID: e7473785-4070-4780-9e3a-66a84bbd2ca6\n X_FORWARDED_FOR: 167.88.149.182\n X_FORWARDED_PROTO: https\n X_FORWARDED_PORT: 443\n VIA: 1.1 vegur\n CONNECT_TIME: 2\n X_REQUEST_START: 1501178148676\n TOTAL_ROUTE_TIME: 0\n\n {\n \"product_id\":\"916593\",\n \"card_number\":\"[FILTERED]\",\n \"card_cvv\":\"\",\n \"first_name\":\"Newfirst\",\n \"last_name\":\"Newlast\",\n \"year\":\"2032\",\n \"month\":\"3\"\n }\n"}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}}}}},"/gateways/{gateway_token}/verify":{"post":{"summary":"Verify a payment method","tags":["verify"],"security":[{"basic_auth":[]}],"operationId":"verify-payment-method","description":"Determine if a credit card is a [chargeable card and available for purchases](https://developer.spreedly.com/docs/using-payment-methods#verifying-a-card). The `retain_on_success` request parameter will automatically retain the card if it’s successfully verified.\n\nAlso used by Ebanx Gateway customers as part of the enrollment process for Mercado Pago recurring payments. To learn more about this visit [Ebanx Gateway](https://developer.spreedly.com/docs/ebanx-gateway-guide).\n","parameters":[{"$ref":"#/components/parameters/gateway_token"}],"responses":{"200":{"description":"OK","content":{"Network Token Provisioned":{"examples":{"application/json":{"value":{"transaction":{"on_test_gateway":true,"created_at":"2025-06-07T15:10:26Z","updated_at":"2025-06-07T15:10:26Z","succeeded":true,"state":"succeeded","token":"7H6kWRX0jxtaniT4em8ZfRMfcjR","transaction_type":"Verification","order_id":null,"ip":null,"sub_merchant_key":null,"description":null,"email":null,"merchant_name_descriptor":null,"merchant_location_descriptor":null,"gateway_specific_fields":null,"gateway_specific_response_fields":{},"gateway_transaction_id":"59","gateway_latency_ms":20,"currency_code":null,"retain_on_success":true,"payment_method_added":false,"message_key":"messages.transaction_succeeded","message":"Succeeded!","gateway_token":"T11bJAANtTWnxl36GYjKWvbNK0g","gateway_type":"test","response":{"success":true,"message":"Successful verify","avs_code":null,"avs_message":null,"cvv_code":null,"cvv_message":null,"pending":false,"result_unknown":false,"error_code":null,"error_detail":null,"cancelled":false,"fraud_review":null,"created_at":"2018-11-07T15:10:26Z","updated_at":"2018-11-07T15:10:26Z"},"shipping_address":{"name":"Newfirst Newlast","address1":null,"address2":null,"city":null,"state":null,"zip":null,"country":null,"phone_number":null},"payment_method":{"token":"1rpKvP8zOUhj4Y9EDrIoIYQzzD5","created_at":"2017-06-26T17:04:38Z","updated_at":"2018-11-07T15:10:26Z","email":"joey@example.com","data":{"my_payment_method_identifier":"448","extra_stuff":{"some_other_things":"Can be anything really"}},"storage_state":"retained","test":true,"metadata":{"key":"string value","another_key":123,"final_key":true},"last_four_digits":"1111","first_six_digits":"411111","card_type":"visa","first_name":"Newfirst","last_name":"Newlast","month":3,"year":2032,"address1":null,"address2":null,"city":null,"state":null,"zip":null,"country":null,"phone_number":null,"company":null,"full_name":"Newfirst Newlast","eligible_for_card_updater":null,"shipping_address1":null,"shipping_address2":null,"shipping_city":null,"shipping_state":null,"shipping_zip":null,"shipping_country":null,"shipping_phone_number":null,"payment_method_type":"credit_card","bin_metadata":{"card_brand":"DISCOVER","card_category":"PERSONAL","card_type":"CREDIT","issuing_bank":"DISCOVER BANK","issuing_country_iso_number":"840","issuing_country_iso_a2_code":"US","issuing_country_iso_a3_code":"USA","issuing_country_iso_name":"UNITED STATES","issuing_bank_phone_number":"1 (800) 347-7000","issuing_bank_website":"HTTPS://WWW.DISCOVER.COM/","bin_type":"PERSONAL","regulated":"Y","max_pan_length":19,"message":"Successful"},"errors":[],"fingerprint":"e3cef43464fc832f6e04f187df25af497994","verification_value":"","number":"XXXX-XXXX-XXXX-1111"},"network_tokenization":{"provisioned":true,"token_status":"active","token_reference":"DWSP01234567890ABCDEF0123456789AB","token_first_six_digits":"411111","token_last_four_digits":"1234","token_created_at":"2024-01-15T10:30:00Z","token_updated_at":"2024-01-15T10:30:00Z"}}}},"application/xml":{"value":"\n\n true\n 2025-06-07T15:10:26Z\n 2025-06-07T15:10:26Z\n true\n succeeded\n 7H6kWRX0jxtaniT4em8ZfRMfcjR\n Verification\n \n \n \n \n \n \n \n \n \n \n 59\n 20\n \n true\n false\n messages.transaction_succeeded\n Succeeded!\n T11bJAANtTWnxl36GYjKWvbNK0g\n test\n \n true\n Successful verify\n \n \n \n \n false\n false\n \n \n false\n \n 2018-11-07T15:10:26Z\n 2018-11-07T15:10:26Z\n \n \n Newfirst Newlast\n \n \n \n \n \n \n \n \n \n 1rpKvP8zOUhj4Y9EDrIoIYQzzD5\n 2017-06-26T17:04:38Z\n 2018-11-07T15:10:26Z\n joey@example.com\n \n 448\n \n Can be anything really\n \n \n retained\n true\n \n string value\n 123\n true\n \n 1111\n 411111\n visa\n Newfirst\n Newlast\n 3\n 2032\n \n \n \n \n \n \n \n \n Newfirst Newlast\n \n \n \n \n \n \n \n \n credit_card\n \n DISCOVER\n PERSONAL\n CREDIT\n DISCOVER BANK\n 840\n US\n USA\n UNITED STATES\n 1 (800) 347-7000\n HTTPS://WWW.DISCOVER.COM/\n PERSONAL\n Y\n 19\n Successful\n \n \n e3cef43464fc832f6e04f187df25af497994\n \n XXXX-XXXX-XXXX-1111\n \n \n true\n active\n DWSP01234567890ABCDEF0123456789AB\n 411111\n 1234\n 2024-01-15T10:30:00Z\n 2024-01-15T10:30:00Z\n \n\n"}}},"Network Token Provision Failed":{"examples":{"application/json":{"value":{"transaction":{"on_test_gateway":true,"created_at":"2025-06-07T15:10:26Z","updated_at":"2025-06-07T15:10:26Z","succeeded":true,"state":"succeeded","token":"7H6kWRX0jxtaniT4em8ZfRMfcjR","transaction_type":"Verification","order_id":null,"ip":null,"sub_merchant_key":null,"description":null,"email":null,"merchant_name_descriptor":null,"merchant_location_descriptor":null,"gateway_specific_fields":null,"gateway_specific_response_fields":{},"gateway_transaction_id":"59","gateway_latency_ms":20,"currency_code":null,"retain_on_success":true,"payment_method_added":false,"message_key":"messages.transaction_succeeded","message":"Succeeded!","gateway_token":"T11bJAANtTWnxl36GYjKWvbNK0g","gateway_type":"test","response":{"success":true,"message":"Successful verify","avs_code":null,"avs_message":null,"cvv_code":null,"cvv_message":null,"pending":false,"result_unknown":false,"error_code":null,"error_detail":null,"cancelled":false,"fraud_review":null,"created_at":"2018-11-07T15:10:26Z","updated_at":"2018-11-07T15:10:26Z"},"shipping_address":{"name":"Newfirst Newlast","address1":null,"address2":null,"city":null,"state":null,"zip":null,"country":null,"phone_number":null},"payment_method":{"token":"1rpKvP8zOUhj4Y9EDrIoIYQzzD5","created_at":"2017-06-26T17:04:38Z","updated_at":"2018-11-07T15:10:26Z","email":"joey@example.com","data":{"my_payment_method_identifier":"448","extra_stuff":{"some_other_things":"Can be anything really"}},"storage_state":"retained","test":true,"metadata":{"key":"string value","another_key":123,"final_key":true},"last_four_digits":"1111","first_six_digits":"411111","card_type":"visa","first_name":"Newfirst","last_name":"Newlast","month":3,"year":2032,"address1":null,"address2":null,"city":null,"state":null,"zip":null,"country":null,"phone_number":null,"company":null,"full_name":"Newfirst Newlast","eligible_for_card_updater":null,"shipping_address1":null,"shipping_address2":null,"shipping_city":null,"shipping_state":null,"shipping_zip":null,"shipping_country":null,"shipping_phone_number":null,"payment_method_type":"credit_card","bin_metadata":{"card_brand":"DISCOVER","card_category":"PERSONAL","card_type":"CREDIT","issuing_bank":"DISCOVER BANK","issuing_country_iso_number":"840","issuing_country_iso_a2_code":"US","issuing_country_iso_a3_code":"USA","issuing_country_iso_name":"UNITED STATES","issuing_bank_phone_number":"1 (800) 347-7000","issuing_bank_website":"HTTPS://WWW.DISCOVER.COM/","bin_type":"PERSONAL","regulated":"Y","max_pan_length":19,"message":"Successful"},"errors":[],"fingerprint":"e3cef43464fc832f6e04f187df25af497994","verification_value":"","number":"XXXX-XXXX-XXXX-1111"},"network_tokenization":{"provisioned":false,"token_status":null,"errors":[{"key":"invalidParameter","message":"Your request does not have valid set of parameters required to process the business function.","action":"provision_network_token"}]}}}},"application/xml":{"value":"\n\n true\n 2025-06-07T15:10:26Z\n 2025-06-07T15:10:26Z\n true\n succeeded\n 7H6kWRX0jxtaniT4em8ZfRMfcjR\n Verification\n \n \n \n \n \n \n \n \n \n \n 59\n 20\n \n true\n false\n messages.transaction_succeeded\n Succeeded!\n T11bJAANtTWnxl36GYjKWvbNK0g\n test\n \n true\n Successful verify\n \n \n \n \n false\n false\n \n \n false\n \n 2018-11-07T15:10:26Z\n 2018-11-07T15:10:26Z\n \n \n Newfirst Newlast\n \n \n \n \n \n \n \n \n \n 1rpKvP8zOUhj4Y9EDrIoIYQzzD5\n 2017-06-26T17:04:38Z\n 2018-11-07T15:10:26Z\n joey@example.com\n \n 448\n \n Can be anything really\n \n \n retained\n true\n \n string value\n 123\n true\n \n 1111\n 411111\n visa\n Newfirst\n Newlast\n 3\n 2032\n \n \n \n \n \n \n \n \n Newfirst Newlast\n \n \n \n \n \n \n \n \n credit_card\n \n DISCOVER\n PERSONAL\n CREDIT\n DISCOVER BANK\n 840\n US\n USA\n UNITED STATES\n 1 (800) 347-7000\n HTTPS://WWW.DISCOVER.COM/\n PERSONAL\n Y\n 19\n Successful\n \n \n e3cef43464fc832f6e04f187df25af497994\n \n XXXX-XXXX-XXXX-1111\n \n \n false\n \n \n \n invalidParameter\n Your request does not have valid set of parameters required to process the business function.\n provision_network_token\n \n \n \n\n"}}},"Network Token Attempted":{"examples":{"application/json":{"value":{"transaction":{"on_test_gateway":true,"created_at":"2025-06-07T15:10:26Z","updated_at":"2025-06-07T15:10:26Z","succeeded":true,"state":"succeeded","token":"7H6kWRX0jxtaniT4em8ZfRMfcjR","transaction_type":"Verification","order_id":null,"ip":null,"sub_merchant_key":null,"description":null,"email":null,"merchant_name_descriptor":null,"merchant_location_descriptor":null,"gateway_specific_fields":null,"gateway_specific_response_fields":{},"gateway_transaction_id":"59","gateway_latency_ms":20,"currency_code":null,"retain_on_success":true,"payment_method_added":false,"message_key":"messages.transaction_succeeded","message":"Succeeded!","gateway_token":"T11bJAANtTWnxl36GYjKWvbNK0g","gateway_type":"test","response":{"success":true,"message":"Successful verify","avs_code":null,"avs_message":null,"cvv_code":null,"cvv_message":null,"pending":false,"result_unknown":false,"error_code":null,"error_detail":null,"cancelled":false,"fraud_review":null,"created_at":"2018-11-07T15:10:26Z","updated_at":"2018-11-07T15:10:26Z"},"shipping_address":{"name":"Newfirst Newlast","address1":null,"address2":null,"city":null,"state":null,"zip":null,"country":null,"phone_number":null},"payment_method":{"token":"1rpKvP8zOUhj4Y9EDrIoIYQzzD5","created_at":"2017-06-26T17:04:38Z","updated_at":"2018-11-07T15:10:26Z","email":"joey@example.com","data":{"my_payment_method_identifier":"448","extra_stuff":{"some_other_things":"Can be anything really"}},"storage_state":"retained","test":true,"metadata":{"key":"string value","another_key":123,"final_key":true},"last_four_digits":"1111","first_six_digits":"411111","card_type":"visa","first_name":"Newfirst","last_name":"Newlast","month":3,"year":2032,"address1":null,"address2":null,"city":null,"state":null,"zip":null,"country":null,"phone_number":null,"company":null,"full_name":"Newfirst Newlast","eligible_for_card_updater":null,"shipping_address1":null,"shipping_address2":null,"shipping_city":null,"shipping_state":null,"shipping_zip":null,"shipping_country":null,"shipping_phone_number":null,"payment_method_type":"credit_card","bin_metadata":{"card_brand":"DISCOVER","card_category":"PERSONAL","card_type":"CREDIT","issuing_bank":"DISCOVER BANK","issuing_country_iso_number":"840","issuing_country_iso_a2_code":"US","issuing_country_iso_a3_code":"USA","issuing_country_iso_name":"UNITED STATES","issuing_bank_phone_number":"1 (800) 347-7000","issuing_bank_website":"HTTPS://WWW.DISCOVER.COM/","bin_type":"PERSONAL","regulated":"Y","max_pan_length":19,"message":"Successful"},"errors":[],"fingerprint":"e3cef43464fc832f6e04f187df25af497994","verification_value":"","number":"XXXX-XXXX-XXXX-1111"},"network_tokenization":{"attempted":true,"token_status":"active","token_reference":"DWSP01234567890ABCDEF0123456789AB","token_first_six_digits":"411111","token_last_four_digits":"1234","token_created_at":"2024-01-15T10:30:00Z","token_updated_at":"2024-01-15T10:30:00Z"}}}},"application/xml":{"value":"\n\n true\n 2025-06-07T15:10:26Z\n 2025-06-07T15:10:26Z\n true\n succeeded\n 7H6kWRX0jxtaniT4em8ZfRMfcjR\n Verification\n \n \n \n \n \n \n \n \n \n \n 59\n 20\n \n true\n false\n messages.transaction_succeeded\n Succeeded!\n T11bJAANtTWnxl36GYjKWvbNK0g\n test\n \n true\n Successful verify\n \n \n \n \n false\n false\n \n \n false\n \n 2018-11-07T15:10:26Z\n 2018-11-07T15:10:26Z\n \n \n Newfirst Newlast\n \n \n \n \n \n \n \n \n \n 1rpKvP8zOUhj4Y9EDrIoIYQzzD5\n 2017-06-26T17:04:38Z\n 2018-11-07T15:10:26Z\n joey@example.com\n \n 448\n \n Can be anything really\n \n \n retained\n true\n \n string value\n 123\n true\n \n 1111\n 411111\n visa\n Newfirst\n Newlast\n 3\n 2032\n \n \n \n \n \n \n \n \n Newfirst Newlast\n \n \n \n \n \n \n \n \n credit_card\n \n DISCOVER\n PERSONAL\n CREDIT\n DISCOVER BANK\n 840\n US\n USA\n UNITED STATES\n 1 (800) 347-7000\n HTTPS://WWW.DISCOVER.COM/\n PERSONAL\n Y\n 19\n Successful\n \n \n e3cef43464fc832f6e04f187df25af497994\n \n XXXX-XXXX-XXXX-1111\n \n \n true\n active\n DWSP01234567890ABCDEF0123456789AB\n 411111\n 1234\n 2024-01-15T10:30:00Z\n 2024-01-15T10:30:00Z\n \n\n"}}},"Network Token Attempted Error":{"examples":{"application/json":{"value":{"transaction":{"on_test_gateway":true,"created_at":"2025-06-07T15:10:26Z","updated_at":"2025-06-07T15:10:26Z","succeeded":true,"state":"succeeded","token":"7H6kWRX0jxtaniT4em8ZfRMfcjR","transaction_type":"Verification","order_id":null,"ip":null,"sub_merchant_key":null,"description":null,"email":null,"merchant_name_descriptor":null,"merchant_location_descriptor":null,"gateway_specific_fields":null,"gateway_specific_response_fields":{},"gateway_transaction_id":"59","gateway_latency_ms":20,"currency_code":null,"retain_on_success":true,"payment_method_added":false,"message_key":"messages.transaction_succeeded","message":"Succeeded!","gateway_token":"T11bJAANtTWnxl36GYjKWvbNK0g","gateway_type":"test","response":{"success":true,"message":"Successful verify","avs_code":null,"avs_message":null,"cvv_code":null,"cvv_message":null,"pending":false,"result_unknown":false,"error_code":null,"error_detail":null,"cancelled":false,"fraud_review":null,"created_at":"2018-11-07T15:10:26Z","updated_at":"2018-11-07T15:10:26Z"},"shipping_address":{"name":"Newfirst Newlast","address1":null,"address2":null,"city":null,"state":null,"zip":null,"country":null,"phone_number":null},"payment_method":{"token":"1rpKvP8zOUhj4Y9EDrIoIYQzzD5","created_at":"2017-06-26T17:04:38Z","updated_at":"2018-11-07T15:10:26Z","email":"joey@example.com","data":{"my_payment_method_identifier":"448","extra_stuff":{"some_other_things":"Can be anything really"}},"storage_state":"retained","test":true,"metadata":{"key":"string value","another_key":123,"final_key":true},"last_four_digits":"1111","first_six_digits":"411111","card_type":"visa","first_name":"Newfirst","last_name":"Newlast","month":3,"year":2032,"address1":null,"address2":null,"city":null,"state":null,"zip":null,"country":null,"phone_number":null,"company":null,"full_name":"Newfirst Newlast","eligible_for_card_updater":null,"shipping_address1":null,"shipping_address2":null,"shipping_city":null,"shipping_state":null,"shipping_zip":null,"shipping_country":null,"shipping_phone_number":null,"payment_method_type":"credit_card","bin_metadata":{"card_brand":"DISCOVER","card_category":"PERSONAL","card_type":"CREDIT","issuing_bank":"DISCOVER BANK","issuing_country_iso_number":"840","issuing_country_iso_a2_code":"US","issuing_country_iso_a3_code":"USA","issuing_country_iso_name":"UNITED STATES","issuing_bank_phone_number":"1 (800) 347-7000","issuing_bank_website":"HTTPS://WWW.DISCOVER.COM/","bin_type":"PERSONAL","regulated":"Y","max_pan_length":19,"message":"Successful"},"errors":[],"fingerprint":"e3cef43464fc832f6e04f187df25af497994","verification_value":"","number":"XXXX-XXXX-XXXX-1111"},"network_tokenization":{"attempted":false,"token_status":"active","errors":[{"key":"cryptogram_error","message":"Cryptogram could not be successfully retrieved for Network Token.","action":"attempt_network_token"}]}}}},"application/xml":{"value":"\n\n true\n 2025-06-07T15:10:26Z\n 2025-06-07T15:10:26Z\n true\n succeeded\n 7H6kWRX0jxtaniT4em8ZfRMfcjR\n Verification\n \n \n \n \n \n \n \n \n \n \n 59\n 20\n \n true\n false\n messages.transaction_succeeded\n Succeeded!\n T11bJAANtTWnxl36GYjKWvbNK0g\n test\n \n true\n Successful verify\n \n \n \n \n false\n false\n \n \n false\n \n 2018-11-07T15:10:26Z\n 2018-11-07T15:10:26Z\n \n \n Newfirst Newlast\n \n \n \n \n \n \n \n \n \n 1rpKvP8zOUhj4Y9EDrIoIYQzzD5\n 2017-06-26T17:04:38Z\n 2018-11-07T15:10:26Z\n joey@example.com\n \n 448\n \n Can be anything really\n \n \n retained\n true\n \n string value\n 123\n true\n \n 1111\n 411111\n visa\n Newfirst\n Newlast\n 3\n 2032\n \n \n \n \n \n \n \n \n Newfirst Newlast\n \n \n \n \n \n \n \n \n credit_card\n \n DISCOVER\n PERSONAL\n CREDIT\n DISCOVER BANK\n 840\n US\n USA\n UNITED STATES\n 1 (800) 347-7000\n HTTPS://WWW.DISCOVER.COM/\n PERSONAL\n Y\n 19\n Successful\n \n \n e3cef43464fc832f6e04f187df25af497994\n \n XXXX-XXXX-XXXX-1111\n \n \n false\n active\n \n \n cryptogram_error\n Cryptogram could not be successfully retrieved for Network Token.\n attempt_network_token\n \n \n \n\n"}}},"application/json":{"schema":{"$ref":"#/components/schemas/verify_response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/verify_response"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}},"422":{"description":"Unprocessable Entity","content":{"Missing request parameter":{"examples":{"application/json":{"value":[{"key":"errors.payment_method_or_payment_method_token_required","message":"You must specify a valid 'payment_method' or valid 'payment_method_token' parameter."}]},"application/xml":{"value":" \n errors.payment_method_or_payment_method_token_required\n You must specify a valid 'payment_method' or valid 'payment_method_token' parameter.\n \n"}}},"Gateway does not support verify":{"examples":{"application/json":{"value":[{"key":"errors.gateway_does_not_support_ability","message":"Unable to process the transaction because the gateway does not support verify.","ability":"verify"}]},"application/xml":{"value":" \n errors.gateway_does_not_support_ability\n Unable to process the transaction because the gateway does not support verify.\n verify\n \n"}}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/verify"},"examples":{"Provision Network Token":{"summary":"Attempt to Provision Network Token","value":{"transaction":{"payment_method_token":"","retain_on_success":true,"provision_network_token":true}}},"Attempt Network Token":{"summary":"Attempt to Verify with Network Token","value":{"transaction":{"payment_method_token":"","attempt_network_token":true}}}}},"application/xml":{"schema":{"$ref":"#/components/schemas/verify"},"examples":{"Provision Network Token":{"summary":"Attempt to Provision Network Token","value":{"transaction":{"payment_method_token":"","retain_on_success":true,"provision_network_token":true}}},"Attempt Network Token":{"summary":"Attempt to Verify with Network Token","value":{"transaction":{"payment_method_token":"","attempt_network_token":true}}}}}}}}},"/transactions/{transaction_token}/void":{"post":{"summary":"Void a transaction","tags":["void"],"security":[{"basic_auth":[]}],"operationId":"void-transaction","description":"Cancel an `authorization` transaction or a `capture`/`purchase` transaction that hasn’t yet settled at the merchant account.\n\nThis API call can also be used to cancel a `verify` transaction that was part of the Ebanx customer enrollment process. To learn more about this visit [Ebanx Gateway](https://developer.spreedly.com/docs/ebanx-gateway-guide).\n","parameters":[{"$ref":"#/components/parameters/transaction_token"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/void_response"}},"application/xml":{"schema":{"$ref":"#/components/schemas/void_response"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/errors"}},"application/xml":{"schema":{"$ref":"#/components/schemas/errors"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/unsupported_error"}},"application/xml":{"schema":{"$ref":"#/components/schemas/unsupported_error"}}}}}}}}}