diff --git a/.devcontainer/README.md b/.devcontainer/README.md
index 396929a..b645b87 100644
--- a/.devcontainer/README.md
+++ b/.devcontainer/README.md
@@ -1,4 +1,9 @@
+
+

+
+
+
> **Remember to shutdown a GitHub Codespace when it is not in use!**
# Dev Containers Quick Start
diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock
index 465f027..3bbd0b9 100644
--- a/.speakeasy/gen.lock
+++ b/.speakeasy/gen.lock
@@ -1,17 +1,23 @@
lockVersion: 2.0.0
id: 59dcfa56-8330-4162-8246-092811fc63e8
management:
- docChecksum: eb9c846a65c4ee77004d8294d5b023b0
+ docChecksum: e4e324e012554274042fefddab9462cf
docVersion: 1.0.1
- speakeasyVersion: 1.631.4
- generationVersion: 2.716.16
- releaseVersion: 0.5.6
- configChecksum: 5c3946002697625b2cb1ae3a4dfce9af
+ speakeasyVersion: 1.697.5
+ generationVersion: 2.799.0
+ releaseVersion: 0.6.0
+ configChecksum: 48d1e78591b7aea2d670cf3101a7c8b5
+ repoURL: https://github.com/BoltApp/Bolt-Python-SDK.git
+ installationURL: https://github.com/BoltApp/Bolt-Python-SDK.git
published: true
+persistentEdits:
+ generation_id: 0b431dc8-e63a-40f2-bc55-786e8f97273b
+ pristine_commit_hash: 3e330845b0549d488a60f05f55f7c6db8dcaf79c
+ pristine_tree_hash: 2f65abd7d9e51d76bc9ea86484ed27c8644cfc04
features:
python:
additionalDependencies: 1.0.0
- core: 5.22.0
+ core: 5.23.18
defaultEnabledRetries: 0.2.0
devContainers: 3.0.0
enumUnions: 0.1.0
@@ -20,615 +26,2419 @@ features:
flattening: 3.1.1
globalSecurity: 3.0.4
globalSecurityCallbacks: 1.0.0
- globalServerURLs: 3.1.1
+ globalServerURLs: 3.2.0
methodArguments: 1.0.2
methodSecurity: 3.0.1
- nullables: 1.0.1
+ nullables: 1.0.2
responseFormat: 1.0.1
- retries: 3.0.2
- sdkHooks: 1.1.0
- unions: 3.0.5
-generatedFiles:
- - .devcontainer/README.md
- - .devcontainer/devcontainer.json
- - .devcontainer/setup.sh
- - .gitattributes
- - .vscode/settings.json
- - USAGE.md
- - docs/errors/errorsboltapiresponse.md
- - docs/errors/errorsoauthserverresponse.md
- - docs/errors/unprocessableentityerror.md
- - docs/models/accountdetails.md
- - docs/models/accountdetailsaddressview.md
- - docs/models/accountdetailsaddressviewpriority.md
- - docs/models/accountidentifierstatus.md
- - docs/models/action.md
- - docs/models/addaddresspriority.md
- - docs/models/addaddressrequest.md
- - docs/models/addaddressresponse.md
- - docs/models/addaddresssecurity.md
- - docs/models/addpaymentmethodnetwork.md
- - docs/models/addpaymentmethodpriority.md
- - docs/models/addpaymentmethodrequest.md
- - docs/models/addpaymentmethodrequestbody.md
- - docs/models/addpaymentmethodsecurity.md
- - docs/models/addpaymentmethodtokentype.md
- - docs/models/address.md
- - docs/models/addressaccount.md
- - docs/models/addresschangerequestmetadataview.md
- - docs/models/addresschangeview.md
- - docs/models/addressview.md
- - docs/models/addressviewpriority.md
- - docs/models/amounts.md
- - docs/models/amountview.md
- - docs/models/authorizationverificationstatus.md
- - docs/models/authorizetransactionrequest.md
- - docs/models/authorizetransactionrequestbody.md
- - docs/models/authorizetransactionsecurity.md
- - docs/models/authrejectiondetails.md
- - docs/models/authrejectiondetailsview.md
- - docs/models/authverificationstatus.md
- - docs/models/avsresponse.md
- - docs/models/capturestatus.md
- - docs/models/capturetransactionrequest.md
- - docs/models/capturetransactionwithreference.md
- - docs/models/captureview.md
- - docs/models/captureviewtype.md
- - docs/models/carddisplaynetwork.md
- - docs/models/cardnetwork.md
- - docs/models/cardstatus.md
- - docs/models/cardtokentype.md
- - docs/models/cart.md
- - docs/models/cartaddon.md
- - docs/models/cartcreate.md
- - docs/models/cartdiscount.md
- - docs/models/cartdiscountdiscountcategory.md
- - docs/models/cartdiscounttype.md
- - docs/models/cartfee.md
- - docs/models/cartitem.md
- - docs/models/cartitemcustomization.md
- - docs/models/cartitemgiftoption.md
- - docs/models/cartitemproperty.md
- - docs/models/cartitempropertyview.md
- - docs/models/cartitemshipmenttype.md
- - docs/models/cartitemtype.md
- - docs/models/cartloyaltyrewards.md
- - docs/models/cartloyaltyrewardsview.md
- - docs/models/cartshipment.md
- - docs/models/cartshipmenttype.md
- - docs/models/cartview.md
- - docs/models/channel.md
- - docs/models/chargebackdetails.md
- - docs/models/chargebackdetailsview.md
- - docs/models/chargebackeventview.md
- - docs/models/chargebackreasoncode.md
- - docs/models/chargebackrepresentmentresult.md
- - docs/models/checkoutsetup.md
- - docs/models/consumerbillingaddress.md
- - docs/models/consumermembershipstatus.md
- - docs/models/consumerselfview.md
- - docs/models/consumersummaryview.md
- - docs/models/consumerusermembership.md
- - docs/models/createaccountinput.md
- - docs/models/createaccountrequest.md
- - docs/models/createtestingshopperaccountrequest.md
- - docs/models/createwebhookrequest.md
- - docs/models/createwebhookresponse.md
- - docs/models/credit.md
- - docs/models/creditcard.md
- - docs/models/creditcardauthorizationreason.md
- - docs/models/creditcardauthorizationstatus.md
- - docs/models/creditcardauthorizationview.md
- - docs/models/creditcardcaptureview.md
- - docs/models/creditcardcreditview.md
- - docs/models/creditcardcreditviewstatus.md
- - docs/models/creditcardpriority.md
- - docs/models/creditcardtokentype.md
- - docs/models/creditcarduser.md
- - docs/models/creditcardview.md
- - docs/models/creditcardvoid.md
- - docs/models/creditcardvoidcause.md
- - docs/models/creditcardvoidstatus.md
- - docs/models/creditcardvoidview.md
- - docs/models/customerliststatus.md
- - docs/models/customfieldfullresponseview.md
- - docs/models/customfieldresponseview.md
- - docs/models/customfields.md
- - docs/models/customfieldscontext.md
- - docs/models/customfieldview.md
- - docs/models/customfieldviewcheckoutstep.md
- - docs/models/customfieldviewcontext.md
- - docs/models/customization.md
- - docs/models/cvvresponse.md
- - docs/models/decision.md
- - docs/models/deleteaddressrequest.md
- - docs/models/deleteaddresssecurity.md
- - docs/models/deletepaymentmethodrequest.md
- - docs/models/deletepaymentmethodsecurity.md
- - docs/models/deletewebhookrequest.md
- - docs/models/detectaccountrequest.md
- - docs/models/digitaldelivery.md
- - docs/models/editaddresspriority.md
- - docs/models/editaddressrequest.md
- - docs/models/editaddressresponse.md
- - docs/models/editaddresssecurity.md
- - docs/models/eligiblepaymentmethod.md
- - docs/models/emailpriority.md
- - docs/models/emails.md
- - docs/models/emailstatus.md
- - docs/models/emailview.md
- - docs/models/error.md
- - docs/models/errorboltapi.md
- - docs/models/eventgroupcreatewebhook.md
- - docs/models/eventsarraycreatewebhook.md
- - docs/models/frequency.md
- - docs/models/fulfillment.md
- - docs/models/fulfillmenttype.md
- - docs/models/fulfillmentview.md
- - docs/models/getaccountrequest.md
- - docs/models/getaccountsecurity.md
- - docs/models/getmerchantcallbacksrequest.md
- - docs/models/gettestcreditcardtokenresponse.md
- - docs/models/gettransactiondetailsrequest.md
- - docs/models/getwebhookrequest.md
- - docs/models/giftoptions.md
- - docs/models/giftoptionview.md
- - docs/models/hideapm.md
- - docs/models/hooktype.md
- - docs/models/iauthorizeresultview.md
- - docs/models/icartdiscountview.md
- - docs/models/icartdiscountviewdiscountcategory.md
- - docs/models/icartfeeview.md
- - docs/models/icartitemexternalinputs.md
- - docs/models/icartitemview.md
- - docs/models/icartitemviewshipmenttype.md
- - docs/models/icartitemviewtype.md
- - docs/models/icartshipmentview.md
- - docs/models/icartshipmentviewpackagedimension.md
- - docs/models/icartview.md
- - docs/models/icurrency.md
- - docs/models/icustomfieldview.md
- - docs/models/icustomfieldviewcheckoutstep.md
- - docs/models/icustomfieldviewcontext.md
- - docs/models/idescriptionpart.md
- - docs/models/idescriptiontooltip.md
- - docs/models/ifreeshippingdiscountview.md
- - docs/models/igiftoptionview.md
- - docs/models/instorecartshipment.md
- - docs/models/instorecartshipmentdistanceunit.md
- - docs/models/instoreshipment.md
- - docs/models/instoreshipment2.md
- - docs/models/instoreshipment2distanceunit.md
- - docs/models/iorderdynamiccontent.md
- - docs/models/iorderexternaldata.md
- - docs/models/iordermetadata.md
- - docs/models/iorderview.md
- - docs/models/item.md
- - docs/models/itemproperty.md
- - docs/models/itemshipmenttype.md
- - docs/models/iweight.md
- - docs/models/loginview.md
- - docs/models/manualdisputes.md
- - docs/models/manualdisputesstatus.md
- - docs/models/manualdisputeview.md
- - docs/models/manualdisputeviewstatus.md
- - docs/models/marketplacecommissionfee.md
- - docs/models/merchant.md
- - docs/models/merchantcallbacksinput.md
- - docs/models/merchantcallbacksinputcallbackurl.md
- - docs/models/merchantcallbacksview.md
- - docs/models/merchantcallbacksviewcallbackurl.md
- - docs/models/merchantcallbackurltype.md
- - docs/models/merchantcreditcardauthorization.md
- - docs/models/merchantcreditcardauthorizationprocessinginitiator.md
- - docs/models/merchantcreditcardauthorizationrecharge.md
- - docs/models/merchantcreditcardauthorizationrechargesource.md
- - docs/models/merchantcreditcardauthorizationsource.md
- - docs/models/merchantcreditcardreview.md
- - docs/models/merchantdivision.md
- - docs/models/merchantdivisionlogoview.md
- - docs/models/merchantdivisionsidentifiersview.md
- - docs/models/merchantdivisionsummaryview.md
- - docs/models/merchantidentifiersview.md
- - docs/models/merchantlogo.md
- - docs/models/merchantonboardingstatuscode.md
- - docs/models/merchantplatform.md
- - docs/models/merchantstatus.md
- - docs/models/metadatacomponent.md
- - docs/models/method.md
- - docs/models/mocktrackinginput.md
- - docs/models/mocktrackinginputstatus.md
- - docs/models/network.md
- - docs/models/oauthtokeninput.md
- - docs/models/oauthtokeninputgranttype.md
- - docs/models/oauthtokeninputrefresh.md
- - docs/models/oauthtokeninputrefreshgranttype.md
- - docs/models/oauthtokenrequest.md
- - docs/models/oauthtokenrequestbody.md
- - docs/models/oauthtokenresponse.md
- - docs/models/ordercreate.md
- - docs/models/orderdecision.md
- - docs/models/orderdecisiondetailsview.md
- - docs/models/orderexternaldataview.md
- - docs/models/ordertrackrequestbody.md
- - docs/models/ordertrackresponse.md
- - docs/models/orderview.md
- - docs/models/packagedimension.md
- - docs/models/packageweights.md
- - docs/models/paymentmethod.md
- - docs/models/paymentmethodaccount.md
- - docs/models/paymentmethodaccountpriority.md
- - docs/models/paymentmethodaccounttokentype.md
- - docs/models/paymentservice.md
- - docs/models/phonepriority.md
- - docs/models/phonestatus.md
- - docs/models/phoneswithcountrycode.md
- - docs/models/phoneview.md
- - docs/models/phoneviewpriority.md
- - docs/models/platformaccountstatus.md
- - docs/models/priority.md
- - docs/models/processinginitiator.md
- - docs/models/processor.md
- - docs/models/profile.md
- - docs/models/profileview.md
- - docs/models/querywebhooksrequest.md
- - docs/models/querywebhooksresponse.md
- - docs/models/refundtransactionrequest.md
- - docs/models/replaceaddresspriority.md
- - docs/models/replaceaddressrequest.md
- - docs/models/replaceaddressresponse.md
- - docs/models/replaceaddresssecurity.md
- - docs/models/representmentresult.md
- - docs/models/requestresult.md
- - docs/models/requeststatus.md
- - docs/models/response.md
- - docs/models/result.md
- - docs/models/reviewticket.md
- - docs/models/reviewticketview.md
- - docs/models/reviewtransactionrequest.md
- - docs/models/riskdecisionfactoryml.md
- - docs/models/riskinsightsyml.md
- - docs/models/riskmodelexternalresultview.md
- - docs/models/riskmodelresulcontributionview.md
- - docs/models/riskmodelresultview.md
- - docs/models/riskreviewstatus.md
- - docs/models/savedcreditcardview.md
- - docs/models/savedcreditcardviewtype.md
- - docs/models/savedpaypalaccountview.md
- - docs/models/savedpaypalaccountviewtype.md
- - docs/models/scope.md
- - docs/models/security.md
- - docs/models/sellersplit.md
- - docs/models/sellersplitamounts.md
- - docs/models/shoppermetadata.md
- - docs/models/split.md
- - docs/models/splitsview.md
- - docs/models/splitsviewtype.md
- - docs/models/statementsfiletype.md
- - docs/models/statementstype.md
- - docs/models/statementsviewrequestbody.md
- - docs/models/statementsviewresponse.md
- - docs/models/subscription.md
- - docs/models/testingaccountdetails.md
- - docs/models/testingaccountrequest.md
- - docs/models/totalweight.md
- - docs/models/trackingdetail.md
- - docs/models/trackingdetailstatus.md
- - docs/models/transactioncredit.md
- - docs/models/transactiondetails.md
- - docs/models/transactiondetailsview.md
- - docs/models/transactiondetailsviewviewstatus.md
- - docs/models/transactionindemnificationdecision.md
- - docs/models/transactionindemnificationreason.md
- - docs/models/transactionoperationalprocessor.md
- - docs/models/transactionprocessor.md
- - docs/models/transactionprocessorstatus.md
- - docs/models/transactionrejectiondetails.md
- - docs/models/transactionrejectiondetailsview.md
- - docs/models/transactionreviewview.md
- - docs/models/transactionsplitsview.md
- - docs/models/transactionsplitsviewtype.md
- - docs/models/transactionstatus.md
- - docs/models/transactiontimelineview.md
- - docs/models/transactiontimelineviewtype.md
- - docs/models/transactiontype.md
- - docs/models/transactionupdateinput.md
- - docs/models/transactionview.md
- - docs/models/transactionviewviewstatus.md
- - docs/models/type.md
- - docs/models/unit.md
- - docs/models/updateaccountprofilerequest.md
- - docs/models/updateaccountprofilesecurity.md
- - docs/models/updateprofile.md
- - docs/models/updatetransactionrequest.md
- - docs/models/useridentifier.md
- - docs/models/useridentity.md
- - docs/models/utils/retryconfig.md
- - docs/models/v1accountsview.md
- - docs/models/voidcause.md
- - docs/models/voidtransactionrequest.md
- - docs/models/webhook.md
- - docs/models/webhookeventgroup.md
- - docs/models/webhookstype.md
- - docs/sdks/account/README.md
- - docs/sdks/bolt/README.md
- - docs/sdks/configuration/README.md
- - docs/sdks/oauth/README.md
- - docs/sdks/orders/README.md
- - docs/sdks/statements/README.md
- - docs/sdks/testing/README.md
- - docs/sdks/transactions/README.md
- - docs/sdks/webhooks/README.md
- - poetry.toml
- - py.typed
- - pylintrc
- - pyproject.toml
- - scripts/publish.sh
- - src/bolt_api_sdk/__init__.py
- - src/bolt_api_sdk/_hooks/__init__.py
- - src/bolt_api_sdk/_hooks/sdkhooks.py
- - src/bolt_api_sdk/_hooks/types.py
- - src/bolt_api_sdk/_version.py
- - src/bolt_api_sdk/account.py
- - src/bolt_api_sdk/basesdk.py
- - src/bolt_api_sdk/configuration.py
- - src/bolt_api_sdk/errors/__init__.py
- - src/bolt_api_sdk/errors/apierror.py
- - src/bolt_api_sdk/errors/bolterror.py
- - src/bolt_api_sdk/errors/capturetransactionop.py
- - src/bolt_api_sdk/errors/errors_bolt_api_response.py
- - src/bolt_api_sdk/errors/errors_oauth_server_response.py
- - src/bolt_api_sdk/errors/no_response_error.py
- - src/bolt_api_sdk/errors/responsevalidationerror.py
- - src/bolt_api_sdk/httpclient.py
- - src/bolt_api_sdk/models/__init__.py
- - src/bolt_api_sdk/models/account_details.py
- - src/bolt_api_sdk/models/account_details_address_view.py
- - src/bolt_api_sdk/models/account_identifier_status.py
- - src/bolt_api_sdk/models/addaddressop.py
- - src/bolt_api_sdk/models/addpaymentmethodop.py
- - src/bolt_api_sdk/models/address.py
- - src/bolt_api_sdk/models/address_account.py
- - src/bolt_api_sdk/models/address_change_request_metadata_view.py
- - src/bolt_api_sdk/models/address_change_view.py
- - src/bolt_api_sdk/models/address_view.py
- - src/bolt_api_sdk/models/amount_view.py
- - src/bolt_api_sdk/models/amounts.py
- - src/bolt_api_sdk/models/auth_rejection_details.py
- - src/bolt_api_sdk/models/auth_rejection_details_view.py
- - src/bolt_api_sdk/models/authorization_verification_status.py
- - src/bolt_api_sdk/models/authorizetransactionop.py
- - src/bolt_api_sdk/models/capture_status.py
- - src/bolt_api_sdk/models/capture_transaction_with_reference.py
- - src/bolt_api_sdk/models/capture_view.py
- - src/bolt_api_sdk/models/capturetransactionop.py
- - src/bolt_api_sdk/models/card_display_network.py
- - src/bolt_api_sdk/models/card_network.py
- - src/bolt_api_sdk/models/card_status.py
- - src/bolt_api_sdk/models/card_token_type.py
- - src/bolt_api_sdk/models/cart_add_on.py
- - src/bolt_api_sdk/models/cart_create.py
- - src/bolt_api_sdk/models/cart_discount.py
- - src/bolt_api_sdk/models/cart_fee.py
- - src/bolt_api_sdk/models/cart_item.py
- - src/bolt_api_sdk/models/cart_item_customization.py
- - src/bolt_api_sdk/models/cart_item_gift_option.py
- - src/bolt_api_sdk/models/cart_item_property.py
- - src/bolt_api_sdk/models/cart_item_property_view.py
- - src/bolt_api_sdk/models/cart_loyalty_rewards.py
- - src/bolt_api_sdk/models/cart_loyalty_rewards_view.py
- - src/bolt_api_sdk/models/cart_shipment.py
- - src/bolt_api_sdk/models/cart_shipment_type.py
- - src/bolt_api_sdk/models/cart_view.py
- - src/bolt_api_sdk/models/chargeback_details.py
- - src/bolt_api_sdk/models/chargeback_details_view.py
- - src/bolt_api_sdk/models/chargeback_event_view.py
- - src/bolt_api_sdk/models/chargeback_reason_code.py
- - src/bolt_api_sdk/models/chargeback_representment_result.py
- - src/bolt_api_sdk/models/consumer_billing_address.py
- - src/bolt_api_sdk/models/consumer_membership_status.py
- - src/bolt_api_sdk/models/consumer_self_view.py
- - src/bolt_api_sdk/models/consumer_summary_view.py
- - src/bolt_api_sdk/models/consumer_user_membership.py
- - src/bolt_api_sdk/models/create_account_input.py
- - src/bolt_api_sdk/models/createaccountop.py
- - src/bolt_api_sdk/models/createtestingshopperaccountop.py
- - src/bolt_api_sdk/models/createwebhookop.py
- - src/bolt_api_sdk/models/credit.py
- - src/bolt_api_sdk/models/credit_card.py
- - src/bolt_api_sdk/models/credit_card_authorization_reason.py
- - src/bolt_api_sdk/models/credit_card_authorization_status.py
- - src/bolt_api_sdk/models/credit_card_authorization_view.py
- - src/bolt_api_sdk/models/credit_card_capture_view.py
- - src/bolt_api_sdk/models/credit_card_credit_view.py
- - src/bolt_api_sdk/models/credit_card_user.py
- - src/bolt_api_sdk/models/credit_card_view.py
- - src/bolt_api_sdk/models/credit_card_void.py
- - src/bolt_api_sdk/models/credit_card_void_cause.py
- - src/bolt_api_sdk/models/credit_card_void_status.py
- - src/bolt_api_sdk/models/credit_card_void_view.py
- - src/bolt_api_sdk/models/custom_field_full_response_view.py
- - src/bolt_api_sdk/models/custom_field_response_view.py
- - src/bolt_api_sdk/models/custom_field_view.py
- - src/bolt_api_sdk/models/custom_fields.py
- - src/bolt_api_sdk/models/customer_list_status.py
- - src/bolt_api_sdk/models/deleteaddressop.py
- - src/bolt_api_sdk/models/deletepaymentmethodop.py
- - src/bolt_api_sdk/models/deletewebhookop.py
- - src/bolt_api_sdk/models/detectaccountop.py
- - src/bolt_api_sdk/models/digital_delivery.py
- - src/bolt_api_sdk/models/editaddressop.py
- - src/bolt_api_sdk/models/eligible_payment_method.py
- - src/bolt_api_sdk/models/email_priority.py
- - src/bolt_api_sdk/models/email_status.py
- - src/bolt_api_sdk/models/email_view.py
- - src/bolt_api_sdk/models/emails.py
- - src/bolt_api_sdk/models/error_bolt_api.py
- - src/bolt_api_sdk/models/event_group_create_webhook.py
- - src/bolt_api_sdk/models/events_array_create_webhook.py
- - src/bolt_api_sdk/models/fulfillment.py
- - src/bolt_api_sdk/models/fulfillment_view.py
- - src/bolt_api_sdk/models/getaccountop.py
- - src/bolt_api_sdk/models/getmerchantcallbacksop.py
- - src/bolt_api_sdk/models/gettestcreditcardtokenop.py
- - src/bolt_api_sdk/models/gettransactiondetailsop.py
- - src/bolt_api_sdk/models/getwebhookop.py
- - src/bolt_api_sdk/models/gift_option_view.py
- - src/bolt_api_sdk/models/gift_options.py
- - src/bolt_api_sdk/models/i_authorize_result_view.py
- - src/bolt_api_sdk/models/i_cart_discount_view.py
- - src/bolt_api_sdk/models/i_cart_fee_view.py
- - src/bolt_api_sdk/models/i_cart_item_external_inputs.py
- - src/bolt_api_sdk/models/i_cart_item_view.py
- - src/bolt_api_sdk/models/i_cart_shipment_view.py
- - src/bolt_api_sdk/models/i_cart_view.py
- - src/bolt_api_sdk/models/i_currency.py
- - src/bolt_api_sdk/models/i_custom_field_view.py
- - src/bolt_api_sdk/models/i_description_part.py
- - src/bolt_api_sdk/models/i_description_tooltip.py
- - src/bolt_api_sdk/models/i_free_shipping_discount_view.py
- - src/bolt_api_sdk/models/i_gift_option_view.py
- - src/bolt_api_sdk/models/i_order_dynamic_content.py
- - src/bolt_api_sdk/models/i_order_external_data.py
- - src/bolt_api_sdk/models/i_order_metadata.py
- - src/bolt_api_sdk/models/i_order_view.py
- - src/bolt_api_sdk/models/i_weight.py
- - src/bolt_api_sdk/models/in_store_cart_shipment.py
- - src/bolt_api_sdk/models/in_store_shipment.py
- - src/bolt_api_sdk/models/in_store_shipment2.py
- - src/bolt_api_sdk/models/item.py
- - src/bolt_api_sdk/models/item_property.py
- - src/bolt_api_sdk/models/item_shipment_type.py
- - src/bolt_api_sdk/models/login_view.py
- - src/bolt_api_sdk/models/manual_dispute_view.py
- - src/bolt_api_sdk/models/manual_disputes.py
- - src/bolt_api_sdk/models/marketplace_commission_fee.py
- - src/bolt_api_sdk/models/merchant.py
- - src/bolt_api_sdk/models/merchant_callback_url_type.py
- - src/bolt_api_sdk/models/merchant_callbacks_input.py
- - src/bolt_api_sdk/models/merchant_callbacks_view.py
- - src/bolt_api_sdk/models/merchant_credit_card_authorization.py
- - src/bolt_api_sdk/models/merchant_credit_card_authorization_recharge.py
- - src/bolt_api_sdk/models/merchant_credit_card_review.py
- - src/bolt_api_sdk/models/merchant_division.py
- - src/bolt_api_sdk/models/merchant_division_logo_view.py
- - src/bolt_api_sdk/models/merchant_division_summary_view.py
- - src/bolt_api_sdk/models/merchant_divisions_identifiers_view.py
- - src/bolt_api_sdk/models/merchant_identifiers_view.py
- - src/bolt_api_sdk/models/merchant_logo.py
- - src/bolt_api_sdk/models/merchant_onboarding_status_code.py
- - src/bolt_api_sdk/models/merchant_platform.py
- - src/bolt_api_sdk/models/merchant_status.py
- - src/bolt_api_sdk/models/metadata_component.py
- - src/bolt_api_sdk/models/mock_tracking_input.py
- - src/bolt_api_sdk/models/o_auth_token_input.py
- - src/bolt_api_sdk/models/o_auth_token_input_refresh.py
- - src/bolt_api_sdk/models/o_auth_token_response.py
- - src/bolt_api_sdk/models/oauthtokenop.py
- - src/bolt_api_sdk/models/order_create.py
- - src/bolt_api_sdk/models/order_decision.py
- - src/bolt_api_sdk/models/order_decision_details_view.py
- - src/bolt_api_sdk/models/order_external_data_view.py
- - src/bolt_api_sdk/models/order_track_requestbody.py
- - src/bolt_api_sdk/models/order_track_response.py
- - src/bolt_api_sdk/models/order_view.py
- - src/bolt_api_sdk/models/package_dimension.py
- - src/bolt_api_sdk/models/package_weights.py
- - src/bolt_api_sdk/models/payment_method_account.py
- - src/bolt_api_sdk/models/payment_service.py
- - src/bolt_api_sdk/models/phone_priority.py
- - src/bolt_api_sdk/models/phone_status.py
- - src/bolt_api_sdk/models/phone_view.py
- - src/bolt_api_sdk/models/phones_with_country_code.py
- - src/bolt_api_sdk/models/priority.py
- - src/bolt_api_sdk/models/processing_initiator.py
- - src/bolt_api_sdk/models/profile.py
- - src/bolt_api_sdk/models/profile_view.py
- - src/bolt_api_sdk/models/querywebhooksop.py
- - src/bolt_api_sdk/models/refundtransactionop.py
- - src/bolt_api_sdk/models/replaceaddressop.py
- - src/bolt_api_sdk/models/request_result.py
- - src/bolt_api_sdk/models/request_status.py
- - src/bolt_api_sdk/models/review_ticket.py
- - src/bolt_api_sdk/models/review_ticket_view.py
- - src/bolt_api_sdk/models/reviewtransactionop.py
- - src/bolt_api_sdk/models/risk_decision_factor_yml.py
- - src/bolt_api_sdk/models/risk_insights_yml.py
- - src/bolt_api_sdk/models/risk_model_external_result_view.py
- - src/bolt_api_sdk/models/risk_model_resul_contribution_view.py
- - src/bolt_api_sdk/models/risk_model_result_view.py
- - src/bolt_api_sdk/models/risk_review_status.py
- - src/bolt_api_sdk/models/saved_credit_card_view.py
- - src/bolt_api_sdk/models/saved_paypal_account_view.py
- - src/bolt_api_sdk/models/security.py
- - src/bolt_api_sdk/models/seller_split.py
- - src/bolt_api_sdk/models/seller_split_amounts.py
- - src/bolt_api_sdk/models/shopper_metadata.py
- - src/bolt_api_sdk/models/splits_view.py
- - src/bolt_api_sdk/models/statements_file_type.py
- - src/bolt_api_sdk/models/statements_type.py
- - src/bolt_api_sdk/models/statements_view_requestbody.py
- - src/bolt_api_sdk/models/statements_view_response.py
- - src/bolt_api_sdk/models/subscription.py
- - src/bolt_api_sdk/models/testing_account_details.py
- - src/bolt_api_sdk/models/testing_account_request.py
- - src/bolt_api_sdk/models/total_weight.py
- - src/bolt_api_sdk/models/tracking_detail.py
- - src/bolt_api_sdk/models/transaction_credit.py
- - src/bolt_api_sdk/models/transaction_details.py
- - src/bolt_api_sdk/models/transaction_details_view.py
- - src/bolt_api_sdk/models/transaction_indemnification_decision.py
- - src/bolt_api_sdk/models/transaction_indemnification_reason.py
- - src/bolt_api_sdk/models/transaction_operational_processor.py
- - src/bolt_api_sdk/models/transaction_processor.py
- - src/bolt_api_sdk/models/transaction_processor_status.py
- - src/bolt_api_sdk/models/transaction_rejection_details_view.py
- - src/bolt_api_sdk/models/transaction_review_view.py
- - src/bolt_api_sdk/models/transaction_splits_view.py
- - src/bolt_api_sdk/models/transaction_status.py
- - src/bolt_api_sdk/models/transaction_timeline_view.py
- - src/bolt_api_sdk/models/transaction_type.py
- - src/bolt_api_sdk/models/transaction_update_input.py
- - src/bolt_api_sdk/models/transaction_view.py
- - src/bolt_api_sdk/models/type.py
- - src/bolt_api_sdk/models/update_profile.py
- - src/bolt_api_sdk/models/updateaccountprofileop.py
- - src/bolt_api_sdk/models/updatetransactionop.py
- - src/bolt_api_sdk/models/user_identifier.py
- - src/bolt_api_sdk/models/user_identity.py
- - src/bolt_api_sdk/models/v1_accounts_view.py
- - src/bolt_api_sdk/models/voidtransactionop.py
- - src/bolt_api_sdk/models/webhook.py
- - src/bolt_api_sdk/models/webhook_event_group.py
- - src/bolt_api_sdk/models/webhooks_type.py
- - src/bolt_api_sdk/oauth.py
- - src/bolt_api_sdk/orders.py
- - src/bolt_api_sdk/py.typed
- - src/bolt_api_sdk/sdk.py
- - src/bolt_api_sdk/sdkconfiguration.py
- - src/bolt_api_sdk/statements.py
- - src/bolt_api_sdk/testing.py
- - src/bolt_api_sdk/transactions.py
- - src/bolt_api_sdk/types/__init__.py
- - src/bolt_api_sdk/types/basemodel.py
- - src/bolt_api_sdk/utils/__init__.py
- - src/bolt_api_sdk/utils/annotations.py
- - src/bolt_api_sdk/utils/datetimes.py
- - src/bolt_api_sdk/utils/enums.py
- - src/bolt_api_sdk/utils/eventstreaming.py
- - src/bolt_api_sdk/utils/forms.py
- - src/bolt_api_sdk/utils/headers.py
- - src/bolt_api_sdk/utils/logger.py
- - src/bolt_api_sdk/utils/metadata.py
- - src/bolt_api_sdk/utils/queryparams.py
- - src/bolt_api_sdk/utils/requestbodies.py
- - src/bolt_api_sdk/utils/retries.py
- - src/bolt_api_sdk/utils/security.py
- - src/bolt_api_sdk/utils/serializers.py
- - src/bolt_api_sdk/utils/unmarshal_json_response.py
- - src/bolt_api_sdk/utils/url.py
- - src/bolt_api_sdk/utils/values.py
- - src/bolt_api_sdk/webhooks.py
+ retries: 3.0.3
+ sdkHooks: 1.2.1
+ unions: 3.1.2
+trackedFiles:
+ .devcontainer/README.md:
+ id: b170c0f184ac
+ last_write_checksum: sha1:46f815afd7fa5b1b6dcceac7c40e8b7f5e88be33
+ pristine_git_object: b645b87e095aa9d093f486fb977b4aa6abe21c51
+ .devcontainer/devcontainer.json:
+ id: b34062a34eb1
+ last_write_checksum: sha1:fbbce5654b8990b172a9ffe841d7635cd51c495b
+ pristine_git_object: 7e67af9f5b5aeed56bab8dd84f75d3729df3ada1
+ .devcontainer/setup.sh:
+ id: 5f1dfbfeb8eb
+ last_write_checksum: sha1:36daffa8440cbf552f087c7953d70ef40e2c9d2e
+ pristine_git_object: 51086ac83a6f29a9b302575b2bc46b6660061e3d
+ .gitattributes:
+ id: 24139dae6567
+ last_write_checksum: sha1:53134de3ada576f37c22276901e1b5b6d85cd2da
+ pristine_git_object: 4d75d59008e4d8609876d263419a9dc56c8d6f3a
+ .vscode/settings.json:
+ id: 89aa447020cd
+ last_write_checksum: sha1:f84632c81029fcdda8c3b0c768d02b836fc80526
+ pristine_git_object: 8d79f0abb72526f1fb34a4c03e5bba612c6ba2ae
+ USAGE.md:
+ id: 3aed33ce6e6f
+ last_write_checksum: sha1:9ee41d1a8e937f55166cef284500067ad39ac707
+ pristine_git_object: 41aec12ff05fde9a5486540ff441991bc795cb98
+ docs/errors/errorsboltapiresponse.md:
+ id: a2fe34429e48
+ last_write_checksum: sha1:e708b011b912abdec49626a5daf3e1931000e6d7
+ pristine_git_object: 812c698176b33e58e99353f9b112773ebc353952
+ docs/errors/errorsoauthserverresponse.md:
+ id: ffceb539c7c0
+ last_write_checksum: sha1:2b8307ed2312cb0ee919506660b188b3fff53ce8
+ pristine_git_object: 7830f3798fa112aa6ba3ff1e8eb44a9a86764c60
+ docs/errors/unprocessableentityerror.md:
+ id: 49570373f8e1
+ last_write_checksum: sha1:35537d95600dfa6cb3c5a528c66eff16a5dff3fd
+ pristine_git_object: 185101880698dbf1bf85e9a28531454d5bff0d95
+ docs/models/accountdetails.md:
+ id: 0c7e90b02fbe
+ last_write_checksum: sha1:4d034ccd9ef20d6d5574f90c35ea541973b7349c
+ pristine_git_object: 8ef6940a02265e60f56204826e1ec87ba5afc528
+ docs/models/accountdetailsaddressview.md:
+ id: 3126fbefa101
+ last_write_checksum: sha1:1a287d57839fbc551fda69dda47d08c8975a5dd5
+ pristine_git_object: 3aed3a7335ff8c3991653057382ba9d256e1d797
+ docs/models/accountdetailsaddressviewpriority.md:
+ id: 9cacfab7041a
+ last_write_checksum: sha1:517c1f47daff7c80061d09979e9597ff0604378e
+ pristine_git_object: f9fa2a74ab1b39496a721b34656e143d22ec0c76
+ docs/models/accountidentifierstatus.md:
+ id: 9a5cb0458a5e
+ last_write_checksum: sha1:407dfbedefc821a48f840c2d50fcc93dbf0d759c
+ pristine_git_object: ce51582d64398d973834c5d9f3c2e7bada25433d
+ docs/models/action.md:
+ id: 3b583d6a609e
+ last_write_checksum: sha1:fa0aff12860ace34b9d50078a278d6a5d0352277
+ pristine_git_object: 36259c269e5ee01adff92e9c8745de6fb3f10f4a
+ docs/models/addaddresspriority.md:
+ id: 1df5eef28071
+ last_write_checksum: sha1:8cedde4ee0e000ed34792ba02f6ae388e1f1444a
+ pristine_git_object: 14a1a2fd2cd77c360d0d5e4e2505160ab22ab0d0
+ docs/models/addaddressrequest.md:
+ id: b2f8b100ce08
+ last_write_checksum: sha1:4bf44c5adda173c827f27e2adca15e1b3230cb4e
+ pristine_git_object: e4226cdd6dfdffa49c72ceb9a00b02f1db98d8db
+ docs/models/addaddressresponse.md:
+ id: a951b907b3dc
+ last_write_checksum: sha1:ab005b5107613c6051e31a21a66eb86f321bdbb4
+ pristine_git_object: 2da966f71090815b592c56775f9b2501778b022b
+ docs/models/addaddresssecurity.md:
+ id: 5fd4f9530871
+ last_write_checksum: sha1:eb3800c116553267e5284e4b161993f37d73c69e
+ pristine_git_object: 76ca44b31b2450952ae179106c61001ec3fd1fae
+ docs/models/addpaymentmethodnetwork.md:
+ id: c9a1c2a9db1c
+ last_write_checksum: sha1:0ce7c7b14c822cf0e4e5622f48e7e10372352016
+ pristine_git_object: 34bdb1a2cdfeb13d003cbf48fbb37293e291903a
+ docs/models/addpaymentmethodpriority.md:
+ id: eaa283037f84
+ last_write_checksum: sha1:9888b3fab2652cd162bed6d7c735f1f93bf9bb7e
+ pristine_git_object: 395c38833430b6531c83620390e093a6e0bb9d19
+ docs/models/addpaymentmethodrequest.md:
+ id: 043a77999d36
+ last_write_checksum: sha1:00479a7a0a2cd5d8e2149f0b3bba172db848055e
+ pristine_git_object: d3b95aee1fcfd930e43ca5d13a966d8404414c3f
+ docs/models/addpaymentmethodrequestbody.md:
+ id: 0fc9fba260c4
+ last_write_checksum: sha1:86562e298f98ca7f42b2c14cf529b63c6a14a119
+ pristine_git_object: a707143e97ce87efea977f7a284286ecd1b483f2
+ docs/models/addpaymentmethodsecurity.md:
+ id: b4f580553373
+ last_write_checksum: sha1:084c8a53c4bf6ae5a952752016e7d3f023d8ef96
+ pristine_git_object: bb218818f82e3370a08ca173e7eb61b9d002b24d
+ docs/models/addpaymentmethodtokentype.md:
+ id: 1aa39543b0ad
+ last_write_checksum: sha1:6a536cfee8731734028c0c2e475621afcd10aca1
+ pristine_git_object: 98472c25eb358bd5d2d051b46dd2e77215630b51
+ docs/models/address.md:
+ id: 308e7ce51a5c
+ last_write_checksum: sha1:68b631d8436581ea9bbe6d9fcd12cdeae59084d9
+ pristine_git_object: 5b85d54f01bc73965be30e0a519d1de3f4489e62
+ docs/models/addressaccount.md:
+ id: 36964abd0860
+ last_write_checksum: sha1:31aa62a4f5e34acb418d2911d9d6c698921318d9
+ pristine_git_object: 93bbac0f4a8a1c708feec027d431db2b556a9727
+ docs/models/addresschangerequestmetadataview.md:
+ id: 7db70680c342
+ last_write_checksum: sha1:f6218a6da600c738778c3e6974580d5da12ed693
+ pristine_git_object: 75b20ad3e76c3ce299aee2ced9de973d2e333345
+ docs/models/addresschangeview.md:
+ id: 487f857e01a5
+ last_write_checksum: sha1:7d102a6dcd6befed13048ff81aa89569b4f8b477
+ pristine_git_object: 0a1968272dd89d28398c37cfd7ef9bf2dd3c3982
+ docs/models/addressview.md:
+ id: f847c245f802
+ last_write_checksum: sha1:b64efde4975144a5d61e56360eb669a35b408e4e
+ pristine_git_object: d5028ba838563846d0fbc313e904a6bb0db858b9
+ docs/models/addressviewpriority.md:
+ id: c9ef7497eedb
+ last_write_checksum: sha1:8caf2810aca5c97775ae2c26d927f27797c94597
+ pristine_git_object: e44be85b1d32d687583902b7c6ad958875e6df5b
+ docs/models/amounts.md:
+ id: 763c2729bef8
+ last_write_checksum: sha1:7916dff7b11a7500c01b9f323505b29cffacd442
+ pristine_git_object: 9c507e319f49adf1dcda25030de9d0b7b96523bc
+ docs/models/amountview.md:
+ id: 43ec0ab18919
+ last_write_checksum: sha1:20e4d2891616bf4540b1f197e41a4768d5c2f749
+ pristine_git_object: 4c80f7697c0efddda26ae95d7b3ab2af93e1c2e3
+ docs/models/authorizationverificationstatus.md:
+ id: dae2d1df829b
+ last_write_checksum: sha1:85705b041d1dd15d1d267d1ca9f95814a677e01a
+ pristine_git_object: ba041a195b1e12825f29f36c6d26839e9c6c51c7
+ docs/models/authorizetransactionrequest.md:
+ id: 03efc7a277e6
+ last_write_checksum: sha1:5ddfb81b09b1c95b20dce6b0cbda5e3235c202a8
+ pristine_git_object: dc29f439a784bad5dcc05e5b636198862a9f8e1e
+ docs/models/authorizetransactionrequestbody.md:
+ id: e78ce3a436a8
+ last_write_checksum: sha1:b1f6cc4b38d671cbcfb8d9de4643f6df974d2a21
+ pristine_git_object: 6a3b36e7bafee1e8bc89b053316f08ac1b3ec333
+ docs/models/authorizetransactionsecurity.md:
+ id: b96f83a98851
+ last_write_checksum: sha1:e570d54b8efd7c3c96f3e0b55c3984391b78adaf
+ pristine_git_object: 39fe81e0e6747836623572c5891ed801c8054aed
+ docs/models/authrejectiondetails.md:
+ id: a0048ee20e82
+ last_write_checksum: sha1:4d0214333a0d12f4f835d28145c229ab440cb243
+ pristine_git_object: 8d09052bddf55835223f13cb1690b5a3eea893fd
+ docs/models/authrejectiondetailsview.md:
+ id: d36a50ebc1f8
+ last_write_checksum: sha1:02b778f0f64d371fa09577a152d58fdc2e41a9ab
+ pristine_git_object: 22921ebf9f3c32f1b8a8c733ff3e8c08cf61e1a3
+ docs/models/authverificationstatus.md:
+ id: 0702e0a8b2c3
+ last_write_checksum: sha1:5b6b514e3eed61a88d4248d202d5ee9eaac5e64b
+ pristine_git_object: c1220351e4b9fdbc721deb3eccec676046a8bb1a
+ docs/models/avsresponse.md:
+ id: 9a31dcd038fd
+ last_write_checksum: sha1:f04b0fdcda224e005467a6382ca97db5ac919b67
+ pristine_git_object: cb5f8a22ebe2bc9af97199a8968ec47c0bb7d9ff
+ docs/models/capturestatus.md:
+ id: 63921a2efab7
+ last_write_checksum: sha1:6dd367372c3456de0e2e6b524ed6a7a77fbda638
+ pristine_git_object: 61868eb943e2ae6eab4a77bf8726db83a23ae86b
+ docs/models/capturetransactionrequest.md:
+ id: 664f2cf318c0
+ last_write_checksum: sha1:7d54016d0c79e18fdea5b588398cfcea276901e6
+ pristine_git_object: 3c4b3b88f2d1e4ad4b209a4c77207c90b02de848
+ docs/models/capturetransactionwithreference.md:
+ id: 5b6dcf32026b
+ last_write_checksum: sha1:73c91c660f8654916479de21478abf9f2f6cf9da
+ pristine_git_object: 9a5bf7e0f0250ef3fb4f5e80588ca9430c24a698
+ docs/models/captureview.md:
+ id: 2d9a6c14684b
+ last_write_checksum: sha1:e3dcba6f9695a90abf12c7c3f0b970a394202e6f
+ pristine_git_object: fa3519c91d472d0d3f91131367d311968b701da7
+ docs/models/captureviewtype.md:
+ id: 71b9ba42e612
+ last_write_checksum: sha1:038af8317e948fa0f1fb43352e0b02d328a4cac8
+ pristine_git_object: 2770f11b4626db0a642e9caef5047ef88c7d924a
+ docs/models/carddisplaynetwork.md:
+ id: d7d70cb7fbcb
+ last_write_checksum: sha1:b084e93de2aec03b43e7227667c32607211258d5
+ pristine_git_object: 0bc31e25772e6a965e1e35c9f2bc6ec67da1f5ae
+ docs/models/cardnetwork.md:
+ id: 4e3c09fde8ce
+ last_write_checksum: sha1:20110bd1cda8443e732549b7b8d3a7ae8def12d1
+ pristine_git_object: 595c1928d687cbf7c979e2a9925e058a1c660e25
+ docs/models/cardstatus.md:
+ id: efa2c17f660f
+ last_write_checksum: sha1:de24e62f4106807b3ae2d3d7f17fc6083f29eb10
+ pristine_git_object: 5a94d051c222f5d9b388bde40112a2851e8458d5
+ docs/models/cardtokentype.md:
+ id: 40c0081d87e7
+ last_write_checksum: sha1:2d32d78f03ab382613124bb73987976fcdf31819
+ pristine_git_object: 15ab4ead1b1c6dc070a637618284c042c7b40bb2
+ docs/models/cart.md:
+ id: 4209738ecfb3
+ last_write_checksum: sha1:6605fc42482691abf56bee07b0ccb35560083df6
+ pristine_git_object: 8e0dab11deccd1089b85350a180f52ef9bfa6138
+ docs/models/cartaddon.md:
+ id: d2bcddb76c3f
+ last_write_checksum: sha1:583092721502a7b67a69695199b2a01753368d2c
+ pristine_git_object: b86b301b88f18ff97ca7a47ba252a2ed7f91b6c8
+ docs/models/cartcreate.md:
+ id: ca10d24ea508
+ last_write_checksum: sha1:5f3bc72e2e4bbac9000bca9ed61e289717d38b4c
+ pristine_git_object: e087faf32718ed8663f54f835aab15e862f10acf
+ docs/models/cartdiscount.md:
+ id: bee7edd5a5fe
+ last_write_checksum: sha1:da81123baf0945d55bbee8ceb56c5665e6550c96
+ pristine_git_object: ba3fb7e1a77e6fd41f2bd14678ddff32ab2e5b8a
+ docs/models/cartdiscountdiscountcategory.md:
+ id: 180c2f41825d
+ last_write_checksum: sha1:d6b4b05a7aa72b655109af26ed506ee35efa002b
+ pristine_git_object: fe5c16f8c241a21d9f07cb921e1282f9752af1ad
+ docs/models/cartdiscounttype.md:
+ id: 999d39d58923
+ last_write_checksum: sha1:f8a7bc27319d9e1b5b6ba9e832e57f8855489b65
+ pristine_git_object: fb70306aedc9132824f3ea98c0f97c1e826c4b63
+ docs/models/cartfee.md:
+ id: d84f7110917a
+ last_write_checksum: sha1:d1548683d7e5ed17e065d7e908080d72bf55a16b
+ pristine_git_object: bb5499e6c3c911a1dc65137596103794ef5e4da7
+ docs/models/cartitem.md:
+ id: c5bd6fe27df2
+ last_write_checksum: sha1:7fb93ce90d5183fea40e0a872f682b785076c074
+ pristine_git_object: ae0eec6d56d0a3705a5b93e4af0fa3e244131fca
+ docs/models/cartitemcustomization.md:
+ id: 3745822749a1
+ last_write_checksum: sha1:b34066c3b5b6e7eb7172c02c70904a119b3990b7
+ pristine_git_object: 2089e7fd50a295766e2ec28128ba19b562433389
+ docs/models/cartitemgiftoption.md:
+ id: 7741ccbe4b8b
+ last_write_checksum: sha1:7cfa8d6b8c02c0280e4dda2951f79ced480a43ec
+ pristine_git_object: 923eac31f4ba6fcdb319de85ce158e07b6ef7e00
+ docs/models/cartitemproperty.md:
+ id: 72d8dca379f3
+ last_write_checksum: sha1:208d51d067cb570d8f2e31ef8c5a52eb74cc3b0e
+ pristine_git_object: b065615db1324d7aeb2494efe05ad5c708b4f927
+ docs/models/cartitempropertyview.md:
+ id: 59c76005d33f
+ last_write_checksum: sha1:a6d74bf135a85f681b7ba61d4c6b3710f459a741
+ pristine_git_object: 8a3fcfecebb8f7b639825e330ee186287ddb8602
+ docs/models/cartitemshipmenttype.md:
+ id: 60b567f75480
+ last_write_checksum: sha1:5a8dddc28c8253e3dbf8a2ebd5a651709ea82ea6
+ pristine_git_object: 2f77968123de22c1a78a283bfcaa275b104abee6
+ docs/models/cartitemtype.md:
+ id: de8eda83c092
+ last_write_checksum: sha1:79e129c64ef75b71669000f13e4e1951d44ea9ff
+ pristine_git_object: 7158ee0d1e77f05266de1aac5444651ea6050262
+ docs/models/cartloyaltyrewards.md:
+ id: 8b38a1c6d5b8
+ last_write_checksum: sha1:6d505465716cd4f69306cd82ce980f60c3811b20
+ pristine_git_object: 993fb9a650e7bb43e917861e847f78c6c7e5fc45
+ docs/models/cartloyaltyrewardsview.md:
+ id: 2d30284dd690
+ last_write_checksum: sha1:2a9cd1e385aafb13480bba5ba0b474e0e6d6c933
+ pristine_git_object: 7e56b8fcc01fe7a6676c43ccb87dbc5a43daf892
+ docs/models/cartshipment.md:
+ id: 06cfab779af9
+ last_write_checksum: sha1:0432a2790d10375cf286a76e4cc076a4a2aee55c
+ pristine_git_object: 4a010ccb3f2ffc57350ae5028b45ccbd1d794ae4
+ docs/models/cartshipmenttype.md:
+ id: 5f7a1bce09ce
+ last_write_checksum: sha1:2cdaca2e923a5968d9f8c03fd22585b0829732e2
+ pristine_git_object: d05351adcbf49c6a73de93533683fe2eff693dc0
+ docs/models/cartview.md:
+ id: a0a7da5fa474
+ last_write_checksum: sha1:0a6acf9b133427e342394c431a551495d662a28b
+ pristine_git_object: 98b6d40c6e5c02065e7c7286449f618720dcf81f
+ docs/models/channel.md:
+ id: 198e8dc7e370
+ last_write_checksum: sha1:70ccb3b85d9c36892a50f8845ff07f57e1830bae
+ pristine_git_object: c0095fac133d3a0838c0f8bcb77902a0ccf485ba
+ docs/models/chargebackdetails.md:
+ id: 9ab665b3ab46
+ last_write_checksum: sha1:60ed9fa15798beb17df866da8400318065ab8650
+ pristine_git_object: a1ede4e4aa11a9836424587f1c0fedf19b5d60bd
+ docs/models/chargebackdetailsview.md:
+ id: e3dd7398e68c
+ last_write_checksum: sha1:6c59111b494808d6ee24eddae3fb3a548de0dd31
+ pristine_git_object: 1ae52e4d8f14e4d0d1365d5b9c618a3d4bab494d
+ docs/models/chargebackeventview.md:
+ id: d41cf6bee3c1
+ last_write_checksum: sha1:7fabaeaeec8369503208b54eaac8e028a5482150
+ pristine_git_object: 3ea8c863bd5596e1ae6f83d5e58909576dea67d6
+ docs/models/chargebackreasoncode.md:
+ id: 3a8a96cd87fe
+ last_write_checksum: sha1:4f7807fe0f4717c2a0f4e4e49ed4788bd9c344e1
+ pristine_git_object: 5ecad8e4fb4c1e9337949c4c71b62aafe2d39c0a
+ docs/models/chargebackrepresentmentresult.md:
+ id: 9e476eeef8f8
+ last_write_checksum: sha1:e708ee9f3e9362c7430091c70120b2588288842d
+ pristine_git_object: d22b1be70d7a3d11af5f0018c173846aa57814ba
+ docs/models/checkoutsetup.md:
+ id: ac8a86b1ca9a
+ last_write_checksum: sha1:c565b82c18bfab753deabb93a993262dbd51a76e
+ pristine_git_object: bac0d49e13ce6a3fc3037d9954eb0d0d1903aae3
+ docs/models/consumerbillingaddress.md:
+ id: 684e796f258f
+ last_write_checksum: sha1:040eff7c805dd9b8a12eaaec57d97a94aa237c44
+ pristine_git_object: 457aff4297f6e3638b107fb23135ac5a7d344ca1
+ docs/models/consumermembershipstatus.md:
+ id: b841e47dcac9
+ last_write_checksum: sha1:5dff0290b225f6f211fbd0e88112bc9250242ffc
+ pristine_git_object: 415fc7b76556c5ac6dbb962ea662d178c39f4fa9
+ docs/models/consumerselfview.md:
+ id: c1966340982c
+ last_write_checksum: sha1:ee2d030aa2dc23413ebfec012aaaf066b8182257
+ pristine_git_object: a08418d6883d57d0f9f3a745783baa87e1a26d76
+ docs/models/consumersummaryview.md:
+ id: 9566e4067543
+ last_write_checksum: sha1:4238926af14740e476ca5725e6eb3a10873cf5f2
+ pristine_git_object: f96922fbc456659dffffee07607c116f4211afc7
+ docs/models/consumerusermembership.md:
+ id: 1d21ef335030
+ last_write_checksum: sha1:3600e40c93b7fb461b08366ffb61e829d7f1d5df
+ pristine_git_object: 4c8694172cfb94245978fd6ffd5458b163f8b704
+ docs/models/createaccountinput.md:
+ id: eec5b7c5522f
+ last_write_checksum: sha1:fd90709fdb2f0ce24dcd15e025667292b8584303
+ pristine_git_object: d4dfdf382539d2500ac372dfa47eeab584c95821
+ docs/models/createaccountrequest.md:
+ id: 7ee5c335751e
+ last_write_checksum: sha1:bb48b8c43f968d31d6dafb6664f302cf5c48dd72
+ pristine_git_object: 68a59727b80816b7e1595ba7bfde7ed16d029ff9
+ docs/models/createtestingshopperaccountrequest.md:
+ id: 681eec4f9585
+ last_write_checksum: sha1:63144a779e521cd87b8a98801eccc0ff6d8243fe
+ pristine_git_object: 4910e2b8821a897cf7acce4f4573d6475ff5509e
+ docs/models/createwebhookrequest.md:
+ id: efcfd06b7272
+ last_write_checksum: sha1:14f067f70d2ee4f3b900558652bac4d52d91fec9
+ pristine_git_object: 6de54b03828272bfee255e28577cc47c00c7a3c9
+ docs/models/createwebhookresponse.md:
+ id: e21aa941ce05
+ last_write_checksum: sha1:993e13f8e67ce5e7a828408b41345ae1b84a0e3c
+ pristine_git_object: 52b48fb3638bf813c68132abf2215be1e971c5c8
+ docs/models/credit.md:
+ id: c1a47bcd81f9
+ last_write_checksum: sha1:910a25dbb19ced376a2770aabd0062401e5b470f
+ pristine_git_object: 3abfc9c379c8580416f080cd05235371ad584118
+ docs/models/creditcard.md:
+ id: 9fd0b88e656e
+ last_write_checksum: sha1:9772b84e067bed3f88ae9837d63e484539efcd6a
+ pristine_git_object: b7bd7fdce5f01afeff2b9b878b61ae1f1721f937
+ docs/models/creditcardauthorizationreason.md:
+ id: 96a626c4f9fd
+ last_write_checksum: sha1:a2d40de1c39b727958e3cc7ea9be2c7716c97499
+ pristine_git_object: a9197da01a9a7a8c49bcb68ed0e81547d3b4ee04
+ docs/models/creditcardauthorizationstatus.md:
+ id: 7536a108996b
+ last_write_checksum: sha1:758ff62c5baea54313607aecaa76351f65a7cf78
+ pristine_git_object: 595a9fa867bb264f3d87b195fe4a8ff1b1f5038e
+ docs/models/creditcardauthorizationview.md:
+ id: 223263baf92a
+ last_write_checksum: sha1:9a8fb666d7ad8efa60bd894740cb0c9239950152
+ pristine_git_object: 427afc3243b743a1412b5694d4738a4b9a67167e
+ docs/models/creditcardcaptureview.md:
+ id: 5778a8ab78dd
+ last_write_checksum: sha1:3b423c86db966f3e0bedf5acb8adb280237832e9
+ pristine_git_object: 5d3534ed61d9f8ba3653a70d467f3c4cd1b32e5f
+ docs/models/creditcardcreditview.md:
+ id: 2542589671cb
+ last_write_checksum: sha1:d91a9edbce15aa4fdb3eabd32f26c2c56838a989
+ pristine_git_object: 2fed39844682c6b35ace85a4a298ecb3c86e80e4
+ docs/models/creditcardcreditviewstatus.md:
+ id: c6207d864897
+ last_write_checksum: sha1:32b4b52f8b1bc40202dcf338d0ab6c45b0591ec6
+ pristine_git_object: 218cedef19a1609ab9b47322fe16c8443f7f2020
+ docs/models/creditcardpriority.md:
+ id: af17bf0d0656
+ last_write_checksum: sha1:f4740ca5a89e9184e585acb6ad9cd37ff4d50bba
+ pristine_git_object: a80089cd3f3112a8d95ff9c544bfdbf8b60b80c8
+ docs/models/creditcardtokentype.md:
+ id: b5dbe4d217b4
+ last_write_checksum: sha1:855a856b9dbf74a99f003a0babf72d4c1a571d17
+ pristine_git_object: 724edb550e16d9ddb15a2213475ccdbf7bf37d14
+ docs/models/creditcarduser.md:
+ id: "349885829075"
+ last_write_checksum: sha1:e8bb9a0502869fc3dec3fa4e56787b1aaac7695a
+ pristine_git_object: 79a6ade341d59b5095a85b1d4b625431ce3de343
+ docs/models/creditcardview.md:
+ id: 93132f72b748
+ last_write_checksum: sha1:fd8b20e064bb4c5745b3c234307d6579dc388597
+ pristine_git_object: cad35a7794bffd9e9cea7ca6d32dab209888ab4c
+ docs/models/creditcardvoid.md:
+ id: db15980e0c83
+ last_write_checksum: sha1:941d354198120a497ae8be38831665990fb2f96b
+ pristine_git_object: decc2057dccecc0c99849f01aaa61821e2e8f38b
+ docs/models/creditcardvoidcause.md:
+ id: d1496e71d38a
+ last_write_checksum: sha1:4c6054af923bf9ce378e55ed2ead75b6a7854c8f
+ pristine_git_object: 93feec70314a0cf258a4abdc4dee6383f121707a
+ docs/models/creditcardvoidstatus.md:
+ id: 3cd94bbed536
+ last_write_checksum: sha1:0db2b790354b0b3f6d637ace69e909319decc520
+ pristine_git_object: 684131fc9e36c4a2297ed950c834de3325ea789d
+ docs/models/creditcardvoidview.md:
+ id: 63f69ef3db80
+ last_write_checksum: sha1:d69af5563af9cd88cef68383fe96d8fd48b8e0c5
+ pristine_git_object: 74dd54b20084ef32912ed9e74298c58e960b3827
+ docs/models/customerliststatus.md:
+ id: 77c029ae4d47
+ last_write_checksum: sha1:f3e62fa7c1290d8198aa15c7c31345182e362739
+ pristine_git_object: b70be243a0448df9d66c6666b8e1360b4b61c832
+ docs/models/customfieldfullresponseview.md:
+ id: 487f8185331b
+ last_write_checksum: sha1:e3dfa46566a2840060895ea5c925497c0db4e055
+ pristine_git_object: 7fc6f1d723e567e3f14c459549f6baa1e55aa529
+ docs/models/customfieldresponseview.md:
+ id: 81c1ceab0832
+ last_write_checksum: sha1:16a95878f6284af9de3490923b928297eba40242
+ pristine_git_object: 208e5b6a3cd1282a0fc02a33aa53651e86c8baa3
+ docs/models/customfields.md:
+ id: a25b267e6c35
+ last_write_checksum: sha1:5f33a9647b793a48dbfb9c8f781f0f932c6d3d32
+ pristine_git_object: d205b36aff72311e45b773c1c81ba57b158d90de
+ docs/models/customfieldscontext.md:
+ id: 9d5533815a93
+ last_write_checksum: sha1:c2c5191a029b5fbc8ae7bdca01b871d802f078da
+ pristine_git_object: a0ede303e917a39c5e8a98c01e31f68e10c5f57d
+ docs/models/customfieldview.md:
+ id: fe4e91ae0f9b
+ last_write_checksum: sha1:d647ed8d5dd4d790e970950db84a8e512000d467
+ pristine_git_object: 54645929620abe7e420a6ae090743cbd85a0b232
+ docs/models/customfieldviewcheckoutstep.md:
+ id: 544f0646b44a
+ last_write_checksum: sha1:76ffbf1fdbfe5e47d5ce3cd0b9d5525b96797b70
+ pristine_git_object: 8d9113eba0f7916b9f25fd28bd8ba8aa4a8a00c3
+ docs/models/customfieldviewcontext.md:
+ id: 87fa723aae0a
+ last_write_checksum: sha1:dadf3cb6ea225d9257c3253bfea25c8fbdc90f8a
+ pristine_git_object: 68830d4ff6846d615d5cad5a977e99ba546ca6b9
+ docs/models/customization.md:
+ id: a67670d805f3
+ last_write_checksum: sha1:da8958f2c69bf64b3ab0d2c343e32aee8965481b
+ pristine_git_object: 7a38a3e3cd0b5199a31410dc420ca3e86a5a73f2
+ docs/models/cvvresponse.md:
+ id: 8be1dddc78c7
+ last_write_checksum: sha1:6a03b68c1fd319821ceb6843cabc9fd24e6189f6
+ pristine_git_object: 32e852eca6e2de2dd28f2a72d76d6b8706dbb828
+ docs/models/decision.md:
+ id: 599240f83696
+ last_write_checksum: sha1:f70a1cdfa9d409a4786b69bd3d36d2d02085f21a
+ pristine_git_object: 84b6e33b431e73cc66c7399a083b3708a8a4ad59
+ docs/models/deleteaddressrequest.md:
+ id: 4edb66a6047f
+ last_write_checksum: sha1:3ebc8d5288ee0f4347eeee51621aa20a16f984f3
+ pristine_git_object: e2da31b6723ddbf233e8f93064239c14526c7b7f
+ docs/models/deleteaddresssecurity.md:
+ id: 4d3e3c838b9d
+ last_write_checksum: sha1:c1f01703446aae7406ec4f3c4394bb253a033789
+ pristine_git_object: 4579747148a235ab7d9619013c1c9b83162e40b7
+ docs/models/deletepaymentmethodrequest.md:
+ id: 95edbf142860
+ last_write_checksum: sha1:1bc9f3aa2dcbffaf8ff5ed22efdc81698519df38
+ pristine_git_object: 235d4d7bafcd69bb6f20aa37f252614e5bf76634
+ docs/models/deletepaymentmethodsecurity.md:
+ id: 8593a9f0eb43
+ last_write_checksum: sha1:2b848441a346fc733b259828856d4856539471ab
+ pristine_git_object: 61ee0645fb30404a77dd7157a1ec54e52ecfb738
+ docs/models/deletewebhookrequest.md:
+ id: 45e7311fd62f
+ last_write_checksum: sha1:1605fef119838872cd1fb089d481f3738409d2d6
+ pristine_git_object: 4073f3abab0c9cf21ea0e1a4a22c0e3e9fa19a5c
+ docs/models/detectaccountrequest.md:
+ id: b2830f6dd4fc
+ last_write_checksum: sha1:9e3707987a5edfa6c0642e30f8b93d13d9a224ab
+ pristine_git_object: 22fecf0290ea675cc53a9c2646a62baf61ff793c
+ docs/models/digitaldelivery.md:
+ id: b81b9c92f0fa
+ last_write_checksum: sha1:1ed4cd2b1e973af7973bb788bb2497f56eeffbf7
+ pristine_git_object: d1efb92351405860d165efac4bdacbef579f475d
+ docs/models/editaddresspriority.md:
+ id: 24ae7cde8b37
+ last_write_checksum: sha1:1a5edeadb2d7f9cabb20641a7594411747838ffc
+ pristine_git_object: 20155892ff309528214878dee61981294f2b0c3e
+ docs/models/editaddressrequest.md:
+ id: 62cac75538ab
+ last_write_checksum: sha1:5bf52b8ec58424f437da9194f0eb5b517263092f
+ pristine_git_object: 5cacdc9a431d65912525877ca1bfd9724ce9b0ad
+ docs/models/editaddressresponse.md:
+ id: 1351e9bf4966
+ last_write_checksum: sha1:e8f3f716280d88ff35546fcf350b54d26e8f5293
+ pristine_git_object: b2cefa5e2d06c2c6ea7899f1407576ae75a044e8
+ docs/models/editaddresssecurity.md:
+ id: 5ba1d52200d1
+ last_write_checksum: sha1:9049412d5efe076328b432d328adcbaedcddb4d1
+ pristine_git_object: ced769342e1bd736cdc9e8ebe78266271e621d3d
+ docs/models/eligiblepaymentmethod.md:
+ id: f4d397853b4f
+ last_write_checksum: sha1:bd6a163176a23bc62c9917e335b44a4bb954477b
+ pristine_git_object: 3181997c471c43a03938f6b3666f2a45370b4fd3
+ docs/models/emailpriority.md:
+ id: 2db52f77820e
+ last_write_checksum: sha1:b9b801d13bdb2ab24e7b3eaa81b6ce40f927ca4b
+ pristine_git_object: d7775b83735cbe265c8acc6d8bb93fb6edb750e8
+ docs/models/emails.md:
+ id: 56fa478f9536
+ last_write_checksum: sha1:304f1f976638e00f2615aa7e46af39cd8099723f
+ pristine_git_object: 834a8a2abe3b1acde6f05cfc92016f9e24bc2330
+ docs/models/emailstatus.md:
+ id: cdb854aa6a7f
+ last_write_checksum: sha1:3837c2330405aa95a0a132e9b68fbf6ee61727ee
+ pristine_git_object: 47163a4964c81e681fb7075a4932fab18a6c9c36
+ docs/models/emailview.md:
+ id: dafe6b024eaa
+ last_write_checksum: sha1:3059adadf5dabb68218fac0b1c899fd12d9b26b1
+ pristine_git_object: 863f375399023f86cede20af51b6eeac51c6c00c
+ docs/models/error.md:
+ id: b96a6fb71e96
+ last_write_checksum: sha1:eddcc1308378f6bde46643d2d385a5cc362bebe9
+ pristine_git_object: b70cb67832bee84421d713e63311852919e8908d
+ docs/models/errorboltapi.md:
+ id: d9773b3b145b
+ last_write_checksum: sha1:eb7127b2f7e4d9383285f1f00429eeab540660e6
+ pristine_git_object: a7e420f7c8399057b75e7836eb3b8a01db1a8469
+ docs/models/eventgroupcreatewebhook.md:
+ id: 23641fbebf1d
+ last_write_checksum: sha1:5e16fb6ad4e2ab23dbce25c8e1d4b741d906ca70
+ pristine_git_object: 34d37d0a134b76a70afeca15ec2e0bdb55289a94
+ docs/models/eventsarraycreatewebhook.md:
+ id: 8cf54db90370
+ last_write_checksum: sha1:360c7f19033fa307abe5f5140db3438523234abc
+ pristine_git_object: f49c36205e3b93390379fa27c97cf09be11fc7d5
+ docs/models/frequency.md:
+ id: 1afa3fb14066
+ last_write_checksum: sha1:6446bb8dfe49d336fbfa080965d0cd553aae6352
+ pristine_git_object: dcf2f08e7448f99cdbe3a51375c1ede231f1ec20
+ docs/models/fulfillment.md:
+ id: 9892da94989b
+ last_write_checksum: sha1:918a2333b4a150f509058ed925f0afcf4ed05af5
+ pristine_git_object: 0c96ada22a6d026a2906b880c15cae53f8ade259
+ docs/models/fulfillmenttype.md:
+ id: 66154e7a53a9
+ last_write_checksum: sha1:4bfa836b96eacd1ae4124a11fe85ff2115806eb3
+ pristine_git_object: 54931f63c0b0a409d85b9eb5f54c2b717eb2532d
+ docs/models/fulfillmentview.md:
+ id: 9cebaf8cecd2
+ last_write_checksum: sha1:4e7dd7919b78df1cfe05e7d6fdd41119cafcc9d9
+ pristine_git_object: e96a20ee4aded3c520151eafc7f1db6be5eb59e3
+ docs/models/getaccountrequest.md:
+ id: bbff4fd82747
+ last_write_checksum: sha1:6aa501713cc96405593268cbb3c4476aca40248b
+ pristine_git_object: f9e69133edb42b98ba3bfddb512560a937564ee8
+ docs/models/getaccountsecurity.md:
+ id: d0afdab37f01
+ last_write_checksum: sha1:46ad4915d5d301885b90b7130e06803cddf4af65
+ pristine_git_object: a086a1229c56672c676f64401e48d9fd151460a1
+ docs/models/getmerchantcallbacksrequest.md:
+ id: 731b8834e685
+ last_write_checksum: sha1:7895f2493d2874d7e67e029c85871c09a42fb728
+ pristine_git_object: 6e85250219017304dd95ab59b54d2ddf6ab701b8
+ docs/models/gettestcreditcardtokenresponse.md:
+ id: db9a83f02664
+ last_write_checksum: sha1:c05c03d7e2c4d60c3df3e8c65a99c23c6054c3ca
+ pristine_git_object: 1f1caf9905d9b0b23becd8d36d9e05b2b7e69dd1
+ docs/models/gettransactiondetailsrequest.md:
+ id: e4e00ad84673
+ last_write_checksum: sha1:0b508b76060adecb1b3616dec2415fb6f093af70
+ pristine_git_object: 02ef99d9759333bbb7c1a91ff2b47461e47bc173
+ docs/models/getwebhookrequest.md:
+ id: efc5058ad05d
+ last_write_checksum: sha1:78c8d6d7b024d481563dd69d1b7f54b9b75d76ca
+ pristine_git_object: 215de6bf3ce07ad655024ecf2be19f185c5d31e4
+ docs/models/giftoptions.md:
+ id: cd9d756052ee
+ last_write_checksum: sha1:b8850f3c65887fd02a22403b7cd2a56607353b44
+ pristine_git_object: b5afb132ad69e56e9b2929075ee72a29dbb234f1
+ docs/models/giftoptionview.md:
+ id: 3471c38f0337
+ last_write_checksum: sha1:b99722280d13e1aec7afc5eb581c6315e8cdd2cc
+ pristine_git_object: a61daf54ab547d977895be7284f5bc8e0994e5eb
+ docs/models/hideapm.md:
+ id: 74562e0a2da5
+ last_write_checksum: sha1:11dcbd4fe96602aabe266bd5ae3fb23b99ca2d2b
+ pristine_git_object: aff18e9950c22706bf767cf6597db591a0ef9182
+ docs/models/hooktype.md:
+ id: 23a32598ec23
+ last_write_checksum: sha1:15c44806ebd6b25e0c988c7a5c04a4384661c1b8
+ pristine_git_object: 148d8d5e7dc963913539b54cf9fdfadffbaf41fc
+ docs/models/iauthorizeresultview.md:
+ id: a917ad55439d
+ last_write_checksum: sha1:7ecd1c66aaff16a07d43eada6318c0ca87329b52
+ pristine_git_object: 7c07efd548e038ade727b349f654a8b72f5c36f7
+ docs/models/icartdiscountview.md:
+ id: 1c073b7069fb
+ last_write_checksum: sha1:fa1739aab44b57848273f97fc3087598157d37ce
+ pristine_git_object: f22662a7a8131c2f28e2033594977413012e6216
+ docs/models/icartdiscountviewdiscountcategory.md:
+ id: 81798b9a62a5
+ last_write_checksum: sha1:b590d23f43b3ff33a1fdc8cd6fd22f2c9d2fc33b
+ pristine_git_object: 4e1b2cf79953bb21e16c834d87eb1c24e7b05f1f
+ docs/models/icartfeeview.md:
+ id: 16faef5cc3cd
+ last_write_checksum: sha1:00dc1666f31da274f103e525cf0b26bb8022379a
+ pristine_git_object: 9ac7e9ac0dfc3e9db364464270e3b4725bdb5bb1
+ docs/models/icartitemexternalinputs.md:
+ id: d9d0b35204a4
+ last_write_checksum: sha1:a8b451d90ebbec04e6e382bed47a8dfb70320b93
+ pristine_git_object: 8decf8c515c26adfd112b2d1a2e3c12a1c9d0408
+ docs/models/icartitemview.md:
+ id: 763f2ce4058e
+ last_write_checksum: sha1:04c958a2b70debb439b2825460050e32a1411c0b
+ pristine_git_object: 4b331a9297d651b04ada04e0bf21eaccec65938b
+ docs/models/icartitemviewshipmenttype.md:
+ id: 4ec3c625a667
+ last_write_checksum: sha1:90e352b24e76de18f408a5441c5e055f52c51299
+ pristine_git_object: a8412f8cc5ecd718a4a0c13627318fed5d76e7b7
+ docs/models/icartitemviewtype.md:
+ id: 7ab7d4db679e
+ last_write_checksum: sha1:28db993e28dad5915818dade1ae52025c331eb9f
+ pristine_git_object: 3a22f899d045db6a9c4ec155a5261fe519f0211a
+ docs/models/icartshipmentview.md:
+ id: 9af65b136f54
+ last_write_checksum: sha1:abf90d692ff5d9335027eda36cb31e16689d9659
+ pristine_git_object: 4970b6130fb0069bd81ab55a53db42fa3f0c6923
+ docs/models/icartshipmentviewpackagedimension.md:
+ id: 47457aba5f7d
+ last_write_checksum: sha1:6750d3224dbf80b5459ef063b9d93454c57d38f7
+ pristine_git_object: abf3962c13b08b110f6b0006c555fa22e5424d69
+ docs/models/icartview.md:
+ id: be9e8ab97a07
+ last_write_checksum: sha1:a06b3740aa6782f34c812d12b33cd4635541f933
+ pristine_git_object: 5a8bdb980aefe3c076505aae5bf7d39eb4e7eec9
+ docs/models/icurrency.md:
+ id: d3206d2ac05e
+ last_write_checksum: sha1:fcdc25e88936797b93299969f0a866c45b859831
+ pristine_git_object: 39db2a87ee9b6757821e471c7296f89cd634b772
+ docs/models/icustomfieldview.md:
+ id: d2d409365aa1
+ last_write_checksum: sha1:6a351290466095d6b2a407e903e2b6783ceb419d
+ pristine_git_object: cf6549641956c7adfd4adeb24d67da2473055dc9
+ docs/models/icustomfieldviewcheckoutstep.md:
+ id: 1e7087646cb3
+ last_write_checksum: sha1:88e0b81bb658bec18d316abb7b17faee20ba5bdc
+ pristine_git_object: bb269fea93fd189d73a924fb829cb1bf9f6c0b9e
+ docs/models/icustomfieldviewcontext.md:
+ id: f0f4bc1abe61
+ last_write_checksum: sha1:9954fc24ba25b748029f014f8f0dcf3d987b0263
+ pristine_git_object: f12765430ccecce5e1e7f87be3568a1dddf98137
+ docs/models/idescriptionpart.md:
+ id: fd31e9c5a6bb
+ last_write_checksum: sha1:f480b4205a830a73de6d2d91d065fb425e70dcc8
+ pristine_git_object: 46dec96332a369bac51344a5e2b64c2421e5c780
+ docs/models/idescriptiontooltip.md:
+ id: 77d769a52a6d
+ last_write_checksum: sha1:99557bc2732fc33b58b038fcef500801a1468fbd
+ pristine_git_object: c501a5bce2035fd7426178efe4a6e82e09d33b0a
+ docs/models/ifreeshippingdiscountview.md:
+ id: 41f1b6e59043
+ last_write_checksum: sha1:7633878fbb214509df9b24a8344cfdcbcf5f4c5e
+ pristine_git_object: 939f015add9f03b3badd87342122137b1b8d8dac
+ docs/models/igiftoptionview.md:
+ id: 2addd0fad721
+ last_write_checksum: sha1:f378e79bd86df65565bef64a8e3bd349dd65e2e5
+ pristine_git_object: 9292f887a7991ab5a1723158b0276e90c51e1139
+ docs/models/instorecartshipment.md:
+ id: 6132097ec672
+ last_write_checksum: sha1:2a29ec9e9e7b2d0074748268013f7cc64788e8fe
+ pristine_git_object: 9f62fbca3225d8398b353fad7177b5c7fd414c81
+ docs/models/instorecartshipmentdistanceunit.md:
+ id: 0ec876b94e28
+ last_write_checksum: sha1:8fb74f4e91c37e9d8669fde9e1c3987daf46f7ae
+ pristine_git_object: 365f4fd3e5dc99a8d6e454a7164f2a02ae109df5
+ docs/models/instoreshipment.md:
+ id: 57819e54fcd7
+ last_write_checksum: sha1:9fb8c7c54d2cb8811def2354ca61378404e5a3c1
+ pristine_git_object: 30d7cf104de1b634c5c15568f405fd47fcba06a2
+ docs/models/instoreshipment2.md:
+ id: 9c763590b05e
+ last_write_checksum: sha1:a8198b60ff56d8990c123eaa9de5de138e01dd28
+ pristine_git_object: da80a8d8d7fbccd931b08572a911a22a52779ec3
+ docs/models/instoreshipment2distanceunit.md:
+ id: 37af05376d34
+ last_write_checksum: sha1:04bd37a588b06507b2537668d3ec299791d5c70d
+ pristine_git_object: 7c3dd138ea9831355ad36dddb49d02fa1b441b2f
+ docs/models/iorderdynamiccontent.md:
+ id: 991a9f9a8490
+ last_write_checksum: sha1:a9387843473e723e8cb9fc89bf3bfbcfb641559c
+ pristine_git_object: 372482b8d28996d50be984b26fa99520f9cb8da4
+ docs/models/iorderexternaldata.md:
+ id: 11bc72bfeaf2
+ last_write_checksum: sha1:435af96ae9a26e7cd201370e7f6559fbb307722c
+ pristine_git_object: cae35f775fd25e254fd0ebfe2b3417464734368f
+ docs/models/iordermetadata.md:
+ id: 5c38ac760d6d
+ last_write_checksum: sha1:a11b6c388febfef10c48fcbd9f854dcc5cab93cc
+ pristine_git_object: 763d5b292e45d99cebf5e20bb41a96820212239d
+ docs/models/iorderview.md:
+ id: cddd18e9c643
+ last_write_checksum: sha1:eecd17f59669227835299d112bcda86f0551a9a6
+ pristine_git_object: 3cac9658436ac73c6404aa123e469f0aa093d816
+ docs/models/item.md:
+ id: 40dd7473ab87
+ last_write_checksum: sha1:4dd7dc00e00f23e5e2afbfcd4589998a50421036
+ pristine_git_object: eebd143550e50802307aed359544578a28ff2afd
+ docs/models/itemproperty.md:
+ id: eeafbc3d8b95
+ last_write_checksum: sha1:dda83ec763bc22dfbb249401080389ca664275fe
+ pristine_git_object: 234bfce381c4cc4fb31f595bfa75418784ffdc52
+ docs/models/itemshipmenttype.md:
+ id: f719c91e8538
+ last_write_checksum: sha1:2c6d4c2462bdb19611366c7e8fa17e2897ef6e74
+ pristine_git_object: 4702c9b9263828de5f23aae40341f2d7abe8e66f
+ docs/models/iweight.md:
+ id: af38e2039374
+ last_write_checksum: sha1:6b745e92da038ab9236dbc63ea5114e2f29f67bf
+ pristine_git_object: c64148cd7aa33ee9e081b72d26fa5e77824f7c3d
+ docs/models/loginview.md:
+ id: f114b9622bc3
+ last_write_checksum: sha1:67ed97ae7eb0cc631bb6bd1458a592cf27e2b04d
+ pristine_git_object: 3aa69780cc5f34f106e29a95028c2114c3ea2414
+ docs/models/manualdisputes.md:
+ id: a530ed80b544
+ last_write_checksum: sha1:06889d69fd7df32d649f68020ebb31a188818198
+ pristine_git_object: b917e753ab34ee4bc69730e9063a43c779384544
+ docs/models/manualdisputesstatus.md:
+ id: 4e367e68d4d3
+ last_write_checksum: sha1:4ffd37a0c4172a23b54fe7db196581c806089e16
+ pristine_git_object: 1ed8a3c122ce275c199c8083b551cda643c19855
+ docs/models/manualdisputeview.md:
+ id: 0d7418018bf4
+ last_write_checksum: sha1:a867e2c1f3daad51dcb5fbef34ac756359e4eac2
+ pristine_git_object: e5662b8396747365e0feaf910ae7f94ee8cf6b02
+ docs/models/manualdisputeviewstatus.md:
+ id: bc940c4e6416
+ last_write_checksum: sha1:a96aad57ad973cf5f0f3241085a6c5c398ce0403
+ pristine_git_object: e31ef0f20fd80359573fe7991656febe966a8cde
+ docs/models/marketplacecommissionfee.md:
+ id: 2b66cc758ea2
+ last_write_checksum: sha1:e10c10ffeb57e44b7cb15231a8f2b467d769f47b
+ pristine_git_object: 3a4c1da0d1860a65f1a199a3240faadb655c37e1
+ docs/models/merchant.md:
+ id: 1fa6f1f17ca4
+ last_write_checksum: sha1:2b2e8761e08b59c671fa116fa6c3781d184746b5
+ pristine_git_object: 1659148c770ad58023eae7d674e9fa5d35b0cbd0
+ docs/models/merchantcallbacksinput.md:
+ id: 8f0dbc51cc1d
+ last_write_checksum: sha1:428b02c197498c68e7e8756991819e54b90011b1
+ pristine_git_object: db78f1551f2c74d72ead0bf6ece9068d4fedfbd9
+ docs/models/merchantcallbacksinputcallbackurl.md:
+ id: 5ec08ad57442
+ last_write_checksum: sha1:93dfd7466db05b50e2e0591049d01cc5bc8e5013
+ pristine_git_object: 9e30ed8cd4c32cfba8c3bd3df70223202c4c8cae
+ docs/models/merchantcallbacksview.md:
+ id: ddfa609bee09
+ last_write_checksum: sha1:47ee206be53aa6f89a74ab3bb266b1fa1488de04
+ pristine_git_object: ccba8eeee52487a0701a02d35ab1e3850b9cadc5
+ docs/models/merchantcallbacksviewcallbackurl.md:
+ id: 4b8d5cc56c4d
+ last_write_checksum: sha1:6c682827a8bc8347f52c96e54c3f430ccf0cba6b
+ pristine_git_object: 2f1fa740a23c227c51aac2736ab1b6b0f4047eb6
+ docs/models/merchantcallbackurltype.md:
+ id: 045e8e3b0195
+ last_write_checksum: sha1:e287c5b8d82c82689a558af7a96c1fa9d5094d1b
+ pristine_git_object: f4ce37ef49c823adcbae8c77ee0509d52272758e
+ docs/models/merchantcreditcardauthorization.md:
+ id: 28463f8d5164
+ last_write_checksum: sha1:58ca8b98ef1bfbea7abc9b6a9712f93d1750e025
+ pristine_git_object: 9721089d31ef4b9aa164a0552cbf002656409ae9
+ docs/models/merchantcreditcardauthorizationprocessinginitiator.md:
+ id: 7b2dbe9860a5
+ last_write_checksum: sha1:1f47e1087cc5af8a5004e937a6dccb9bdcbbb969
+ pristine_git_object: b73a03589a0d3deec3a3591b3d7ac332770fdc50
+ docs/models/merchantcreditcardauthorizationrecharge.md:
+ id: 6b2683240266
+ last_write_checksum: sha1:064c8518334ef3a70122d87abf168fc1bc7ecc39
+ pristine_git_object: cc221170a5dba6c7fad661331af900cd591e557b
+ docs/models/merchantcreditcardauthorizationrechargesource.md:
+ id: 2876fda7de85
+ last_write_checksum: sha1:d288c2b4ae6a23121210ae986a74ed8a2048a06d
+ pristine_git_object: 011d1d59e341d707a016ac60eba35ffed16ac1a3
+ docs/models/merchantcreditcardauthorizationsource.md:
+ id: 99b3ba1b9f00
+ last_write_checksum: sha1:0de0a3f13b3fef610b4bad396c08ee7316ad70b0
+ pristine_git_object: a82e4c8e9bb9991ffa1f8a9e0eba90d82095a62f
+ docs/models/merchantcreditcardreview.md:
+ id: 234f12440223
+ last_write_checksum: sha1:9d532b8106248a26ff216a3d80c594ee6599fde1
+ pristine_git_object: 73186c64548e8ef3c34b5c71e4367f0cc76c9b98
+ docs/models/merchantdivision.md:
+ id: 1f362f065f89
+ last_write_checksum: sha1:0c53c8f75f41ff0ed011f8b116f3db6335a935a1
+ pristine_git_object: 6d2a1fe2e83e25449acc80adcb835b837f2b3c76
+ docs/models/merchantdivisionlogoview.md:
+ id: c45d74772fe0
+ last_write_checksum: sha1:3b30d969b7fe6d596f8f7c756b1057e262810a02
+ pristine_git_object: 928a8609cd33bf66365a81b061e7324a48da040d
+ docs/models/merchantdivisionsidentifiersview.md:
+ id: 180b27b7ab4a
+ last_write_checksum: sha1:0931b4f11653bb229849eef6a336343342691f62
+ pristine_git_object: e6a1980cee1be1a7ddc0125cafd774b1b12060d1
+ docs/models/merchantdivisionsummaryview.md:
+ id: d16266ec144c
+ last_write_checksum: sha1:37dff2a93821955f6c0fcb1c5376aac454efafc2
+ pristine_git_object: 00d2080ad2666b72ad368c40a178a3be83b54ab5
+ docs/models/merchantidentifiersview.md:
+ id: 945791d3607e
+ last_write_checksum: sha1:80967552a09bdb505b8a8d7c97ecb84d230f5185
+ pristine_git_object: d00b38f2256758788f177485fa570a943c84d968
+ docs/models/merchantlogo.md:
+ id: 9d94a1869ac0
+ last_write_checksum: sha1:eb7a8ef57c532ceb1127f50d1f46b81fd7390a7a
+ pristine_git_object: 44d0c741c9b7d308604ed684b60ee7635500616a
+ docs/models/merchantonboardingstatuscode.md:
+ id: 17398c704e53
+ last_write_checksum: sha1:b7f006d443a01918e81e83539186543f63355e59
+ pristine_git_object: 4299a79f965631013c220ab355bfacd0c239ea7a
+ docs/models/merchantplatform.md:
+ id: 649e6aafaf17
+ last_write_checksum: sha1:8eac02129cbba353669254fda6f9a3db7da18428
+ pristine_git_object: 55553c032d5b8ce81a7ce2e27dc73e18acb3dcff
+ docs/models/merchantstatus.md:
+ id: 985dcf571c11
+ last_write_checksum: sha1:dff6e260152212952fecd0d67f5cafe4b5aedb06
+ pristine_git_object: d75307a849f7cb3553d4233654ffd8cbe5bb0d6c
+ docs/models/metadatacomponent.md:
+ id: 9166645d1a47
+ last_write_checksum: sha1:521d2fdc82adf764b3da71a35e537c70376bf6ed
+ pristine_git_object: 40550a6792c66fda513b01a3093d5276a4907411
+ docs/models/method.md:
+ id: 51255838a997
+ last_write_checksum: sha1:530d4abd4eb7a072ac62cfd81dd11388aefa468a
+ pristine_git_object: feec76e72a3d16f790d6f2b7611a6330af4e5ee3
+ docs/models/mocktrackinginput.md:
+ id: 8be3c12b7495
+ last_write_checksum: sha1:51870d8dce58761b336e6e4169bddb1cb1ef073e
+ pristine_git_object: e0a53d877065a2dfca78d52fb9c7edc53a09a525
+ docs/models/mocktrackinginputstatus.md:
+ id: 5e733d4c9391
+ last_write_checksum: sha1:1658f95aa89d2d6efd67e81c547facc52fa2d5d5
+ pristine_git_object: 71e799310ee31c49654450c62251bb675d36acd2
+ docs/models/network.md:
+ id: bdc3d78aa19e
+ last_write_checksum: sha1:25c8c9a728177af9f4a0391970012048651594a2
+ pristine_git_object: fc776ce29ea02dac1db5d30a65c6e5814eda4e75
+ docs/models/oauthtokeninput.md:
+ id: 1a254f53a8c9
+ last_write_checksum: sha1:d54c3b999f1bef469fed9e8c51c54c8847d0353d
+ pristine_git_object: ada324a995b4eb6b4e2249b7e79709877428b075
+ docs/models/oauthtokeninputgranttype.md:
+ id: b0a439996092
+ last_write_checksum: sha1:7dc0b6b0bd37c474f8ed9c0601334949e2394588
+ pristine_git_object: 06639521b9c4229ca457b223f84921fd676e7645
+ docs/models/oauthtokeninputrefresh.md:
+ id: 138fcb05b274
+ last_write_checksum: sha1:3fa2ed27f481a0534f07ec3782b6c32b90cf3ba4
+ pristine_git_object: 594d39a2332414ec1badf3d352a154e0aaffc56d
+ docs/models/oauthtokeninputrefreshgranttype.md:
+ id: 2911767faff4
+ last_write_checksum: sha1:4d835f72919a7a72292bea4fc312436ee882387a
+ pristine_git_object: 8f106e51c68dfd0a67e4c87ec53f7f9f6ddb12b6
+ docs/models/oauthtokenrequest.md:
+ id: 478a1385d94b
+ last_write_checksum: sha1:35c5d2edef92d21ae869118d39cc6e57be14bb4c
+ pristine_git_object: bbc7f394e5491c167b10d90866121f62c37ba3f8
+ docs/models/oauthtokenrequestbody.md:
+ id: 30d339ee5d5c
+ last_write_checksum: sha1:6b3a43b28664c23a2fda03439f90623f0b6491a6
+ pristine_git_object: ef3815100613291f8ae859c2ad59cae1c3d0ebee
+ docs/models/oauthtokenresponse.md:
+ id: 4879a39c6022
+ last_write_checksum: sha1:a06d5bbd7d9da0b690efe5676e9e94aa430ba91f
+ pristine_git_object: 13138118fc70f8ceba7b94132e3d0cc7a17c1a0d
+ docs/models/ordercreate.md:
+ id: c25ea83d77f7
+ last_write_checksum: sha1:e49bc7cbbacaf4fe2af9cf614636a98b8297579e
+ pristine_git_object: b87e759240ef89c9669de74722fe6b06bfda79d4
+ docs/models/orderdecision.md:
+ id: f1bd90a35619
+ last_write_checksum: sha1:2c5ce8fba9e789dd076184f2f0b871ab977cdc57
+ pristine_git_object: bf663e1b7319069c79d828cfaec8cf289d3c6c79
+ docs/models/orderdecisiondetailsview.md:
+ id: adbb39dfd777
+ last_write_checksum: sha1:83085b9432a1c20b5f99dc8f054c94785c642096
+ pristine_git_object: 7cb6ae3683bec358a2f9a421558027477bc1c79f
+ docs/models/orderexternaldataview.md:
+ id: caf81dbc7a64
+ last_write_checksum: sha1:b83236dd45e52735b2ec37111c5bed12595caf72
+ pristine_git_object: 3eac8fec370313f17fe3791babf8d5961fbe6f9c
+ docs/models/ordertrackrequestbody.md:
+ id: 3634ab33a7bc
+ last_write_checksum: sha1:a2eae40ab581afbc635917d0037f33853e9787b3
+ pristine_git_object: bae21d8a9d5de70b758075dc8eb8922a22b6d143
+ docs/models/ordertrackresponse.md:
+ id: fa352b61f931
+ last_write_checksum: sha1:26e94bef9a1c2a23924db798dfef5e683a38ca21
+ pristine_git_object: c5c3d5b91dfdf8513c734682b28bca3cbe3ff743
+ docs/models/orderview.md:
+ id: af42bf2708b9
+ last_write_checksum: sha1:040e4de56d88de889a531dacbd2d3d98e6753065
+ pristine_git_object: 14b6dda7ef35a04c8de9513343c2e78f493d8c9a
+ docs/models/packagedimension.md:
+ id: 4d92ee79bd33
+ last_write_checksum: sha1:3e32acd12e88072bd63b642d2849dba524fc8684
+ pristine_git_object: 52bbd9acfc55332c272fcb3f9cb02aa222b0e1a7
+ docs/models/packageweights.md:
+ id: 18d155c1451d
+ last_write_checksum: sha1:32fe57b146f90b67d39c292598935d40e9c16a1e
+ pristine_git_object: 5b78c1cb82a0471b9d7821e0853dcc0241f43f01
+ docs/models/paymentmethod.md:
+ id: 17c910bca1fb
+ last_write_checksum: sha1:80a093ff1152aabbca0d7da9d1d6a83c967a6c64
+ pristine_git_object: 0a0aa2dbd9d88df7ec63827fca35adf68d844f8b
+ docs/models/paymentmethodaccount.md:
+ id: 6467e42a9ef7
+ last_write_checksum: sha1:d25eb501e5e379473082f760e69d9b4642c0dccf
+ pristine_git_object: 8557b5e2b93fcd507d442e470762dd7a010b1594
+ docs/models/paymentmethodaccountpriority.md:
+ id: 20c9aef40147
+ last_write_checksum: sha1:1890e085a027f1bab36e71bbdf915937aac6278a
+ pristine_git_object: 4c474576f2dee137a330ba3486ff776882643f08
+ docs/models/paymentmethodaccounttokentype.md:
+ id: 53a58ec4503f
+ last_write_checksum: sha1:4c1947bce6e2e9f3d81f24aa482ef0181b518a4e
+ pristine_git_object: e1f7e4fdddf6bba77d15a4f1540b816cc5c8a5f1
+ docs/models/paymentservice.md:
+ id: cc0e491ca808
+ last_write_checksum: sha1:b106fe47f2e489530671ad4d11a5caf6305377ac
+ pristine_git_object: 40a4998c15a5ca5a36efdc80e63470a0552a91ef
+ docs/models/phonepriority.md:
+ id: 9bcce73508a8
+ last_write_checksum: sha1:a883a86ab66f9d6da9278847800a9faab46dd445
+ pristine_git_object: c0267a61f2457add5001ad2fe9a5ae0f5c2c1c88
+ docs/models/phonestatus.md:
+ id: 50c21f12ae43
+ last_write_checksum: sha1:212ed59b4cc280f11a0d09bf2946eba4650f2183
+ pristine_git_object: cf3aa275d4ce41b25a36bf207b7e3641e49ffaa7
+ docs/models/phoneswithcountrycode.md:
+ id: 89dad2a2cf5e
+ last_write_checksum: sha1:c02236b76f3d6398eb402863e7f8824edce2632c
+ pristine_git_object: e619a4b74bfe5aa48e3c5ae804c86fa055071819
+ docs/models/phoneview.md:
+ id: c682c11bfbc7
+ last_write_checksum: sha1:e81c01f00964826e29167aa439c837d184fae532
+ pristine_git_object: 88da536af73a7a8ccfe5145b3983d8215dd34cc4
+ docs/models/phoneviewpriority.md:
+ id: 9cc493d9164e
+ last_write_checksum: sha1:4f129c345dfa2fd0950f8ecaa75a033b007a43ab
+ pristine_git_object: 28db2c172ca6f2e0d7a626dfd2facee915f4f8bb
+ docs/models/platformaccountstatus.md:
+ id: 3494a3a1f87c
+ last_write_checksum: sha1:6af4eef72f929b772297e57a1ad4d0ba5052c08d
+ pristine_git_object: c1e971d0322123e289cb88ebe0fe344b46c728d9
+ docs/models/priority.md:
+ id: 41237b71cfaa
+ last_write_checksum: sha1:2cb24e0a0005efd0a3135154ff0aaf26eaa4825e
+ pristine_git_object: cbaeef11872cf539afa339cc5c7003fe373c61b2
+ docs/models/processinginitiator.md:
+ id: 9befb41d4ecf
+ last_write_checksum: sha1:cfbb1e31693c1ff2a4124d2cd0ae85a0607e885a
+ pristine_git_object: 75a1cbef2a236cee0cd286f974057936577d8cc3
+ docs/models/processor.md:
+ id: e77acb454265
+ last_write_checksum: sha1:6260e7fd8dd41bb803cfb332e284df7ba0101bfe
+ pristine_git_object: 4de8e78f5313d73d8fcda54b8b7860e491ac30db
+ docs/models/profile.md:
+ id: 1ad502ec734e
+ last_write_checksum: sha1:b3d78233799476db08d012cacc37ee3287bc4c4d
+ pristine_git_object: 969423469f6e8bb4c6f784938d9567f00c458fb0
+ docs/models/profileview.md:
+ id: 3f7945534d80
+ last_write_checksum: sha1:62991cda02f6c1afacebc41343d02c855784cfa5
+ pristine_git_object: 41651c67dc03779540886bba648494a63b59262c
+ docs/models/querywebhooksrequest.md:
+ id: de2d95bc6f3f
+ last_write_checksum: sha1:da0df06fe0190d78f87fe633626562e14187b53d
+ pristine_git_object: 19f907482995bab84d8d2da70db421af8fa6c4a3
+ docs/models/querywebhooksresponse.md:
+ id: 366db274679c
+ last_write_checksum: sha1:8269b41d46a9a3f33c71e1a5c182d263110ba8c9
+ pristine_git_object: 19fb0e9f06f5e850da668f823ef8b97c053ca39f
+ docs/models/refundtransactionrequest.md:
+ id: 29980dc65eea
+ last_write_checksum: sha1:9861d46ec170a504b325b933150df2cbbd161ddd
+ pristine_git_object: 4ba5ad3dcc8ad798d4438ac67251eb6140af577a
+ docs/models/replaceaddresspriority.md:
+ id: ed641464daf4
+ last_write_checksum: sha1:26ba8446eae5384370f117ef5c2c70718c7d1399
+ pristine_git_object: d60fccebe02d7547e1f3d981cde9da8f786e5d6c
+ docs/models/replaceaddressrequest.md:
+ id: adea2308224d
+ last_write_checksum: sha1:ba6f536f54a01966af07ade6138a025600716df1
+ pristine_git_object: 64ea5c8df002122ff0ac2952aa64064e0fe38840
+ docs/models/replaceaddressresponse.md:
+ id: 8dc3f2118188
+ last_write_checksum: sha1:3f5775e847c2c4963f5ffde7c41067315015dee0
+ pristine_git_object: 2ea54fd446dd0f62144b924ce55fdc49bfd769de
+ docs/models/replaceaddresssecurity.md:
+ id: 32dccb67bbec
+ last_write_checksum: sha1:af3b2f73bb772008579f112142df1ab271a7989f
+ pristine_git_object: 2b98de8514bbb8bf0c29012eecc8f8379c78802f
+ docs/models/representmentresult.md:
+ id: ea41d8a02cea
+ last_write_checksum: sha1:791885d185b21fae8d3d3862c3a5d61ef341b73d
+ pristine_git_object: 84603ed9d06d36da90369e51c82da3978b0ac602
+ docs/models/requestresult.md:
+ id: 0b4d725383e8
+ last_write_checksum: sha1:98781a5255adab04c2607afd21b2b19367c630e8
+ pristine_git_object: 971503339b1bff33163f0d56a57d9abd6efb22f1
+ docs/models/requeststatus.md:
+ id: 580c869308d3
+ last_write_checksum: sha1:8e4b408098c99c0ca569b27ef0a269ec0edb693f
+ pristine_git_object: e1fa54f8d5b5a7d1ef87f76ff22e683e97c1b046
+ docs/models/response.md:
+ id: 583c991c7a30
+ last_write_checksum: sha1:47873abc000157ce09aab488de4bd4ae2de78336
+ pristine_git_object: 4f2ad317b0d7d673cbccfff559aaa4b7c83c38eb
+ docs/models/result.md:
+ id: b850437752c3
+ last_write_checksum: sha1:9a0359b48485ed6e2bdcb12c796c3df50832aaff
+ pristine_git_object: ecad00aecca459c823bf3e0d477f2ddfaf211c23
+ docs/models/reviewticket.md:
+ id: c35bbfcacd8e
+ last_write_checksum: sha1:86381554644e47e06acb8ecc2da1582e837c87f5
+ pristine_git_object: ab19ee968d41d6b9c1a8a58fbce8d040807322e2
+ docs/models/reviewticketview.md:
+ id: 2acf00c6bfc5
+ last_write_checksum: sha1:c5b87bc513c222bbc832714597be3301d11e6153
+ pristine_git_object: 5a3bec3f3615a9824c329b2a63a1de9e1ce54585
+ docs/models/reviewtransactionrequest.md:
+ id: c22e9a94f4ad
+ last_write_checksum: sha1:50ac78d3708c26cbefe278724080687c7f65cc14
+ pristine_git_object: c9ca04db49a398b9e16fca4017a7b5387cc9f4ba
+ docs/models/riskdecisionfactoryml.md:
+ id: d83a41bf28f1
+ last_write_checksum: sha1:73cb0a50321cf70bb20863138512ed965c026f15
+ pristine_git_object: 17f377fcc890c26e33a415d297932352f250cec1
+ docs/models/riskinsightsyml.md:
+ id: f8dad2ec43b3
+ last_write_checksum: sha1:057f6489d3513e2f2fd16cb855da7b50c9570fbc
+ pristine_git_object: c63dc8a946a7a0d32ad9ad1f88009dff745192e9
+ docs/models/riskmodelexternalresultview.md:
+ id: 880fecfd1d0c
+ last_write_checksum: sha1:8552be87ca097c03cbad7d268b095eb66bcb61ef
+ pristine_git_object: 4b4a6f13e841133d00ec576967336db5ac63fd81
+ docs/models/riskmodelresulcontributionview.md:
+ id: 055cff85779a
+ last_write_checksum: sha1:f7d2af6acc3deae2792b7a0c6a82aa569497f6f6
+ pristine_git_object: 0dd5eff28defda3cd8323e6de0e5f034c7873a7a
+ docs/models/riskmodelresultview.md:
+ id: a32192599871
+ last_write_checksum: sha1:fc9af37c95121826f7b5ae5f1877b9a1fe96e407
+ pristine_git_object: 11d5e4a5b43b088a74aa45110277aec4dcebfa35
+ docs/models/riskreviewstatus.md:
+ id: 453ad75aca0a
+ last_write_checksum: sha1:d8aeb6ea7c383b2d74378498b0469af855b3f9ac
+ pristine_git_object: 752d64cd2d2f1c6dc6857f6529c02ddc4d38085d
+ docs/models/savedcreditcardview.md:
+ id: 809a0de5d5e5
+ last_write_checksum: sha1:028b73938243c24b884ca758cc853287adb97c97
+ pristine_git_object: 914665f0c9028a79d9d5fdb028aaf0ad13b8f80c
+ docs/models/savedcreditcardviewtype.md:
+ id: 34d8ee1e6377
+ last_write_checksum: sha1:7ee08fc1cfc0c8000d4d0fcbe0e249cd6764991a
+ pristine_git_object: 27ef542b530838062e9035d180d2d105a0fc32b0
+ docs/models/savedpaypalaccountview.md:
+ id: e7c4b4fd911e
+ last_write_checksum: sha1:b4005de2c4cf94930ebb52a16b7d0514d7ccaa3e
+ pristine_git_object: 1dec62f762daf578a0e8494282ca65ffa3b492bb
+ docs/models/savedpaypalaccountviewtype.md:
+ id: 1ae023f8e270
+ last_write_checksum: sha1:3766302299af0d183cbffb266739f92ae797f6ce
+ pristine_git_object: 39802865701ae82cdeac45d0fd811235c50fc009
+ docs/models/scope.md:
+ id: c7d8338540ba
+ last_write_checksum: sha1:cf36f1f5e572f588535cdd06868d3ad7d6739355
+ pristine_git_object: 64b1307f30eb85bfcc3fcccedf0dd45dbfffc551
+ docs/models/security.md:
+ id: 452e4d4eb67a
+ last_write_checksum: sha1:2349944b0a097e9240a2a98c8651ef1dd25f9b8c
+ pristine_git_object: 6c134dc70d04095ebe059c1650830c846d078583
+ docs/models/sellersplit.md:
+ id: db16459c80fc
+ last_write_checksum: sha1:17a79d2f1390d8170dbb97b7de368b8ad2d524ca
+ pristine_git_object: b33895d6d651b3783ca59465f908decc117d4c19
+ docs/models/sellersplitamounts.md:
+ id: 37b95fdc9f88
+ last_write_checksum: sha1:7fad2963f8c704ade81cd6898e6df68c496be581
+ pristine_git_object: a38bb75d8d085265f995ce552e360dee31d4a873
+ docs/models/shoppermetadata.md:
+ id: 7161b86a949d
+ last_write_checksum: sha1:2458cebb17495eb30ca7e2205950e393486a9ab2
+ pristine_git_object: 47527674f907cab939fbb4d7f1fd0be905fafc86
+ docs/models/split.md:
+ id: dc145ab5cbc2
+ last_write_checksum: sha1:cdb0b803595fc6d29b027d9aee25efbc09822c57
+ pristine_git_object: 6a059f9b6aec5c6b69bfa4ed7c0b872ed62fe5d2
+ docs/models/splitsview.md:
+ id: 14211f0f0fee
+ last_write_checksum: sha1:828f6ff2c5567f853c4f06cb7c9287e081f2fdd4
+ pristine_git_object: 7b4068369f6d2c40a146f063d3353b798ad8ff5b
+ docs/models/splitsviewtype.md:
+ id: bc9dd7981f2d
+ last_write_checksum: sha1:7bfe838380a7fbc62bb5e43d7ed567d1527b6f0d
+ pristine_git_object: 4553edcbdaf8852c146b0779693caad072526734
+ docs/models/statementsfiletype.md:
+ id: a170a5acf63c
+ last_write_checksum: sha1:1677c6d2d0afff4260dffdcf521b0d85d59d206b
+ pristine_git_object: c14d70c5a6838ac6124e3320da7aa6dd686b7c60
+ docs/models/statementstype.md:
+ id: 1e361f729ec1
+ last_write_checksum: sha1:d2b4c107c34bb24744531e50a7c07411c50ea2e1
+ pristine_git_object: 709d58e946f00dd922fef83a5aaada3f7dd99890
+ docs/models/statementsviewrequestbody.md:
+ id: 631f8b252906
+ last_write_checksum: sha1:c81b3c2788873ac2d3c8f6fa01dd768cf0278eee
+ pristine_git_object: 4837f7213f7c1b310af959904cd8474afb55ca3d
+ docs/models/statementsviewresponse.md:
+ id: a823fc3cdb17
+ last_write_checksum: sha1:5965788ff7573b53840d047a8f8295ffda6ccbe8
+ pristine_git_object: ab9ea419e5558331c353f36be2acffeee4c003b2
+ docs/models/subscription.md:
+ id: 4a200793e0f4
+ last_write_checksum: sha1:b978c855f5535a391acb40aafa01540bdb4d8b36
+ pristine_git_object: 32d85441944408329073d964940235c873d1706e
+ docs/models/testingaccountdetails.md:
+ id: d0e419481281
+ last_write_checksum: sha1:2157d9db90c8d5924fdff16aaf04e68ecfb782d2
+ pristine_git_object: c35442001d1b24d1a964a1c445ada8dee879d58b
+ docs/models/testingaccountrequest.md:
+ id: 9895f48c37de
+ last_write_checksum: sha1:2ddb5f9e4bec520d8fb8341ea6eff1289baa3bb4
+ pristine_git_object: d9ff5481f292bf8c1441937e16118105ddebf199
+ docs/models/totalweight.md:
+ id: fcc6ab8ff474
+ last_write_checksum: sha1:531d7df0e1753c00b387c8d096e7fa9244d8f56c
+ pristine_git_object: 450941f06cb0105f357628e065a047ab241481fb
+ docs/models/trackingdetail.md:
+ id: 43dbf436f3fa
+ last_write_checksum: sha1:c86bb57ea7d1a0844e8d116901f38d1bf7886d83
+ pristine_git_object: 417802aa2485c0d2f6776210faa16dc96d0d3671
+ docs/models/trackingdetailstatus.md:
+ id: 6c03c2f4d4fa
+ last_write_checksum: sha1:58b044db04696a1619de0f0019ea56ebf96b2c67
+ pristine_git_object: 5978cc1de89f3c402cd975708af878a093f1e126
+ docs/models/transactioncredit.md:
+ id: fed550eba3fb
+ last_write_checksum: sha1:7dac51e6e569c2a07bdf2f74482fe3ee15d22992
+ pristine_git_object: 15f3b5f622cc0d26911afa56e9cfa37cacce4843
+ docs/models/transactiondetails.md:
+ id: 24236c2371df
+ last_write_checksum: sha1:9c5413100b1a144bec3275d4e9770f748e9a1829
+ pristine_git_object: 257006511204d9ba03855477a64485faabbaeb38
+ docs/models/transactiondetailsview.md:
+ id: 6a309b59b31e
+ last_write_checksum: sha1:ced654bd523586dfa9ebcee58d20b7970a68f139
+ pristine_git_object: 69e0c40e0d2e7b00e37d4f05df5fe0bcc62a6a20
+ docs/models/transactiondetailsviewviewstatus.md:
+ id: 36d37b2802be
+ last_write_checksum: sha1:ccd89b7371baf12f494d0c35005d51cff833357d
+ pristine_git_object: d38eeb9e9ae8e51853a5423bd43cf82c7d7f5d05
+ docs/models/transactionindemnificationdecision.md:
+ id: e9b02412ccb7
+ last_write_checksum: sha1:8bda9221b22611d00390feef4b4065e77f99198b
+ pristine_git_object: 2b278a864ee3262e962620cbd019c2059ab58061
+ docs/models/transactionindemnificationreason.md:
+ id: 3d27dd93cecd
+ last_write_checksum: sha1:3fae1e0a3f6702c41cdc2f6e9e958995e335cff1
+ pristine_git_object: d7f094ba0699a85029196c6026ac7ded0775aa31
+ docs/models/transactionoperationalprocessor.md:
+ id: 6835b52e9d63
+ last_write_checksum: sha1:b4cacb64c2ed801525951f67d90d01f7c79ef903
+ pristine_git_object: 4b0bc9d6ff5fe1c1354f659b4bfe5570d09590f7
+ docs/models/transactionprocessor.md:
+ id: 75ccfd4d37bb
+ last_write_checksum: sha1:fd09ecde273615aa36b1932a2c9d74c757ff89e1
+ pristine_git_object: acc42482c19a228de4a7c3517cd71e1ef4800fe3
+ docs/models/transactionprocessorstatus.md:
+ id: b59309b6268e
+ last_write_checksum: sha1:9314db5a322a3667826644a4941f66cd13edc887
+ pristine_git_object: eaf9a02743256e04ac9cc638d9b6ff6b81835736
+ docs/models/transactionrejectiondetails.md:
+ id: 592953d3d1e6
+ last_write_checksum: sha1:81423457fe5ffc20b392bc8c7f8086bdfb11f2a8
+ pristine_git_object: 6d9bf811556594265c6ea5598e8e98f114c3c170
+ docs/models/transactionrejectiondetailsview.md:
+ id: b8a259d26e88
+ last_write_checksum: sha1:4768ef88066495704eeee95737de2d883affdda6
+ pristine_git_object: 6bdbf6d620a82217ae28c6d99235604b638f8ab7
+ docs/models/transactionreviewview.md:
+ id: c8fbacdaad81
+ last_write_checksum: sha1:82df299cc8b57985cee0c0639d12b1f8ccb5e888
+ pristine_git_object: 6f78017b86fd05e5ec5565405a3e7b4f65424b01
+ docs/models/transactionsplitsview.md:
+ id: 9ad765af1f31
+ last_write_checksum: sha1:106a649e0c28e314e0d313cc17e0efef0b977a28
+ pristine_git_object: bc352a18c935b7451b03a46c360b433c8519b716
+ docs/models/transactionsplitsviewtype.md:
+ id: fa89635bc217
+ last_write_checksum: sha1:0ba43cb39dc37f223053a311f9e9ac9470917e38
+ pristine_git_object: 55b3fe8a2e9f89d80cd6c4d7e931f7eb00b18463
+ docs/models/transactionstatus.md:
+ id: 8331a2267dc3
+ last_write_checksum: sha1:74ce76d8e33763112f1758e233781f0d332b7de7
+ pristine_git_object: f0b1b63c6f2dac09ad80b37a5908218cc97d3bbf
+ docs/models/transactiontimelineview.md:
+ id: b04c008bfc74
+ last_write_checksum: sha1:607828541cac099ea42c277a6c29c4564a5b0e5f
+ pristine_git_object: f7d94188ae1009b977a0d5109a561ab514e782a3
+ docs/models/transactiontimelineviewtype.md:
+ id: db3e10d11333
+ last_write_checksum: sha1:541956d456b2bea44944af46c5c6fad2fc67d8ca
+ pristine_git_object: 78339bdfa48c42c430ff68f31164ec6471568f06
+ docs/models/transactiontype.md:
+ id: 1efa7d59dbe4
+ last_write_checksum: sha1:4855d5e435d7ae493478928be2460c6c1817b2bd
+ pristine_git_object: 77c048435e5ed0b650aa769da813e52df03cf4ba
+ docs/models/transactionupdateinput.md:
+ id: d7a894a385d2
+ last_write_checksum: sha1:2f82c7cca93d4485dfd3d067a17080ae446a9056
+ pristine_git_object: 1d31ed2d7433a45068fdc7013b95dfc458cb3714
+ docs/models/transactionview.md:
+ id: cb6292cff9d8
+ last_write_checksum: sha1:acb8fd7f8ef05db12c778a376e7be881db8de3c9
+ pristine_git_object: 4c814251c409d0739590c566f03d104b8dae251b
+ docs/models/transactionviewviewstatus.md:
+ id: 76d542331035
+ last_write_checksum: sha1:4ad9195b159c0a535a74cbd8749e3360c2eae942
+ pristine_git_object: deb4fb72ea561113d70a4c30c1f48e0cb753fa10
+ docs/models/type.md:
+ id: 98c32f09b2c8
+ last_write_checksum: sha1:259765e6dfa82309f80f86cd22a7a30a9939e503
+ pristine_git_object: b320cd5e6df8627b3da7c8004a157acc7a6095e1
+ docs/models/unit.md:
+ id: 02c7edf859a4
+ last_write_checksum: sha1:d4bea9d9faa3a7492a5d81bdadc824c1f62763d5
+ pristine_git_object: d81ddb7f32080d62c106db2cccc6e66620d6dce9
+ docs/models/updateaccountprofilerequest.md:
+ id: ad46501b7605
+ last_write_checksum: sha1:8b57d99c7705cd94568b0093adffd0882e41d0eb
+ pristine_git_object: a015b012dd7b4942c9fa7ca1ce3c4c6cd85467d3
+ docs/models/updateaccountprofilesecurity.md:
+ id: bc55fcbafb54
+ last_write_checksum: sha1:29b52e773b695185796c99cf26312d903ceb416a
+ pristine_git_object: ca75a38d93e2eb6640e823319d52544ed04a9ac0
+ docs/models/updateprofile.md:
+ id: 77e34f4ca8de
+ last_write_checksum: sha1:952ae0ba6f6862113b763428532892d770b958d8
+ pristine_git_object: 113d23e0b1d2214949ddd0c199ffcad15e33d902
+ docs/models/updatetransactionrequest.md:
+ id: 967797b4fa49
+ last_write_checksum: sha1:9988f97aa7b74b7d40f100aa66851c3bee96dbfb
+ pristine_git_object: 84c55ec0eea56f410e17e435533c47ff8666721e
+ docs/models/useridentifier.md:
+ id: 7d16576a47df
+ last_write_checksum: sha1:6b9352b1e3beabf3cbbb23f056f2cdeb86038726
+ pristine_git_object: 742ddd7fe6de8712f9349e8a3863d6decf401091
+ docs/models/useridentity.md:
+ id: 959b5b6bb365
+ last_write_checksum: sha1:08380ca96ba2927d243d309aedbaf7e67d93dfae
+ pristine_git_object: 703fd7513d5d471d27b23aad341b9710ba86ac53
+ docs/models/utils/retryconfig.md:
+ id: 4343ac43161c
+ last_write_checksum: sha1:562c0f21e308ad10c27f85f75704c15592c6929d
+ pristine_git_object: 69dd549ec7f5f885101d08dd502e25748183aebf
+ docs/models/v1accountsview.md:
+ id: e156f1cc4587
+ last_write_checksum: sha1:100cf1d18bfb25ec48fc900f720bb18feb3fe8a9
+ pristine_git_object: 2fa2fd991b68150ea0c0688d8753e5aed0b9b403
+ docs/models/voidcause.md:
+ id: 752028c12f0e
+ last_write_checksum: sha1:4090ae0f6042af549fad162daea5cb3113eef730
+ pristine_git_object: 44b72caec51523302df430abb5d93a73e9d5e578
+ docs/models/voidtransactionrequest.md:
+ id: 6dbd9b3d0f6a
+ last_write_checksum: sha1:85b38029b4f074eb9a1828a4c76da9736eb86f7d
+ pristine_git_object: ccf74c5136e2324d55504cd9f0d76082885139b8
+ docs/models/webhook.md:
+ id: 20220f003054
+ last_write_checksum: sha1:854fa6b0704daff5a6204bfd8f2cca696703c433
+ pristine_git_object: ab5e08ec78067472c86f9a11ce5f078e8a53632a
+ docs/models/webhookeventgroup.md:
+ id: 31a14a20aad6
+ last_write_checksum: sha1:99a168579ab984998ffe5df72b04ef8fddf31e09
+ pristine_git_object: e01069fa83ec296255414b528d8d7fea6e2756ae
+ docs/models/webhookstype.md:
+ id: 6e28a8e77c47
+ last_write_checksum: sha1:d2da994786d782d762d5b7a9c79b3cccf7fd44be
+ pristine_git_object: f96a6e9bcedda21cad4c35f4c41805bf9823bc6f
+ docs/sdks/account/README.md:
+ id: 2d1d67055b31
+ last_write_checksum: sha1:6d2a5f5bc51efd901d3b1c9b872168794b10d8e4
+ pristine_git_object: 44a52cf165669d63c2ca251fb64cfb153d9d1e01
+ docs/sdks/configuration/README.md:
+ id: d3a07ea941dd
+ last_write_checksum: sha1:a240269c3377e2fc2d69499e7c8fe778b31d22b8
+ pristine_git_object: b9540b7417a13ebc9e05455a2b0a25ef7606f5df
+ docs/sdks/oauth/README.md:
+ id: 80ad2c1a7b62
+ last_write_checksum: sha1:0def3980d6eeafb0ae62f22f7c0d0033b812a3be
+ pristine_git_object: d551b58da37ce30b0c7e3d501948ae50d7da040c
+ docs/sdks/orders/README.md:
+ id: fc5b2caf3cb2
+ last_write_checksum: sha1:ee01b1bdd2b39437445809f71ff3f7f8a65fd571
+ pristine_git_object: 1a85d55ebd158e58705115ca2d4f290720470cee
+ docs/sdks/statements/README.md:
+ id: 077d45e19c3c
+ last_write_checksum: sha1:ce93cf8917305bccdc67638af1b389dfe8af64a4
+ pristine_git_object: ad2c804df9a4e663dec4da6945a1437e31c37fa7
+ docs/sdks/testing/README.md:
+ id: ad5d886070c9
+ last_write_checksum: sha1:63f645ec465e0ab890a77d24107a9457ed673371
+ pristine_git_object: ff184e03b60906d523ff24752ece6b5b314b4f6b
+ docs/sdks/transactions/README.md:
+ id: 85592abe3c6b
+ last_write_checksum: sha1:254778c5372b14b960582f60d5e00f73d797d296
+ pristine_git_object: 72f0d326c32f40a8a25af7127948e3b1a695df0c
+ docs/sdks/webhooks/README.md:
+ id: e21b32d786a4
+ last_write_checksum: sha1:afab068145c53d67f7b64b5bdb3e85abb696a675
+ pristine_git_object: 9d686db37221e11860ddc1b467b77222020e9d2e
+ poetry.toml:
+ id: a81ade82122a
+ last_write_checksum: sha1:2242305e29dc6921bdf5b200aea5d4bf67830230
+ pristine_git_object: cd3492ac9dc870fdcf23dbd94fd1d40cc753cc8e
+ py.typed:
+ id: 258c3ed47ae4
+ last_write_checksum: sha1:8efc425ffe830805ffcc0f3055871bdcdc542c60
+ pristine_git_object: 3e38f1a929f7d6b1d6de74604aa87e3d8f010544
+ pylintrc:
+ id: 7ce8b9f946e6
+ last_write_checksum: sha1:db2aebd83e553dd59d3965e79104a3fb780c403a
+ pristine_git_object: e8cd3e85682cd3d489cf3c5be75a0563d0c9f4bf
+ pyproject.toml:
+ id: 5d07e7d72637
+ last_write_checksum: sha1:04f4c303a868963ef43d731ec1544f78de45e236
+ pristine_git_object: 06807ac1c5e645a1973a7ac8e7337ef3d1ba9d99
+ scripts/prepare_readme.py:
+ id: e0c5957a6035
+ last_write_checksum: sha1:5e0d536720d8afe8df2f26664db2f7dcae46cf89
+ pristine_git_object: b28491f32f0cae486d53ec3a75afa5c444821b63
+ scripts/publish.sh:
+ id: fe273b08f514
+ last_write_checksum: sha1:b31bafc19c15ab5ea925fdf8d5d4adce2b115a63
+ pristine_git_object: 2a3ead70ccc6228cbae1c5c8a319b1399f3804ea
+ src/bolt_api_sdk/__init__.py:
+ id: ce860367e38a
+ last_write_checksum: sha1:da077c0bdfcef64a4a5aea91a17292f72fa2b088
+ pristine_git_object: 833c68cd526fe34aab2b7e7c45f974f7f4b9e120
+ src/bolt_api_sdk/_hooks/__init__.py:
+ id: beb0f1b8cdce
+ last_write_checksum: sha1:45a380490e968d8d95994dd97554ac60eeb6ae60
+ pristine_git_object: e763be4b171bbcf9c16caeaf381f8c92ce8d8e6e
+ src/bolt_api_sdk/_hooks/oauth2scopes.py:
+ id: 116f673b5a2a
+ last_write_checksum: sha1:d4fee961e62ec4c5a281d58339cbcce99fcd394b
+ pristine_git_object: 7e1b4aa47e08ee4cacdfd1717b248e1b06e58ada
+ src/bolt_api_sdk/_hooks/sdkhooks.py:
+ id: cfc4e8edb465
+ last_write_checksum: sha1:c0b35f29b93fb64efef2fb9f578edb84016ed72d
+ pristine_git_object: 0a4ea0d65055d0cf2a44a0aeeb26642e5ec7d644
+ src/bolt_api_sdk/_hooks/types.py:
+ id: 173a0ff9d957
+ last_write_checksum: sha1:9756c183759a9f0103a05806209777152469406e
+ pristine_git_object: 6d208776cf68747e9adfb56bac82c7693366bce5
+ src/bolt_api_sdk/_version.py:
+ id: d9485b7dbd8c
+ last_write_checksum: sha1:26d81da3c1258f5696165462a9d80ac1a6548f15
+ pristine_git_object: d2035df6cf8ae861f9c3ff5d412496b98beb7f77
+ src/bolt_api_sdk/account.py:
+ id: bde819e34737
+ last_write_checksum: sha1:c4e12145a11f29f8bcb714639f2f909f59adfdd5
+ pristine_git_object: 075e09fa9cf96c68f789351311c9078e597a1da1
+ src/bolt_api_sdk/basesdk.py:
+ id: 74e45c0a5bd9
+ last_write_checksum: sha1:e46f32fd4c7103ff9d3c6629354e2cb849e5c44d
+ pristine_git_object: f7c37821c42b2ec43bfb5c5164cd72607328d52b
+ src/bolt_api_sdk/configuration.py:
+ id: 09781007a50d
+ last_write_checksum: sha1:5a2efa6567b132cdf41673ca0196f68707714377
+ pristine_git_object: 21848fddcbbfd37f327efec1171f5e7c04569b60
+ src/bolt_api_sdk/errors/__init__.py:
+ id: d25081f7b0d1
+ last_write_checksum: sha1:12a4e562ee141e0aea386533a8b3ee1012afe2b7
+ pristine_git_object: 74978a79083e0bca0da18c9d56e82d9b16809991
+ src/bolt_api_sdk/errors/apierror.py:
+ id: 65adff06c0cf
+ last_write_checksum: sha1:1777621f3a8d62b57fc445ce52136bf582b3aab4
+ pristine_git_object: 7e1eda9c55da6872d7e587066246d1807e3279f4
+ src/bolt_api_sdk/errors/bolterror.py:
+ id: 26227c25582b
+ last_write_checksum: sha1:191956eafdbedd4a28b0b5322b3111bb74477bf2
+ pristine_git_object: 971369cc9409ff587d6239b5cc695fd919b6045c
+ src/bolt_api_sdk/errors/capturetransactionop.py:
+ id: ea7ce8f048e9
+ last_write_checksum: sha1:e7fdb612ea5af8e15992c037f0b56676dcb7a717
+ pristine_git_object: dd974949c98acd801d3df02afe756cf4af49979a
+ src/bolt_api_sdk/errors/errors_bolt_api_response.py:
+ id: 9bc2ec01c3a2
+ last_write_checksum: sha1:fee951d439264786f522c5257dab4ed2c03d2ffe
+ pristine_git_object: a62ed5eb3c7670f94558ae46bbbbd8324fd4558e
+ src/bolt_api_sdk/errors/errors_oauth_server_response.py:
+ id: 3065c896f558
+ last_write_checksum: sha1:0f3b60c7dc1c64b9e9f2e3bfb151c2eb779e4258
+ pristine_git_object: 44f5b48e3f5525061081ac83e5e3a59aacc9aa8d
+ src/bolt_api_sdk/errors/no_response_error.py:
+ id: eb7c8d037427
+ last_write_checksum: sha1:7f326424a7d5ae1bcd5c89a0d6b3dbda9138942f
+ pristine_git_object: 1deab64bc43e1e65bf3c412d326a4032ce342366
+ src/bolt_api_sdk/errors/responsevalidationerror.py:
+ id: b26e400976d6
+ last_write_checksum: sha1:901b39b897113e778fdec3d8b146d54f4a58235c
+ pristine_git_object: 0149d6eca1ea0dbf7f01a6a47a9a46eca864afcd
+ src/bolt_api_sdk/httpclient.py:
+ id: 765c68091dfc
+ last_write_checksum: sha1:5e55338d6ee9f01ab648cad4380201a8a3da7dd7
+ pristine_git_object: 89560b566073785535643e694c112bedbd3db13d
+ src/bolt_api_sdk/models/__init__.py:
+ id: f3ec5d4e387d
+ last_write_checksum: sha1:8df587b6525cbf0bdf35f1554f92fdb5ea86758f
+ pristine_git_object: 7a575fe6bec508ef5be80db28a2264efe6bd9edd
+ src/bolt_api_sdk/models/account_details.py:
+ id: 3e62879f8d7d
+ last_write_checksum: sha1:cdcc8b7948669a1cb1cd5703a1facf1cb9326a5e
+ pristine_git_object: ffb953ef2f9625a9db41f891d6e5ff5009001453
+ src/bolt_api_sdk/models/account_details_address_view.py:
+ id: 7ccbf76b48bc
+ last_write_checksum: sha1:b29b0858be125ad485bea50d934fb9110fcb10ff
+ pristine_git_object: e742e12403f1b063ed4e3c8abe06dd26e6aa91b1
+ src/bolt_api_sdk/models/account_identifier_status.py:
+ id: e4c54f3a1309
+ last_write_checksum: sha1:ed91bbf63ca833f5e7db306d6d307f51935dfe0d
+ pristine_git_object: b599923cf91d462d2e8bb3d36c23dd69562377ba
+ src/bolt_api_sdk/models/addaddressop.py:
+ id: 0f3b3804fae6
+ last_write_checksum: sha1:e8bd7105d51fd885351226d14bdbfdf46eaebe6b
+ pristine_git_object: 9fd128ef1e87dd194b13bc46d46d4cd539b5bcbd
+ src/bolt_api_sdk/models/addpaymentmethodop.py:
+ id: 097757224f9d
+ last_write_checksum: sha1:ff25b693fefbe61f025cff9064c88b4fd5d8426d
+ pristine_git_object: 2afad3a68ad30f11a6b49f8df02c92eb06948029
+ src/bolt_api_sdk/models/address.py:
+ id: 25ca0d9c05b4
+ last_write_checksum: sha1:ca3601cb4e6f8c4de7085dc86c8238c87af109d5
+ pristine_git_object: 70866521e10a08444f6ecce0a691fb8b0ad83c60
+ src/bolt_api_sdk/models/address_account.py:
+ id: 8fc2cca25a62
+ last_write_checksum: sha1:8dd9627de9214163e8cf73274620dc14d48ede4d
+ pristine_git_object: 4cad557a2e125f3abd6ff65fcc367bd047555667
+ src/bolt_api_sdk/models/address_change_request_metadata_view.py:
+ id: 4e3155f8932a
+ last_write_checksum: sha1:5346718979cf99923e9b986f8fb55a01faece858
+ pristine_git_object: f4404732b2a5e7b2ac0fe8b0106be6d1090ff7d5
+ src/bolt_api_sdk/models/address_change_view.py:
+ id: a7ab41d9359e
+ last_write_checksum: sha1:b9f5c77bac640cbf712d2f3129e90780cd6dd059
+ pristine_git_object: 2bba004f9aff4e3aae60e80ec15d483d6c0122a9
+ src/bolt_api_sdk/models/address_view.py:
+ id: cb79a6ce5c89
+ last_write_checksum: sha1:089d96d074d20f4d876686b30805894e220057b5
+ pristine_git_object: 00720be4c4aae6e70d7e311485c955958e552a76
+ src/bolt_api_sdk/models/amount_view.py:
+ id: 7aff5fc3b27a
+ last_write_checksum: sha1:cd7d95d5385a1671c7f857698197587d7e2b572f
+ pristine_git_object: b7bce5e6a8da3ff4245ab8e4aa533c4574b8f64f
+ src/bolt_api_sdk/models/amounts.py:
+ id: 8cde9c5ab9e9
+ last_write_checksum: sha1:ab989774acb21321e5750ece494ca91fbc72ad9f
+ pristine_git_object: 6b6d7ec450520ca77af37080b5644e0bcb721878
+ src/bolt_api_sdk/models/auth_rejection_details.py:
+ id: 9506c5894415
+ last_write_checksum: sha1:f543945d2d13de7b7e4ed467fe2d2e67a2d24235
+ pristine_git_object: 27b37dd26b4f095d82ddbf7d07fb70e04d464b68
+ src/bolt_api_sdk/models/auth_rejection_details_view.py:
+ id: dc6cbea26859
+ last_write_checksum: sha1:3311c638f9952923f1029f2ff06390af3005b302
+ pristine_git_object: 68e64cea0de6a9c97c301ab636ebdee4319c7397
+ src/bolt_api_sdk/models/authorization_verification_status.py:
+ id: 5e808ca93032
+ last_write_checksum: sha1:b264eba4bc0b223afa3e807db171ff80f3047f0e
+ pristine_git_object: 02489dd5339f965aa03a5b8da31b946b6ff870d2
+ src/bolt_api_sdk/models/authorizetransactionop.py:
+ id: a33a897ea2c0
+ last_write_checksum: sha1:695c595331836c4a1da9a169ead303f5c12f8088
+ pristine_git_object: bc71b4fc564f6a624f1016f1b180e6ef68691550
+ src/bolt_api_sdk/models/capture_status.py:
+ id: "896734701721"
+ last_write_checksum: sha1:2ad80f5765d121fea5ae3665cccac861378a9df4
+ pristine_git_object: 9784fbe4045c57b76417a512108619f3c90764fb
+ src/bolt_api_sdk/models/capture_transaction_with_reference.py:
+ id: 2c6702062180
+ last_write_checksum: sha1:c75bdadab53f7fb74ee1488018162be2344ea972
+ pristine_git_object: c7a46b7dcd1800b340b0cd97813819f20a631332
+ src/bolt_api_sdk/models/capture_view.py:
+ id: 7f4f199bc764
+ last_write_checksum: sha1:1b154e8caade2b69fa21eef161135e3cd8ebd421
+ pristine_git_object: e493c4b3bd8368fcc6f9067fe83f0ce2eb4cd7d4
+ src/bolt_api_sdk/models/capturetransactionop.py:
+ id: 7ba4cb08c917
+ last_write_checksum: sha1:48ae487049148531591f6d1404a6937f7bbc6925
+ pristine_git_object: cc6eed6ae9bdc21a2c3dff155b12f989212c8ead
+ src/bolt_api_sdk/models/card_display_network.py:
+ id: de79bf4fadb0
+ last_write_checksum: sha1:988f66cf8959906cfd389f96be67f546740dc0cf
+ pristine_git_object: 8fa012430bd20ae838be9204a63e5fbcb445f019
+ src/bolt_api_sdk/models/card_network.py:
+ id: 6624fb4d6b0a
+ last_write_checksum: sha1:238e33774b89fa26ca7dae4cf109c63cffdda7c0
+ pristine_git_object: c9e312b4a31f93792463b13cd7ad9918d25270a9
+ src/bolt_api_sdk/models/card_status.py:
+ id: fbef7e923eba
+ last_write_checksum: sha1:ed080439f4c2c17d62add5fe572c7d108c96d112
+ pristine_git_object: a108c3259830d4fbb52f01ddc3231f5b81573e4c
+ src/bolt_api_sdk/models/card_token_type.py:
+ id: 354f60d38159
+ last_write_checksum: sha1:2e60613076fdb510374fece46e875571011c018e
+ pristine_git_object: 2c1c930b16061e7f8ce7c632e96a5ba255725ec3
+ src/bolt_api_sdk/models/cart_add_on.py:
+ id: e5722084c39f
+ last_write_checksum: sha1:e4f6901096afb18db6e59d5108f1930ae12c0553
+ pristine_git_object: f935570e8fff1fb3a5d0669a01dea54f2fc54551
+ src/bolt_api_sdk/models/cart_create.py:
+ id: 9d01d79e719f
+ last_write_checksum: sha1:49e98f4a6551c43aa77113f54131a8d99acc1f22
+ pristine_git_object: a13f0d635b08d93f5e346f637abf9a87d4d9442f
+ src/bolt_api_sdk/models/cart_discount.py:
+ id: 637709a46186
+ last_write_checksum: sha1:7fb601a5ceb3a20f52221587d415a98fd7ef4fa1
+ pristine_git_object: 18ed932d5d35b2000ac3a44291301883376595d7
+ src/bolt_api_sdk/models/cart_fee.py:
+ id: 731e21f953fd
+ last_write_checksum: sha1:c20af414357c8f14ae617d8f9b8eb2b2f2183ad0
+ pristine_git_object: 1fb0e0e61f76ae0a4a547695da417c355413e022
+ src/bolt_api_sdk/models/cart_item.py:
+ id: a039afa68baa
+ last_write_checksum: sha1:5575b0ac9a9c04f736c426cadfd5811207fe395b
+ pristine_git_object: 320fb9fc47d38d630a5d49df44d5b280db07bb8c
+ src/bolt_api_sdk/models/cart_item_customization.py:
+ id: 964ecb0f899d
+ last_write_checksum: sha1:4c430110753f865fe1cc3763ee91f6340ebcb38d
+ pristine_git_object: 785097870077c51cd4427f024a57a29d0f6118a2
+ src/bolt_api_sdk/models/cart_item_gift_option.py:
+ id: c20c4e9fe9a0
+ last_write_checksum: sha1:dbdbfbf0154b2c3f8a22fc9c13f998d14414bbaa
+ pristine_git_object: 00c5fe36f495e5bb75002ecd88785d32de880ead
+ src/bolt_api_sdk/models/cart_item_property.py:
+ id: 379a9caea3f2
+ last_write_checksum: sha1:d60aef645c3801f8e70d60d220dac7423afb1a02
+ pristine_git_object: 2ce8dc53205cdc61ffc42991bded875cf6f18846
+ src/bolt_api_sdk/models/cart_item_property_view.py:
+ id: 6d4359b33707
+ last_write_checksum: sha1:30598ed53a952b93fa37faaccfe31b79d94f7329
+ pristine_git_object: ae7411062ce74d6e8fecb774565dc2a48f8991aa
+ src/bolt_api_sdk/models/cart_loyalty_rewards.py:
+ id: 4293eb78b97d
+ last_write_checksum: sha1:13e8b8f2717fbafa05ada986432fab8a8a7b0b18
+ pristine_git_object: e34651b2c27d3a9240ccc4aeb389a503265e6d7f
+ src/bolt_api_sdk/models/cart_loyalty_rewards_view.py:
+ id: 16be0f484654
+ last_write_checksum: sha1:75614d6c87558f480819619fdd3bad93af825e64
+ pristine_git_object: b924fe4570b9980865ef26597cd345a7cc773abb
+ src/bolt_api_sdk/models/cart_shipment.py:
+ id: f67c4fe9bd33
+ last_write_checksum: sha1:f67b87cc92ba45fb0e5b39eafb3d3d32e0c44b0e
+ pristine_git_object: a96495225b2dab5c10df1b94eddab750cd633f08
+ src/bolt_api_sdk/models/cart_shipment_type.py:
+ id: f14be679256c
+ last_write_checksum: sha1:a53574a0890b186ab622dab13c2e9f3a6caa88e5
+ pristine_git_object: b1b82445a874d8ad094c01f4fa61953e0e68b9e9
+ src/bolt_api_sdk/models/cart_view.py:
+ id: 168dddf2df2d
+ last_write_checksum: sha1:62982d2ec48be8447fd88d796f8e06e8bc1c6d95
+ pristine_git_object: 166082ed06cd49fd499a80bcecdf7e226926790e
+ src/bolt_api_sdk/models/chargeback_details.py:
+ id: 37b2439ca213
+ last_write_checksum: sha1:2c8f3820bcc12440122664cfdd5c6083a01ae139
+ pristine_git_object: d7be98da5f4e2854467bdb2dddfbac5381fc46f5
+ src/bolt_api_sdk/models/chargeback_details_view.py:
+ id: a11b71bfa637
+ last_write_checksum: sha1:e91e26c081747f7190f0ebfd532f9a4539e2506c
+ pristine_git_object: 1bceae731ffc38abd34b5057e71c1af2b86e365a
+ src/bolt_api_sdk/models/chargeback_event_view.py:
+ id: c9c78776e048
+ last_write_checksum: sha1:96ebfac2f19f6f79c65b2f481e3b3a85688aa026
+ pristine_git_object: 9d1aea5bbf706014a510a40a84e1ff6b30146a9c
+ src/bolt_api_sdk/models/chargeback_reason_code.py:
+ id: 66a514b7e85b
+ last_write_checksum: sha1:f9f02accb6f41579cae2754f355b3b02c0f1eb84
+ pristine_git_object: 7baa11f169c6f589cdf92aab2436aa0c6d0f1496
+ src/bolt_api_sdk/models/chargeback_representment_result.py:
+ id: b4602ce22247
+ last_write_checksum: sha1:37f05934478dc1c4f0e655c97e5fd8d3022e943c
+ pristine_git_object: ba3fbb54783662e46ebd15223506875dc1e0213b
+ src/bolt_api_sdk/models/consumer_billing_address.py:
+ id: d7131d4460b7
+ last_write_checksum: sha1:b11187dd09408219077f9ac3c32d8b0ca69e67ff
+ pristine_git_object: 09da46e0223a3fa39990de63f54802e4f81194c6
+ src/bolt_api_sdk/models/consumer_membership_status.py:
+ id: 899508fb71ef
+ last_write_checksum: sha1:e6ffb1f390a4e30bc2c77a498642106ede65dcae
+ pristine_git_object: 3bb6274c86c7712ff52599bf9bc22607ea6139ce
+ src/bolt_api_sdk/models/consumer_self_view.py:
+ id: 90adfd303391
+ last_write_checksum: sha1:64fe81f58839878299097cbceb7edc42830fc783
+ pristine_git_object: a6436318118b8e531ee87560572aab145568e05f
+ src/bolt_api_sdk/models/consumer_summary_view.py:
+ id: 50878bf2231c
+ last_write_checksum: sha1:76f8697dd898eb50b38ecd3bfd571866d567c317
+ pristine_git_object: 77072acf400f2990342cb31db088d5508d3c6d2f
+ src/bolt_api_sdk/models/consumer_user_membership.py:
+ id: f4b7478a1cca
+ last_write_checksum: sha1:99129ecd0aed937803adc94d90eba26a841d1b25
+ pristine_git_object: cdfa87fa21e0baa23c74e12aaa186a4137695170
+ src/bolt_api_sdk/models/create_account_input.py:
+ id: f698d45fbf6c
+ last_write_checksum: sha1:61aef05786605ea47510fa91b2b31d78d3363f8a
+ pristine_git_object: a193d706400612a16765533af2aaa2d90bbadc17
+ src/bolt_api_sdk/models/createaccountop.py:
+ id: f59a5523d589
+ last_write_checksum: sha1:184eee06b0b99e50ff724b2ba7aeef58c40212b2
+ pristine_git_object: b7f5794b2f14fd098f3b18b5cdaaf258fd7b8e47
+ src/bolt_api_sdk/models/createtestingshopperaccountop.py:
+ id: d5068b8e4ecb
+ last_write_checksum: sha1:4be84140e95a6e1416b187b53204d932a6cd7a1d
+ pristine_git_object: 2023de50ba97a6c79bf07ec824efc36ce8635e5b
+ src/bolt_api_sdk/models/createwebhookop.py:
+ id: e8b3fa5081c7
+ last_write_checksum: sha1:4faa65cb7ef59fc31b56f2469aa45110632d8122
+ pristine_git_object: 97f6be7a7dae65f7782bc6d98b56fa993d68712a
+ src/bolt_api_sdk/models/credit.py:
+ id: 790617e9e860
+ last_write_checksum: sha1:e6788f6bd0a0df1c0187aa69721447b1419e8ff1
+ pristine_git_object: 55f58326412c213e475ead00f217c27e8b372399
+ src/bolt_api_sdk/models/credit_card.py:
+ id: 56eda6d90892
+ last_write_checksum: sha1:cda85befc5374920877cc65a749cc31c925cfa49
+ pristine_git_object: ae17c5e6d68823e901467b97c4efe2dfb64836ce
+ src/bolt_api_sdk/models/credit_card_authorization_reason.py:
+ id: ba211386b92e
+ last_write_checksum: sha1:e80dd8b4fd8dc451571662e0a72fec99ac1638e5
+ pristine_git_object: 18627347651441fc89e48bb90c2f04d8e2f62bc0
+ src/bolt_api_sdk/models/credit_card_authorization_status.py:
+ id: 3fe9eb75071e
+ last_write_checksum: sha1:e429ed778a50a0aa060c750bfb4695e130d5720a
+ pristine_git_object: 327d0c86a1bf1ff067ee4fbdf944237d5b583fe3
+ src/bolt_api_sdk/models/credit_card_authorization_view.py:
+ id: 02bf601553ff
+ last_write_checksum: sha1:3ca1efd1e576257744919d501ede3b24f0b2773d
+ pristine_git_object: c4d35f49bc9472baa8fd67681dd3d3303c2a6d38
+ src/bolt_api_sdk/models/credit_card_capture_view.py:
+ id: c922cac628ba
+ last_write_checksum: sha1:0a60422b49838b2172a103bd30c318df4d087c63
+ pristine_git_object: ecdf74e1b7194235fc7d4f79d50d5b01ad21e2a4
+ src/bolt_api_sdk/models/credit_card_credit_view.py:
+ id: 4015d3a7e71a
+ last_write_checksum: sha1:20f86513e54663a7232f5021e300bc7bc526f514
+ pristine_git_object: de47c426ecb8bdc55dbc5bf26cd3cfed7867dc4c
+ src/bolt_api_sdk/models/credit_card_user.py:
+ id: 49a86d7721db
+ last_write_checksum: sha1:6f8f8ccbf5692a972e86de2b49cb42db159e050e
+ pristine_git_object: 469c597e0d4308711656335684ec6aa26dc46df5
+ src/bolt_api_sdk/models/credit_card_view.py:
+ id: d827e45ecf17
+ last_write_checksum: sha1:cd70bad20e24c790e0732c60e9d69c4a485cf2f9
+ pristine_git_object: 7cd21a459437b626ebb9fd376ff9540e464f1def
+ src/bolt_api_sdk/models/credit_card_void.py:
+ id: fbe6e6de32ac
+ last_write_checksum: sha1:0e904b695d8f6f8cd9d9f1949d681ca07a03efc2
+ pristine_git_object: d3627957b25076a5fc6b7b7f1124d721ba255152
+ src/bolt_api_sdk/models/credit_card_void_cause.py:
+ id: fb442893533f
+ last_write_checksum: sha1:d1e2c32b43a9691c4cbc90151037465294056324
+ pristine_git_object: 6efe191d3dfb144b6f861acda96956f612d218fb
+ src/bolt_api_sdk/models/credit_card_void_status.py:
+ id: a5ca3b3ed37f
+ last_write_checksum: sha1:ef51f1f24419a2282dfd24bb808082d0a311bedb
+ pristine_git_object: 282feeade31c61f53d08b6090ddd5b520b8770b9
+ src/bolt_api_sdk/models/credit_card_void_view.py:
+ id: 9b341757af53
+ last_write_checksum: sha1:8fc514c92df5853aec63e61e33bfbf48fcd4045e
+ pristine_git_object: 9769b8f943eb27e713ff85170b7ee44e7596476c
+ src/bolt_api_sdk/models/custom_field_full_response_view.py:
+ id: 02ed2048d02e
+ last_write_checksum: sha1:aaa3e942ef61ca426042f3cb70ed451a4856ef46
+ pristine_git_object: f9743777ef4c79d3cb7079161ecb85883a6f5203
+ src/bolt_api_sdk/models/custom_field_response_view.py:
+ id: ab7677672edb
+ last_write_checksum: sha1:0169d6198857789cad45bf969380f99afb4f0307
+ pristine_git_object: 3008ed128d9dd119291da58b449a71d8d220cf15
+ src/bolt_api_sdk/models/custom_field_view.py:
+ id: 1d5463e19e08
+ last_write_checksum: sha1:7139d2c06e526942bbcb5b2d5b719caec731a312
+ pristine_git_object: 30b03aa2c4608fb3d78465fcbe2d16d1714f12fa
+ src/bolt_api_sdk/models/custom_fields.py:
+ id: 1d60367291cb
+ last_write_checksum: sha1:d68cf449a4fbde983b32fe5c3b86832267e1879e
+ pristine_git_object: 83b2e0bb5f69964186922e9e2c3687a99ff48e6d
+ src/bolt_api_sdk/models/customer_list_status.py:
+ id: 41531f392692
+ last_write_checksum: sha1:2da64a7c625c6ba344fbc52b55b376031ac36925
+ pristine_git_object: e71834bf058ded2aa0386a5609985f19424dc719
+ src/bolt_api_sdk/models/deleteaddressop.py:
+ id: 0c17222c6535
+ last_write_checksum: sha1:8828cc52d06adb45a08db878ffb8bedd5767180e
+ pristine_git_object: 5c33ce35d48a6a9806ffa7d5958b28121fbb3951
+ src/bolt_api_sdk/models/deletepaymentmethodop.py:
+ id: efeeda8d2bb8
+ last_write_checksum: sha1:1710cd706b9af1de7cb4a99ee4374661370f59a8
+ pristine_git_object: aeac58d35c91816984a333b9a50838dc66ce6712
+ src/bolt_api_sdk/models/deletewebhookop.py:
+ id: d4583634f0d1
+ last_write_checksum: sha1:96af6844b0a8901170669874eaf66dba2cf0baf3
+ pristine_git_object: 6742f2bd1ffaf0969294dc286884c2ec9b7dc063
+ src/bolt_api_sdk/models/detectaccountop.py:
+ id: 9826686c1a93
+ last_write_checksum: sha1:f92abe131ff07d73f31eec41372979d74ee50222
+ pristine_git_object: 32611768f6d0b2d51e17e01e76d9f749ed0eb87a
+ src/bolt_api_sdk/models/digital_delivery.py:
+ id: d0b6b3393d64
+ last_write_checksum: sha1:f1342a944a2cbdd26e3c09185f29cf193e5e6411
+ pristine_git_object: c378cea92a66125d8d10fb0b13fb047b1742177d
+ src/bolt_api_sdk/models/editaddressop.py:
+ id: 96b768f8ab3b
+ last_write_checksum: sha1:9b61770bb51b591e2a42dd47c1cc66487f7bd4e3
+ pristine_git_object: 32d714ce233f74b085efd0b0d45d0ebe88a124a6
+ src/bolt_api_sdk/models/eligible_payment_method.py:
+ id: 3983ad23f80a
+ last_write_checksum: sha1:156a664ce6f3c32a88a9db17aff5ebdbc170a6ed
+ pristine_git_object: 28f3ed32b312b1df9347841924bf023ed43af440
+ src/bolt_api_sdk/models/email_priority.py:
+ id: 59344f750b4e
+ last_write_checksum: sha1:3cf6aee3ee21d1ea65b891ddaa3ee9df43222726
+ pristine_git_object: 1535ee1f03fd2b85a51a6d6c07346b89c2b5ea03
+ src/bolt_api_sdk/models/email_status.py:
+ id: 832ce7266fe0
+ last_write_checksum: sha1:558ccdc057f08aaed22afa39db0c9567597858e1
+ pristine_git_object: f872ed658718755e52fd6840f6cbc296567d8e20
+ src/bolt_api_sdk/models/email_view.py:
+ id: e713e354b054
+ last_write_checksum: sha1:637cc0a39ca793f791cf32a1fb798bfb91ad88d0
+ pristine_git_object: 7e6b6cf15f6a942b1481ab220e09c03b02aff36e
+ src/bolt_api_sdk/models/emails.py:
+ id: f677e9d9d466
+ last_write_checksum: sha1:6a509a373426751bf3d1a235f66f7463a35654af
+ pristine_git_object: b3cbcafaf6ce2591658c0e44d6275cf38f97186d
+ src/bolt_api_sdk/models/error_bolt_api.py:
+ id: 8aaa333f22e7
+ last_write_checksum: sha1:e14212f7636cde8847777c5b345a3779922afa70
+ pristine_git_object: b6700a856df96a1441b349225fb57eb5a13f7e5c
+ src/bolt_api_sdk/models/event_group_create_webhook.py:
+ id: 9f770c7f131c
+ last_write_checksum: sha1:4a336403141131b3de9f119d6bdf7c5a72657884
+ pristine_git_object: 81ffac7a43feb01363f216b69666ece2d8589ad6
+ src/bolt_api_sdk/models/events_array_create_webhook.py:
+ id: 7282cf8b6a05
+ last_write_checksum: sha1:2875ed6139e4bd3e42080eaadc76e86f0804f054
+ pristine_git_object: d3111d08a56604f1cd22696bd8f38b2f87da9258
+ src/bolt_api_sdk/models/fulfillment.py:
+ id: ca25cff46e7b
+ last_write_checksum: sha1:16f3b795cf2a605565d59b5387937ecf7559af0b
+ pristine_git_object: dcc2cdf4b5dfbb3d6899f94e641cac4c8fd3b98c
+ src/bolt_api_sdk/models/fulfillment_view.py:
+ id: 0671a893258d
+ last_write_checksum: sha1:e445bd33a41861beccbf14d39163b33011a10563
+ pristine_git_object: f1d85d18d29231e9817492c72694274970eaca47
+ src/bolt_api_sdk/models/getaccountop.py:
+ id: 1ece4d687f72
+ last_write_checksum: sha1:b0c2d78bb3474bcf1d8b0a83dc3f0d3ee762a06a
+ pristine_git_object: d75e4146a5a9aab1b78990fd1433991900880985
+ src/bolt_api_sdk/models/getmerchantcallbacksop.py:
+ id: c970a8edf9f8
+ last_write_checksum: sha1:4318eb17deb9ea5527fd81ebc6439cbf7c99aeae
+ pristine_git_object: ef94f41fd11d9c726c43d8c9d4651fd7b83be2d5
+ src/bolt_api_sdk/models/gettestcreditcardtokenop.py:
+ id: 0cb771f29450
+ last_write_checksum: sha1:b6fc357eb90caffe71afbfeb48b0d2e683021ef1
+ pristine_git_object: 1df22e3cfad16358e41115291a7b094d7e3adbe4
+ src/bolt_api_sdk/models/gettransactiondetailsop.py:
+ id: 6942e2b04fd2
+ last_write_checksum: sha1:a133da72f2babb429714ff0c11e218c0bacf80f8
+ pristine_git_object: f4961839f2eead4f2938353c480296a7de98f4ce
+ src/bolt_api_sdk/models/getwebhookop.py:
+ id: 44e9fcca651c
+ last_write_checksum: sha1:00f3fd876b707d5d14a6f394d7b32ca0b62fc996
+ pristine_git_object: 08a7f0f0d4effbc3cbdb9d1ddc1ca3a1faa7e107
+ src/bolt_api_sdk/models/gift_option_view.py:
+ id: 72a06e034127
+ last_write_checksum: sha1:26e47a1b087ce924f6a7c221a171f11559f3bead
+ pristine_git_object: 7c396fa4de09e371065b010a32fd9c2780bd481a
+ src/bolt_api_sdk/models/gift_options.py:
+ id: 16e7adf9737a
+ last_write_checksum: sha1:fae501f4cd3ea63ab6d1ec78dfe3111b01b2fb22
+ pristine_git_object: 72cb4239e94e6d469947d260021466fc2118fd6e
+ src/bolt_api_sdk/models/i_authorize_result_view.py:
+ id: 0eb857dd5334
+ last_write_checksum: sha1:6f0c243ce2c8f35193e3f0f0fd2cd2632bcfa705
+ pristine_git_object: 20c0edf65cdf6b566f3c6cd3ff0e77c951fed0ca
+ src/bolt_api_sdk/models/i_cart_discount_view.py:
+ id: bed37140407f
+ last_write_checksum: sha1:a7a2e86658c1d20db0c90f2e736548f466c23690
+ pristine_git_object: 1e9688d9c2d8ce152143b733ad79ca41dd83985f
+ src/bolt_api_sdk/models/i_cart_fee_view.py:
+ id: d39476c78627
+ last_write_checksum: sha1:f89ad88f5c379d5532e2ac58791f02fd1001ac74
+ pristine_git_object: 975be627bbdb58f0110e52c2e24bedfa3be7d1f9
+ src/bolt_api_sdk/models/i_cart_item_external_inputs.py:
+ id: f154cea7a680
+ last_write_checksum: sha1:5e822276e1487aed938ef7b962cd749c0d3ea9d9
+ pristine_git_object: c356b6b243f7197e6bf6e46885caeae86402eadf
+ src/bolt_api_sdk/models/i_cart_item_view.py:
+ id: 3b4eaaeb513a
+ last_write_checksum: sha1:0a4991834b8384eb3ad9416de3e13703dbd709bf
+ pristine_git_object: 399232b5dc7d7ffb138e617bb097d80e346dc66c
+ src/bolt_api_sdk/models/i_cart_shipment_view.py:
+ id: 6fa6c5120006
+ last_write_checksum: sha1:02ac61668c09e7d4f288c64190c31c8daabeccad
+ pristine_git_object: 02e2c01ccecc66f0bb0bbe9ff306b45d5a142957
+ src/bolt_api_sdk/models/i_cart_view.py:
+ id: 9293455ff427
+ last_write_checksum: sha1:c4d9d90091adbaa868d6d5ca6a6c21b6a9cd08f5
+ pristine_git_object: d9e47abc35c8cd0ba061780845a8508109bbbbcf
+ src/bolt_api_sdk/models/i_currency.py:
+ id: c84e5d446d6f
+ last_write_checksum: sha1:3129273257b5f368af3b81a3a285c32e9f231bd1
+ pristine_git_object: 81ce401b8208a7c29f2175da8d02714dc17cd196
+ src/bolt_api_sdk/models/i_custom_field_view.py:
+ id: 5447761ecd3e
+ last_write_checksum: sha1:3b9924cecc3349c2818994e9b457a1f219522766
+ pristine_git_object: 65aa5e93c2744f3ccbbf5fdc8bf4fad1a60f697e
+ src/bolt_api_sdk/models/i_description_part.py:
+ id: 65fba9c084f4
+ last_write_checksum: sha1:8835ee5bffbb7bad170dbcac70a7dbab93418ae7
+ pristine_git_object: 2efc201c6922bdfb82e0732e742dd1418ea3044b
+ src/bolt_api_sdk/models/i_description_tooltip.py:
+ id: 9cc43ad2e695
+ last_write_checksum: sha1:9dace1ff060c6488fe0bf753affda01a2cf5fe2a
+ pristine_git_object: 2af6e1edb70ab76dee7f372da5a09774cc7d3b15
+ src/bolt_api_sdk/models/i_free_shipping_discount_view.py:
+ id: a8a0542d5c04
+ last_write_checksum: sha1:ced19f74f94ec7c21f9828168bc8a8dad9017a3a
+ pristine_git_object: bb85f2d4796c42ce3ac94d64f27d469418168122
+ src/bolt_api_sdk/models/i_gift_option_view.py:
+ id: 0f0d999629c6
+ last_write_checksum: sha1:0adfcdd0bd22bee118d471247baa8066d8af0e24
+ pristine_git_object: 534a7eeeb396072c9d822d240dc17b0318f081bb
+ src/bolt_api_sdk/models/i_order_dynamic_content.py:
+ id: 5959f96e17b6
+ last_write_checksum: sha1:ba74ac522fc0bf84621d81dca189984ea9d46c98
+ pristine_git_object: bd421967632497523f500f80699bb0ea133aae46
+ src/bolt_api_sdk/models/i_order_external_data.py:
+ id: 6150282e5d0e
+ last_write_checksum: sha1:ba6a74022888c88ef27f40ad70aaeca8698a9cc4
+ pristine_git_object: 19a3469b43338dae616b6f618e06a6a9dee27b1a
+ src/bolt_api_sdk/models/i_order_metadata.py:
+ id: 71767c7c3581
+ last_write_checksum: sha1:bf49c9597c46964e9ab5ec9d37794db6754629d7
+ pristine_git_object: 8f7eeeeecb95dc75ce476ea9b93f08f27fb9d188
+ src/bolt_api_sdk/models/i_order_view.py:
+ id: e951703cc10e
+ last_write_checksum: sha1:e34466be5078ff22a6210db8074563aadf2186f6
+ pristine_git_object: 132ba50e1784126b4152c30e7c2c24595c6106ed
+ src/bolt_api_sdk/models/i_weight.py:
+ id: 82f80c3c3b88
+ last_write_checksum: sha1:5049709b19d2818d3a2c6a02d93ae17744b63cf6
+ pristine_git_object: ff2267c416e7f2b3faaaa53bede16560275102f0
+ src/bolt_api_sdk/models/in_store_cart_shipment.py:
+ id: e03039e4a4cb
+ last_write_checksum: sha1:8cf70295299f5e72f57bd3775361e42ab785d2ea
+ pristine_git_object: a61a4b9750303ebecc6b8965de7df41cd64b5b5a
+ src/bolt_api_sdk/models/in_store_shipment.py:
+ id: e17553117633
+ last_write_checksum: sha1:27ee51eb06ebaa4f00ce579199bac41bb19cb767
+ pristine_git_object: d821d4d9b7b2765b69d1be6c4bc439cb7a85b76d
+ src/bolt_api_sdk/models/in_store_shipment2.py:
+ id: d428b451f0e5
+ last_write_checksum: sha1:d0d38aaf6facc4f73657f9b8fb12f30f64ca9d01
+ pristine_git_object: c6a150e2b30c3568938bf30b0caac316c0d2a29d
+ src/bolt_api_sdk/models/item.py:
+ id: 6def9d7d2d72
+ last_write_checksum: sha1:068b51114dbcfc5c00c212dfb1b5cd262332db25
+ pristine_git_object: 3d409c0783339272a48deda1c6180c7e479c57e0
+ src/bolt_api_sdk/models/item_property.py:
+ id: df3500d98d9b
+ last_write_checksum: sha1:7fac1210dc466bb077cbb1bed6f6d7e1f2dd7160
+ pristine_git_object: 527f29c12675d2570355d62baa042007e4e5ebe4
+ src/bolt_api_sdk/models/item_shipment_type.py:
+ id: 1ccce3fd72aa
+ last_write_checksum: sha1:3be17948fd250022907aea8e339b97676e0590f6
+ pristine_git_object: 803fbd2b222cf496732002d9e18db1872da473c0
+ src/bolt_api_sdk/models/login_view.py:
+ id: bf369c9b416b
+ last_write_checksum: sha1:378a339428d4529d9dcb7c2a098b18243a68d4d1
+ pristine_git_object: 4d7ad1cf64791c0fe57ce464a94c3b8e48d65a75
+ src/bolt_api_sdk/models/manual_dispute_view.py:
+ id: 59cafc9667d0
+ last_write_checksum: sha1:40eb7d04785d0d21d9753d669876c903fcbb10b0
+ pristine_git_object: 2c77f48d11a53b417279d61176f2230d5120ba81
+ src/bolt_api_sdk/models/manual_disputes.py:
+ id: 6a004f432f88
+ last_write_checksum: sha1:6b6fe7e6934529220a60ebd136638e2a7f70ea4d
+ pristine_git_object: fcedf98478b00bc0d83247534adb822d17468790
+ src/bolt_api_sdk/models/marketplace_commission_fee.py:
+ id: c989edf77477
+ last_write_checksum: sha1:207317d2ce1e67746fb5b682c712078839e7dccf
+ pristine_git_object: 6ce1f561bd3bdaa2b5c32ab91b7bb845638a2150
+ src/bolt_api_sdk/models/merchant.py:
+ id: 93494882d8ad
+ last_write_checksum: sha1:e1bc4bd61007cff6d131fd209e1c875292d14e0f
+ pristine_git_object: b66dd46d0d1afedeb37cd0f5f0b5ae643ea9a7e0
+ src/bolt_api_sdk/models/merchant_callback_url_type.py:
+ id: 500525e89488
+ last_write_checksum: sha1:d5a905d404de4f65a681c3043e0d50abc07aefa7
+ pristine_git_object: 931554f1996d81d2d413fc19c3b594142582c066
+ src/bolt_api_sdk/models/merchant_callbacks_input.py:
+ id: 6993759a2d84
+ last_write_checksum: sha1:00063db0b6a82b40115e6f4ab3dc9390f2da2a0b
+ pristine_git_object: 4dc01e54c49c2d6c619ccb1b759038a7b1c3791a
+ src/bolt_api_sdk/models/merchant_callbacks_view.py:
+ id: 70260a964cd3
+ last_write_checksum: sha1:21a2c310f7b49a6ad07ef07b88b495ef88c70469
+ pristine_git_object: cfb48e67938e8af25bb78217aaa501c5948b5ea0
+ src/bolt_api_sdk/models/merchant_credit_card_authorization.py:
+ id: 4cb460ccfec6
+ last_write_checksum: sha1:63616008026f30f56e42f5768f0966f4f15cedad
+ pristine_git_object: ca7e16facce814193a16aea8a8485f7a13a10f12
+ src/bolt_api_sdk/models/merchant_credit_card_authorization_recharge.py:
+ id: 62e4a3931d2b
+ last_write_checksum: sha1:b569118f4b94a3a96ff64d3b729e01ac7f68c394
+ pristine_git_object: 8a20b76fce5d19a6b0641c49af259cca4fbedae6
+ src/bolt_api_sdk/models/merchant_credit_card_review.py:
+ id: 9100dffdbaa1
+ last_write_checksum: sha1:90559e4d561ad2cb2ec418d219e37ac654ed8795
+ pristine_git_object: 38b21cf56eab9740f12cd7bfc394ce601fd1b4a9
+ src/bolt_api_sdk/models/merchant_division.py:
+ id: 83902b4ecfd4
+ last_write_checksum: sha1:3258aba86b09b81d2c02401e3de134f9b20765d8
+ pristine_git_object: 2f120f82d608e13d36a3ad2758b1f5f7f1bc5603
+ src/bolt_api_sdk/models/merchant_division_logo_view.py:
+ id: 23ed3b55e878
+ last_write_checksum: sha1:836434701a3b9b47953bc459c9585c55adc62810
+ pristine_git_object: 237563647493ea2382857c434832817a6b5ba9ec
+ src/bolt_api_sdk/models/merchant_division_summary_view.py:
+ id: 849ed947ff1f
+ last_write_checksum: sha1:1c2e5425da27562a9dec589d572a6f551c64e83b
+ pristine_git_object: be3729e85bad0c07327ef4ce8e673616b092831c
+ src/bolt_api_sdk/models/merchant_divisions_identifiers_view.py:
+ id: 8810038987ed
+ last_write_checksum: sha1:7a88186263e6ec6d0f409b74644109b8e2666683
+ pristine_git_object: 24ab3c66c9b8aae11ebe8d4470ea9fb252eae8a5
+ src/bolt_api_sdk/models/merchant_identifiers_view.py:
+ id: 29f0ca680421
+ last_write_checksum: sha1:88bbe1873440ecc7b49cbce2953c319cb588d1c9
+ pristine_git_object: 0c82fe7478ee5116c0723c0b762b49ea59091a9e
+ src/bolt_api_sdk/models/merchant_logo.py:
+ id: 7e29c43847c3
+ last_write_checksum: sha1:9ebb626a09d8032d8857310e7cce4cb775aaa655
+ pristine_git_object: 3e6d9ba40303c63e16a882308560f773359a6735
+ src/bolt_api_sdk/models/merchant_onboarding_status_code.py:
+ id: 7fe171f02096
+ last_write_checksum: sha1:a127b9bfffa8b0e75c2cdc138ad152d4048dae9e
+ pristine_git_object: 9e7509b82c8f84bc271da8676028a286b8eb31b8
+ src/bolt_api_sdk/models/merchant_platform.py:
+ id: d6122ea23aae
+ last_write_checksum: sha1:4464ea0ef2e96a9d120bb9f08f0aa5f91c8f679d
+ pristine_git_object: d938f7e8c92afa3956e2afe40f423694b262b4e5
+ src/bolt_api_sdk/models/merchant_status.py:
+ id: c3758cd5ad77
+ last_write_checksum: sha1:a400270de2afb75616d1b5663efe5cb3b0005739
+ pristine_git_object: 215d88afa3721f72ef1976000599b675edb33a29
+ src/bolt_api_sdk/models/metadata_component.py:
+ id: b00ea9555dd1
+ last_write_checksum: sha1:e03e41d7de3d0700f1b2e7b2d592353c7037d2ff
+ pristine_git_object: 0214332dfc7bdfa5a99236944ec1a61f7826d0f6
+ src/bolt_api_sdk/models/mock_tracking_input.py:
+ id: 3fca575cc447
+ last_write_checksum: sha1:03579eb2bd76290bba7722c0745ec1228ee80700
+ pristine_git_object: 1760820ad42c41580b317ab05aa20310ce9e5bf5
+ src/bolt_api_sdk/models/o_auth_token_input.py:
+ id: 4ef48656f866
+ last_write_checksum: sha1:37cb85310e40993aa28e2dd60f4d0105ab1fe0b5
+ pristine_git_object: a87f8f7cf01265d9d246092843a9892188b0955e
+ src/bolt_api_sdk/models/o_auth_token_input_refresh.py:
+ id: 24de1d31859d
+ last_write_checksum: sha1:a64f2cb56af34c67cc5a955f90f33b927cf78eb6
+ pristine_git_object: 1b24b190223466c7075d39bca8cf09f00483f0ed
+ src/bolt_api_sdk/models/o_auth_token_response.py:
+ id: 05c53c008eff
+ last_write_checksum: sha1:adcf8ca1898822820f1d9fe3bf52bfdba37289c7
+ pristine_git_object: 5785aaf4da13362d3ce8296ff0bf35a2236ca9cd
+ src/bolt_api_sdk/models/oauthtokenop.py:
+ id: df727812e7ae
+ last_write_checksum: sha1:275997e2dcc82d39d8cf11b541a3438a0bd16b59
+ pristine_git_object: 623aa07d472b599ea655626228bc8302f575c5c7
+ src/bolt_api_sdk/models/order_create.py:
+ id: 87639ce65305
+ last_write_checksum: sha1:0dc7f57fca3022b079ef99dfa6e7f78ad79be96e
+ pristine_git_object: a74656fdabd3e278d9f2487a26f004b81f2aff78
+ src/bolt_api_sdk/models/order_decision.py:
+ id: 708ee3f5834c
+ last_write_checksum: sha1:69b54a7a1b363bba1e469f73c485400ca71dad6e
+ pristine_git_object: 173b197fa7b0a0a91b5705adf6d4a24a2ea318f6
+ src/bolt_api_sdk/models/order_decision_details_view.py:
+ id: ce13e0c67730
+ last_write_checksum: sha1:833fa13e2fe6baf4500cec73ab9cffd14cc8258f
+ pristine_git_object: ec4ee84f2a7395d7d9efe93647363450f3557312
+ src/bolt_api_sdk/models/order_external_data_view.py:
+ id: 3a555b4df596
+ last_write_checksum: sha1:110a5739b042dbbe758d28b92aa1f482d8210180
+ pristine_git_object: aa97e70d8da14071ae506066f9ec2e7209eeba50
+ src/bolt_api_sdk/models/order_track_requestbody.py:
+ id: 9d79e47a45c9
+ last_write_checksum: sha1:924881c704387ba686a886a731697567cd85b7d7
+ pristine_git_object: 9c5a3a4690f76a77d68f9bf84ca0fbed8b020b00
+ src/bolt_api_sdk/models/order_track_response.py:
+ id: ba4e79d4616a
+ last_write_checksum: sha1:21eca775e5ece7e20a182ddd8270f92fa4891e6a
+ pristine_git_object: af6337e360b39b174fd1c24e022542dedda4cba9
+ src/bolt_api_sdk/models/order_view.py:
+ id: 1d12dd2a5622
+ last_write_checksum: sha1:6b652b9209f4f912f52fa1f50c8522ab9ea941bc
+ pristine_git_object: 72caf999651ef056a592f05077780c3343c08247
+ src/bolt_api_sdk/models/package_dimension.py:
+ id: 2ee9c49ac105
+ last_write_checksum: sha1:b62fbbb1cfe410c5bac0a40b62cddd4176cb72de
+ pristine_git_object: 415056c966c7cc0eec5f3241aa62988347d40926
+ src/bolt_api_sdk/models/package_weights.py:
+ id: cc37b6d9efbc
+ last_write_checksum: sha1:c6b9afc80af72db206149dc2c45860ccffab8c56
+ pristine_git_object: 975f4af6cd77d8d4bb051f13ed2115ce70ad44f9
+ src/bolt_api_sdk/models/payment_method_account.py:
+ id: d0e4f327e4ba
+ last_write_checksum: sha1:2d19bcaf781557dc0b1e9908e238bea153a9df14
+ pristine_git_object: b78e02e33f485f16a3468475cbea1c654dfb7d85
+ src/bolt_api_sdk/models/payment_service.py:
+ id: 0e3481f5390f
+ last_write_checksum: sha1:d067a6d816877dab19c2eb2fd63639f816d124d8
+ pristine_git_object: e8b8b8ed8b9f2b228da9b1e7c0aae68b4b8e2bb7
+ src/bolt_api_sdk/models/phone_priority.py:
+ id: 82d413d3f794
+ last_write_checksum: sha1:87e1a5b6a5a74ec7c04b677b7b3cfada24ea4696
+ pristine_git_object: f52a444cdf25f72de4dda512b678c295c8241691
+ src/bolt_api_sdk/models/phone_status.py:
+ id: ef67a8490ca5
+ last_write_checksum: sha1:a5ca9e37b7199bd61d489899d5a8293fe1ae1d75
+ pristine_git_object: fe1a1780fe64160307dcf0a8e2d36540c9e2dafb
+ src/bolt_api_sdk/models/phone_view.py:
+ id: 66ea71c73bad
+ last_write_checksum: sha1:658e6d14c0c403278200456e368598c1a3b1ad91
+ pristine_git_object: b5d562f27b18eadc28e458fdeaf8e1cf9eb3a29c
+ src/bolt_api_sdk/models/phones_with_country_code.py:
+ id: f98cc4d624cf
+ last_write_checksum: sha1:c0e6d0e7281b3becefe2089605593466836fdead
+ pristine_git_object: 461ef90a7875159ca9d3a79ff39f58ed423d4e47
+ src/bolt_api_sdk/models/priority.py:
+ id: ba3703081845
+ last_write_checksum: sha1:fa0f1e039486220e3baac4ec13ffe553538e7d26
+ pristine_git_object: bbbc01d9b78d29e32931ab6a8d0881b4c019b6be
+ src/bolt_api_sdk/models/processing_initiator.py:
+ id: 40a94ecb8e84
+ last_write_checksum: sha1:af85f1ed13a16e98d784cafc6854da02477997b8
+ pristine_git_object: 36ae921e7e9b5f84c7dd9c42f245ee3e73a225ea
+ src/bolt_api_sdk/models/profile.py:
+ id: 7cd7ddd57ca2
+ last_write_checksum: sha1:ff6de959e24b751b073811ea76314d18a61bf781
+ pristine_git_object: d7e69994af22ed06628e61feebf1085cd4609d55
+ src/bolt_api_sdk/models/profile_view.py:
+ id: d48c0912a77e
+ last_write_checksum: sha1:9c77add80288f082436eb1c8c00f5ceeb3eeefda
+ pristine_git_object: f419809b908781c4c3d560982a6c1c7a29a9fd02
+ src/bolt_api_sdk/models/querywebhooksop.py:
+ id: 6560f8557595
+ last_write_checksum: sha1:feb38ee2525228db59cc1ef4c18c8f0f87f9a691
+ pristine_git_object: 6455075fa53215bb5bba5df4fc6599575cf11364
+ src/bolt_api_sdk/models/refundtransactionop.py:
+ id: 499e3f803c91
+ last_write_checksum: sha1:b129379631e8d5691c536750fbf187b6c850538f
+ pristine_git_object: 72c16765524d596aa246b593e227679a5414b6d9
+ src/bolt_api_sdk/models/replaceaddressop.py:
+ id: 5dbe2f68a4e8
+ last_write_checksum: sha1:7eb8f4cbd1e52b8f0fa1bbc7ce6312300bffb753
+ pristine_git_object: 59b10be54497f9676a28545e4cb81cb2b5e89420
+ src/bolt_api_sdk/models/request_result.py:
+ id: fe125f45d515
+ last_write_checksum: sha1:033275915c130ef1fb2228bf03988d8783860d82
+ pristine_git_object: 41c6be11982502b76d1d84d1b8d9a253a76c9b3c
+ src/bolt_api_sdk/models/request_status.py:
+ id: d547b26a4c2b
+ last_write_checksum: sha1:04f6a1581200a0ae1832a00040cf7f6f0429073a
+ pristine_git_object: e82904f04d391e17fd0c6f2c5b9c1adabfe23353
+ src/bolt_api_sdk/models/review_ticket.py:
+ id: a23cd5b4e2c0
+ last_write_checksum: sha1:000bcf89d30b0dbf570dba76252fd3a8ceca6ce1
+ pristine_git_object: ede429e4f974c0685d164d0760f639a11c2ce187
+ src/bolt_api_sdk/models/review_ticket_view.py:
+ id: f70f6af36863
+ last_write_checksum: sha1:7431584baf0e670e9326096ec442f750b8b0c76f
+ pristine_git_object: d75f36f90fb9f5f427c6b4f7d8f68ea4370f84c7
+ src/bolt_api_sdk/models/reviewtransactionop.py:
+ id: f423da2301fc
+ last_write_checksum: sha1:c0be5b98a2820615778505b7a22ec16d9ba4198c
+ pristine_git_object: e511164944969eb36a363be71924d78cd98707a6
+ src/bolt_api_sdk/models/risk_decision_factor_yml.py:
+ id: d99450193650
+ last_write_checksum: sha1:b92d8f6de70e754d62950b53a0163d27b51a3d12
+ pristine_git_object: 4ffeb4d9d281b31da66e9b8725637e91e5a465f8
+ src/bolt_api_sdk/models/risk_insights_yml.py:
+ id: 1d356a406009
+ last_write_checksum: sha1:12116578c78b19b73dbf28e3a72fd572947cf030
+ pristine_git_object: f0d8786447bad53a95322eb57d196534a526b73d
+ src/bolt_api_sdk/models/risk_model_external_result_view.py:
+ id: e780261e5adf
+ last_write_checksum: sha1:fdeada16edd0fb3b992967ce40076c6aa3dcb2fc
+ pristine_git_object: 83fc9610a619f5f62be64645a124cda7803686e5
+ src/bolt_api_sdk/models/risk_model_resul_contribution_view.py:
+ id: 144c169b04a6
+ last_write_checksum: sha1:fa244734c85e56984c6768089cc5c2523eaff931
+ pristine_git_object: c0f1f606c354427b49acf767a3b849873eed3171
+ src/bolt_api_sdk/models/risk_model_result_view.py:
+ id: 35131722b3f5
+ last_write_checksum: sha1:104fd886da5b73407b31cf417a1848dffa58bb6f
+ pristine_git_object: a45d1c61047cb66f93c6ded2d62698cac67983c6
+ src/bolt_api_sdk/models/risk_review_status.py:
+ id: a0f97d691312
+ last_write_checksum: sha1:33b66dbcc9fec4b8c71215e1539c496015b821be
+ pristine_git_object: 2656b737de0b7cfc2dc89cd04834be7ade188073
+ src/bolt_api_sdk/models/saved_credit_card_view.py:
+ id: dcf75973d05c
+ last_write_checksum: sha1:e5f21dc8c7a7b59a87ba9d0d3d99a59d346e1965
+ pristine_git_object: b6e484c20fa6c3d173fe0f133fe1a59851fc49cc
+ src/bolt_api_sdk/models/saved_paypal_account_view.py:
+ id: 9fbd14cf2700
+ last_write_checksum: sha1:4b57161ea610d50327446e666888e4ca2aefe04c
+ pristine_git_object: 523ce032d44833401f0d9be6a0538f1d549e945b
+ src/bolt_api_sdk/models/security.py:
+ id: 11809b31949c
+ last_write_checksum: sha1:aaeac208545058977e3ce3fa1eeb6537196f45ce
+ pristine_git_object: 39ff6f0249a90264b4dcbf006f20015eb3a6b8d6
+ src/bolt_api_sdk/models/seller_split.py:
+ id: 1af8f842e788
+ last_write_checksum: sha1:d0884a908a535d5b941ecfa86922533fea17d07a
+ pristine_git_object: 73dc29779a15de17920f83c6349929ea5ed6eaa7
+ src/bolt_api_sdk/models/seller_split_amounts.py:
+ id: b83f6bf69f58
+ last_write_checksum: sha1:839353773263fe033898451e74c5ce2e2705a16f
+ pristine_git_object: e5b2bdd94d1459753ced7c1ef1016d84872c640d
+ src/bolt_api_sdk/models/shopper_metadata.py:
+ id: af5478537dcc
+ last_write_checksum: sha1:93942e9fcc5bd4ef04466995fa8c1fd59afb9be3
+ pristine_git_object: 0d7361059b13122c7bc01100d6a41f5d5e70f712
+ src/bolt_api_sdk/models/splits_view.py:
+ id: 6a98c3e51e05
+ last_write_checksum: sha1:cd5a130b03ab3ac0f4f4e842b08ff4aa2c973a53
+ pristine_git_object: c41ea530068a680f00cf1f5d17a351f7ba8cc546
+ src/bolt_api_sdk/models/statements_file_type.py:
+ id: 785b5fb9d304
+ last_write_checksum: sha1:1d94dfbaf337dffcffb96ab18c1a1f92873a0dc7
+ pristine_git_object: 1d1611e71ef90a80d7a8cc8c4f51ce59d20a2b64
+ src/bolt_api_sdk/models/statements_type.py:
+ id: 2d7d3f18c9b4
+ last_write_checksum: sha1:dccda9c523a175ed86d50144fee3646f94c8cf62
+ pristine_git_object: 097e1256f762c360ec664fb8ce0e6548f8998b9e
+ src/bolt_api_sdk/models/statements_view_requestbody.py:
+ id: 03d20c981a16
+ last_write_checksum: sha1:e50407d7945486d85b3dfb5efa7bbb737fe20813
+ pristine_git_object: 9a773f686af5b7386ae9be2459113edc4e4251d2
+ src/bolt_api_sdk/models/statements_view_response.py:
+ id: b84983480e31
+ last_write_checksum: sha1:28a94709276dd367478c71fa92049f8c443de0e1
+ pristine_git_object: dbc47467dc823938861cdfa558e5e688c7cd463c
+ src/bolt_api_sdk/models/subscription.py:
+ id: 67f35135d634
+ last_write_checksum: sha1:b1514e446b0b7782d0c1f0d4689e523573821901
+ pristine_git_object: a5eadf2413b9fc59b94df8cb1840b64fc000208f
+ src/bolt_api_sdk/models/testing_account_details.py:
+ id: 182a5d42419a
+ last_write_checksum: sha1:eb232e55a2e4e9a2ce4d8ded1424063c619357f4
+ pristine_git_object: fa0991e76018a762cf3e88856a5782c7af367d1a
+ src/bolt_api_sdk/models/testing_account_request.py:
+ id: 6767ed8472a9
+ last_write_checksum: sha1:f656de1a097d648dfad169ab949d8f42857b0573
+ pristine_git_object: c20d01e3773fb800810a28f609af71142b2cb4fd
+ src/bolt_api_sdk/models/total_weight.py:
+ id: 611d5034f691
+ last_write_checksum: sha1:ef2aa5a0a78c814325f833b09f148f72f1ee0d48
+ pristine_git_object: 40171eb607df74b547324609629b9e01e42cfa24
+ src/bolt_api_sdk/models/tracking_detail.py:
+ id: a5f8b1a64d2f
+ last_write_checksum: sha1:82edefb8593ac4ab20c92ed3429bf72dc6667aa2
+ pristine_git_object: b1df1c99dd0ecc23afa5c32ce300e8d139710a62
+ src/bolt_api_sdk/models/transaction_credit.py:
+ id: bf3232d95b58
+ last_write_checksum: sha1:75934fe7885edb6c9335158e98aab538dc134d78
+ pristine_git_object: 8ca7163671ed38b8523dc56c40be4b6cc7b5880f
+ src/bolt_api_sdk/models/transaction_details.py:
+ id: 9b9554ee3006
+ last_write_checksum: sha1:79da59b9c6cd94e27f6a67d442584ef8025559bd
+ pristine_git_object: 954808ea2bf06cd1d4931d71df419a987d391f1e
+ src/bolt_api_sdk/models/transaction_details_view.py:
+ id: 808bf9360b83
+ last_write_checksum: sha1:7789f5a54d98020445f512bf8a0674527c6b24d2
+ pristine_git_object: 097a1405f37892a012fc3bf860f7876a256a208c
+ src/bolt_api_sdk/models/transaction_indemnification_decision.py:
+ id: 2fc6a9372255
+ last_write_checksum: sha1:9224c15ed50399e3c06bc772cc1d8d1b4cedaf37
+ pristine_git_object: d233385fed9288beb36662e1b36fa60289e92628
+ src/bolt_api_sdk/models/transaction_indemnification_reason.py:
+ id: f3281bfc0587
+ last_write_checksum: sha1:a1a244e43cbab5b7dab97487d49b867e426823b5
+ pristine_git_object: 2e731c648c776e0a8808a4bde73ea4fa55ec9955
+ src/bolt_api_sdk/models/transaction_operational_processor.py:
+ id: 6bf9ca9a5513
+ last_write_checksum: sha1:c76eae51ec0f0e861bdca6a1c791dcb3bbf0e2b0
+ pristine_git_object: 553a93a8670f8e2dc9a24dab0aa8dea0f73fcc8f
+ src/bolt_api_sdk/models/transaction_processor.py:
+ id: 1759cd2f863c
+ last_write_checksum: sha1:56f309a13f2ea72f577e64b267bfdc301855dd71
+ pristine_git_object: 33899c237d6ea1ec6caf8f693100ac69e6a8c209
+ src/bolt_api_sdk/models/transaction_processor_status.py:
+ id: 68d48f3d483e
+ last_write_checksum: sha1:6878b00294b1693de05904625c11180701c9a61f
+ pristine_git_object: cdff3f0c3e29f304b956d320bb4c540fa260dafe
+ src/bolt_api_sdk/models/transaction_rejection_details_view.py:
+ id: 679e6decef49
+ last_write_checksum: sha1:6ed1033852b250f2e029da1311dc00ba8e9eb3c8
+ pristine_git_object: 6203cc82c1c53ab5ccfacc05de8d012d7ae3cc79
+ src/bolt_api_sdk/models/transaction_review_view.py:
+ id: f87dc58a4744
+ last_write_checksum: sha1:e33f8e080af020798fc6614d360a5dd785bca5aa
+ pristine_git_object: 317a1866793042e8d0294f4f8a621706ed8b6c75
+ src/bolt_api_sdk/models/transaction_splits_view.py:
+ id: 455ceb9639e9
+ last_write_checksum: sha1:a63a7915b65c0fe7bee4427ffa8a172cfe471133
+ pristine_git_object: 6332e61abf56c1518f8ef1bac903ac298efcb57a
+ src/bolt_api_sdk/models/transaction_status.py:
+ id: 27015f5e2cdf
+ last_write_checksum: sha1:35739b25b89e5820b16b0757b71152c06f1e8dfb
+ pristine_git_object: 7551a0526a1dc60eac2c6639732cdc57b2cd7468
+ src/bolt_api_sdk/models/transaction_timeline_view.py:
+ id: a186ad44a65f
+ last_write_checksum: sha1:a97be5162ecf1902360c16b525a39ea26bc13cb7
+ pristine_git_object: db29f500ab8b166e9cec5cda1ec750c8ac751e62
+ src/bolt_api_sdk/models/transaction_type.py:
+ id: e7a0ba10e0cf
+ last_write_checksum: sha1:55357c745cb0f30ceb0d6041cda08da857719f2f
+ pristine_git_object: 00f676cbfc921de9f01ff680465100d5b7fed5de
+ src/bolt_api_sdk/models/transaction_update_input.py:
+ id: f44fb86d8ed3
+ last_write_checksum: sha1:fa6dbfc0e9c221984fb7be24add1b9df1ab97315
+ pristine_git_object: a19537312640380346d14f985af76d8512361f04
+ src/bolt_api_sdk/models/transaction_view.py:
+ id: f80c1a22a951
+ last_write_checksum: sha1:664330465b00e7502d1696a5ff1249b22ce58312
+ pristine_git_object: bc4766508b48511a6ef1371d9c80e48fbdecced1
+ src/bolt_api_sdk/models/type.py:
+ id: 007ef88ea6a7
+ last_write_checksum: sha1:992ff91e61968a244dae1d76d9ccf8a4a3dad4f0
+ pristine_git_object: b97da20699ad134bc53fa3cce71c6cdbb3b7ac93
+ src/bolt_api_sdk/models/update_profile.py:
+ id: 0448bca9bdad
+ last_write_checksum: sha1:8be6105c416b2988d01fc614093fb6960ce45b92
+ pristine_git_object: 4530335ea8ae3563f21198c478a5482d04bd6ec6
+ src/bolt_api_sdk/models/updateaccountprofileop.py:
+ id: 108f1e2f020e
+ last_write_checksum: sha1:4c9ab72b1e04688ad7a010404dd5e80ccf95b840
+ pristine_git_object: 86e535684ad169320e518cbb5bbc5d881213bd9c
+ src/bolt_api_sdk/models/updatetransactionop.py:
+ id: 59d13c62e36b
+ last_write_checksum: sha1:e74d071dbbdb75560c4327cc054341f226de1750
+ pristine_git_object: 6e6bab5faece1f4b1872a11c8e6ce6f6c8f5de3e
+ src/bolt_api_sdk/models/user_identifier.py:
+ id: e268f8706953
+ last_write_checksum: sha1:a99907fb12544315a8e115ba5bd3e4e0382056b5
+ pristine_git_object: 804a40e6b35df6456a9291f0117728fbe905b956
+ src/bolt_api_sdk/models/user_identity.py:
+ id: dece822e8f48
+ last_write_checksum: sha1:7345bec5b58d4daf7e67f10c68bb3ece73f8b9d1
+ pristine_git_object: 45ec90c190fd0ede152a8cba6b80be738d4ff4fb
+ src/bolt_api_sdk/models/v1_accounts_view.py:
+ id: e6c66195b5e9
+ last_write_checksum: sha1:f2622903b54831ebeb6bae195a485590d6cb2e90
+ pristine_git_object: a68b84e795cccc290445ba788bf205bcc61af944
+ src/bolt_api_sdk/models/voidtransactionop.py:
+ id: 7fac07e08fba
+ last_write_checksum: sha1:dc0fd9fd666add1a4ebb9d4b76cedba90cd224bb
+ pristine_git_object: e770583df8c0f9fe0b1b2619c070bd623268172e
+ src/bolt_api_sdk/models/webhook.py:
+ id: 6b819d15b7a5
+ last_write_checksum: sha1:9d2b243914cf3ed7a26df2fe57f98a6ac8f72c12
+ pristine_git_object: c780ccfdba3714a27ed223590abc7ef19fb23d7f
+ src/bolt_api_sdk/models/webhook_event_group.py:
+ id: 44bc0d6c7a04
+ last_write_checksum: sha1:f14830f8d79e0dd04b4f2fade04477f4dbb5e2fd
+ pristine_git_object: b571081849c758f9dc4da1831093dd0faa9bae0e
+ src/bolt_api_sdk/models/webhooks_type.py:
+ id: b0b71630bdb2
+ last_write_checksum: sha1:df29376d9a012d903721bb7aec36829c43773c9d
+ pristine_git_object: eba15da4bb16b4d43c31bd5a989c2ef0058fdec9
+ src/bolt_api_sdk/oauth.py:
+ id: c9e11ac524ec
+ last_write_checksum: sha1:b84baccad3c3c4d1304e804901cf136e2656880e
+ pristine_git_object: 6685f968518577985f168ba01c33691e337a7028
+ src/bolt_api_sdk/orders.py:
+ id: 945a48d6db69
+ last_write_checksum: sha1:b75afb0253c4420bb1948a498dad6477dc6c1f02
+ pristine_git_object: 5505f7a5de6a937833071ebba2c99be05c74cbab
+ src/bolt_api_sdk/py.typed:
+ id: 87f323398465
+ last_write_checksum: sha1:8efc425ffe830805ffcc0f3055871bdcdc542c60
+ pristine_git_object: 3e38f1a929f7d6b1d6de74604aa87e3d8f010544
+ src/bolt_api_sdk/sdk.py:
+ id: d8c8d58152ec
+ last_write_checksum: sha1:520b7bf20d530e68eb312a222ba6266fa5419f6e
+ pristine_git_object: 3402349c325d9cac3fa7a89328a1f6d121011cdd
+ src/bolt_api_sdk/sdkconfiguration.py:
+ id: 629543ecd390
+ last_write_checksum: sha1:75041e2d1ee78a5fcbcbb3862a5526f23d60d3c6
+ pristine_git_object: 553812372c26b8c55bbb692ff06c3427b5a25b4c
+ src/bolt_api_sdk/statements.py:
+ id: 16e2108f4197
+ last_write_checksum: sha1:fa5a8873b7b17bdf85ea5f427d8c19b4365d280e
+ pristine_git_object: e3ce1af2567337b7f5bf0b5ffda6ceedd1f6691f
+ src/bolt_api_sdk/testing.py:
+ id: 3b0fe4cd81d8
+ last_write_checksum: sha1:93fc2b1a8ee56f7f118a9a92cd649808f88da4d3
+ pristine_git_object: 4d7d02bfd4c32aad53cbc99e187249253dd8c270
+ src/bolt_api_sdk/transactions.py:
+ id: 0d7a2e0bacc2
+ last_write_checksum: sha1:603377a9eaaa8ea1b88de4199df0e5615bdc6ce0
+ pristine_git_object: 34415eddca83d548dc95621e249ca3fee270783a
+ src/bolt_api_sdk/types/__init__.py:
+ id: 956da5dbdc02
+ last_write_checksum: sha1:140ebdd01a46f92ffc710c52c958c4eba3cf68ed
+ pristine_git_object: fc76fe0c5505e29859b5d2bb707d48fd27661b8c
+ src/bolt_api_sdk/types/basemodel.py:
+ id: 87304cfcf60b
+ last_write_checksum: sha1:10d84aedeb9d35edfdadf2c3020caa1d24d8b584
+ pristine_git_object: a9a640a1a7048736383f96c67c6290c86bf536ee
+ src/bolt_api_sdk/utils/__init__.py:
+ id: 5a146b6574bb
+ last_write_checksum: sha1:ffaf69e6877a274b08066215f5a31a1b344f5402
+ pristine_git_object: f4525b2057c3d54fb3b9eff6248fd172478ce94c
+ src/bolt_api_sdk/utils/annotations.py:
+ id: b02d2cfbecc4
+ last_write_checksum: sha1:a4824ad65f730303e4e1e3ec1febf87b4eb46dbc
+ pristine_git_object: 12e0aa4f1151bb52474cc02e88397329b90703f6
+ src/bolt_api_sdk/utils/datetimes.py:
+ id: 3be1b0118b87
+ last_write_checksum: sha1:c721e4123000e7dc61ec52b28a739439d9e17341
+ pristine_git_object: a6c52cd61bbe2d459046c940ce5e8c469f2f0664
+ src/bolt_api_sdk/utils/enums.py:
+ id: 8b1f9ff55467
+ last_write_checksum: sha1:bc8c3c1285ae09ba8a094ee5c3d9c7f41fa1284d
+ pristine_git_object: 3324e1bc2668c54c4d5f5a1a845675319757a828
+ src/bolt_api_sdk/utils/eventstreaming.py:
+ id: 296cbdbaad14
+ last_write_checksum: sha1:bababae5d54b7efc360db701daa49e18a92c2f3b
+ pristine_git_object: 0969899bfc491e5e408d05643525f347ea95e4fc
+ src/bolt_api_sdk/utils/forms.py:
+ id: 67e776257caf
+ last_write_checksum: sha1:15fa7e9ab1611e062a9984cf06cb20969713d295
+ pristine_git_object: f961e76beaf0a8b1fe0dda44754a74eebd3608e7
+ src/bolt_api_sdk/utils/headers.py:
+ id: 76276364a3c9
+ last_write_checksum: sha1:7c6df233ee006332b566a8afa9ce9a245941d935
+ pristine_git_object: 37864cbbbc40d1a47112bbfdd3ba79568fc8818a
+ src/bolt_api_sdk/utils/logger.py:
+ id: 86563de6f1dc
+ last_write_checksum: sha1:bf20a7d658e45e499a3ff07de32520903ad5ac43
+ pristine_git_object: ea0617af8c276d99cd1fe9b952a7aeb6701f7d33
+ src/bolt_api_sdk/utils/metadata.py:
+ id: 4b18abfcdc4b
+ last_write_checksum: sha1:c6a560bd0c63ab158582f34dadb69433ea73b3d4
+ pristine_git_object: 173b3e5ce658675c2f504222a56b3daaaa68107d
+ src/bolt_api_sdk/utils/queryparams.py:
+ id: 40fa8b2e7078
+ last_write_checksum: sha1:b94c3f314fd3da0d1d215afc2731f48748e2aa59
+ pristine_git_object: c04e0db82b68eca041f2cb2614d748fbac80fd41
+ src/bolt_api_sdk/utils/requestbodies.py:
+ id: 4bafe953c930
+ last_write_checksum: sha1:41e2d2d2d3ecc394c8122ca4d4b85e1c3e03f054
+ pristine_git_object: 1de32b6d26f46590232f398fdba6ce0072f1659c
+ src/bolt_api_sdk/utils/retries.py:
+ id: 81222044754a
+ last_write_checksum: sha1:5b97ac4f59357d70c2529975d50364c88bcad607
+ pristine_git_object: 88a91b10cd2076b4a2c6cff2ac6bfaa5e3c5ad13
+ src/bolt_api_sdk/utils/security.py:
+ id: bfc0dd462bef
+ last_write_checksum: sha1:d55a2626705321042cb7a8271476735e176922a5
+ pristine_git_object: 058d18d968c467d42334ed0d7ef741554d1e0beb
+ src/bolt_api_sdk/utils/serializers.py:
+ id: 682f20cc0c83
+ last_write_checksum: sha1:ce1d8d7f500a9ccba0aeca5057cee9c271f4dfd7
+ pristine_git_object: 14321eb479de81d0d9580ec8291e0ff91bf29e57
+ src/bolt_api_sdk/utils/unmarshal_json_response.py:
+ id: a046318d6a9b
+ last_write_checksum: sha1:0032c1fa5e10bc7040353aa16cb8b2c37c9d3aa2
+ pristine_git_object: 0dc6b0c4297e6ee0d2466f5f639afe56af0d0290
+ src/bolt_api_sdk/utils/url.py:
+ id: 7bf7d1a6b06b
+ last_write_checksum: sha1:6479961baa90432ca25626f8e40a7bbc32e73b41
+ pristine_git_object: c78ccbae426ce6d385709d97ce0b1c2813ea2418
+ src/bolt_api_sdk/utils/values.py:
+ id: 5aada561ee8d
+ last_write_checksum: sha1:acaa178a7c41ddd000f58cc691e4632d925b2553
+ pristine_git_object: dae01a44384ac3bc13ae07453a053bf6c898ebe3
+ src/bolt_api_sdk/webhooks.py:
+ id: 9acdf125cfc8
+ last_write_checksum: sha1:c9856a17266508dcd5f26e52b6faed2a27bcd392
+ pristine_git_object: 4e77e5b84ec9ce8d258a3beff429311327953f8a
examples:
createProduct:
speakeasy-default-create-product:
@@ -897,7 +2707,7 @@ examples:
OAuthToken:
authorization_code_request:
requestBody:
- application/x-www-form-urlencoded: {"client_id": "", "client_secret": "", "code": "", "grant_type": "authorization_code", "scope": "bolt.account.view"}
+ application/x-www-form-urlencoded: {"client_id": "PUBLISHABLE_KEY_PLACEHOLDER", "client_secret": "API_KEY_PLACEHOLDER", "code": "AUTH_CODE_PLACEHOLDER", "grant_type": "authorization_code", "scope": "bolt.account.view"}
responses:
"200":
application/json: {}
@@ -984,3 +2794,604 @@ examples:
"400":
application/json: {"errors": [{"code": 2001005, "message": "The input is missing a required parameter."}], "result": {"success": false}}
examplesVersion: 1.0.2
+generatedFiles:
+ - .devcontainer/README.md
+ - .devcontainer/devcontainer.json
+ - .devcontainer/setup.sh
+ - .gitattributes
+ - .vscode/settings.json
+ - USAGE.md
+ - docs/errors/errorsboltapiresponse.md
+ - docs/errors/errorsoauthserverresponse.md
+ - docs/errors/unprocessableentityerror.md
+ - docs/models/accountdetails.md
+ - docs/models/accountdetailsaddressview.md
+ - docs/models/accountdetailsaddressviewpriority.md
+ - docs/models/accountidentifierstatus.md
+ - docs/models/action.md
+ - docs/models/addaddresspriority.md
+ - docs/models/addaddressrequest.md
+ - docs/models/addaddressresponse.md
+ - docs/models/addaddresssecurity.md
+ - docs/models/addpaymentmethodnetwork.md
+ - docs/models/addpaymentmethodpriority.md
+ - docs/models/addpaymentmethodrequest.md
+ - docs/models/addpaymentmethodrequestbody.md
+ - docs/models/addpaymentmethodsecurity.md
+ - docs/models/addpaymentmethodtokentype.md
+ - docs/models/address.md
+ - docs/models/addressaccount.md
+ - docs/models/addresschangerequestmetadataview.md
+ - docs/models/addresschangeview.md
+ - docs/models/addressview.md
+ - docs/models/addressviewpriority.md
+ - docs/models/amounts.md
+ - docs/models/amountview.md
+ - docs/models/authorizationverificationstatus.md
+ - docs/models/authorizetransactionrequest.md
+ - docs/models/authorizetransactionrequestbody.md
+ - docs/models/authorizetransactionsecurity.md
+ - docs/models/authrejectiondetails.md
+ - docs/models/authrejectiondetailsview.md
+ - docs/models/authverificationstatus.md
+ - docs/models/avsresponse.md
+ - docs/models/capturestatus.md
+ - docs/models/capturetransactionrequest.md
+ - docs/models/capturetransactionwithreference.md
+ - docs/models/captureview.md
+ - docs/models/captureviewtype.md
+ - docs/models/carddisplaynetwork.md
+ - docs/models/cardnetwork.md
+ - docs/models/cardstatus.md
+ - docs/models/cardtokentype.md
+ - docs/models/cart.md
+ - docs/models/cartaddon.md
+ - docs/models/cartcreate.md
+ - docs/models/cartdiscount.md
+ - docs/models/cartdiscountdiscountcategory.md
+ - docs/models/cartdiscounttype.md
+ - docs/models/cartfee.md
+ - docs/models/cartitem.md
+ - docs/models/cartitemcustomization.md
+ - docs/models/cartitemgiftoption.md
+ - docs/models/cartitemproperty.md
+ - docs/models/cartitempropertyview.md
+ - docs/models/cartitemshipmenttype.md
+ - docs/models/cartitemtype.md
+ - docs/models/cartloyaltyrewards.md
+ - docs/models/cartloyaltyrewardsview.md
+ - docs/models/cartshipment.md
+ - docs/models/cartshipmenttype.md
+ - docs/models/cartview.md
+ - docs/models/channel.md
+ - docs/models/chargebackdetails.md
+ - docs/models/chargebackdetailsview.md
+ - docs/models/chargebackeventview.md
+ - docs/models/chargebackreasoncode.md
+ - docs/models/chargebackrepresentmentresult.md
+ - docs/models/checkoutsetup.md
+ - docs/models/consumerbillingaddress.md
+ - docs/models/consumermembershipstatus.md
+ - docs/models/consumerselfview.md
+ - docs/models/consumersummaryview.md
+ - docs/models/consumerusermembership.md
+ - docs/models/createaccountinput.md
+ - docs/models/createaccountrequest.md
+ - docs/models/createtestingshopperaccountrequest.md
+ - docs/models/createwebhookrequest.md
+ - docs/models/createwebhookresponse.md
+ - docs/models/credit.md
+ - docs/models/creditcard.md
+ - docs/models/creditcardauthorizationreason.md
+ - docs/models/creditcardauthorizationstatus.md
+ - docs/models/creditcardauthorizationview.md
+ - docs/models/creditcardcaptureview.md
+ - docs/models/creditcardcreditview.md
+ - docs/models/creditcardcreditviewstatus.md
+ - docs/models/creditcardpriority.md
+ - docs/models/creditcardtokentype.md
+ - docs/models/creditcarduser.md
+ - docs/models/creditcardview.md
+ - docs/models/creditcardvoid.md
+ - docs/models/creditcardvoidcause.md
+ - docs/models/creditcardvoidstatus.md
+ - docs/models/creditcardvoidview.md
+ - docs/models/customerliststatus.md
+ - docs/models/customfieldfullresponseview.md
+ - docs/models/customfieldresponseview.md
+ - docs/models/customfields.md
+ - docs/models/customfieldscontext.md
+ - docs/models/customfieldview.md
+ - docs/models/customfieldviewcheckoutstep.md
+ - docs/models/customfieldviewcontext.md
+ - docs/models/customization.md
+ - docs/models/cvvresponse.md
+ - docs/models/decision.md
+ - docs/models/deleteaddressrequest.md
+ - docs/models/deleteaddresssecurity.md
+ - docs/models/deletepaymentmethodrequest.md
+ - docs/models/deletepaymentmethodsecurity.md
+ - docs/models/deletewebhookrequest.md
+ - docs/models/detectaccountrequest.md
+ - docs/models/digitaldelivery.md
+ - docs/models/editaddresspriority.md
+ - docs/models/editaddressrequest.md
+ - docs/models/editaddressresponse.md
+ - docs/models/editaddresssecurity.md
+ - docs/models/eligiblepaymentmethod.md
+ - docs/models/emailpriority.md
+ - docs/models/emails.md
+ - docs/models/emailstatus.md
+ - docs/models/emailview.md
+ - docs/models/error.md
+ - docs/models/errorboltapi.md
+ - docs/models/eventgroupcreatewebhook.md
+ - docs/models/eventsarraycreatewebhook.md
+ - docs/models/frequency.md
+ - docs/models/fulfillment.md
+ - docs/models/fulfillmenttype.md
+ - docs/models/fulfillmentview.md
+ - docs/models/getaccountrequest.md
+ - docs/models/getaccountsecurity.md
+ - docs/models/getmerchantcallbacksrequest.md
+ - docs/models/gettestcreditcardtokenresponse.md
+ - docs/models/gettransactiondetailsrequest.md
+ - docs/models/getwebhookrequest.md
+ - docs/models/giftoptions.md
+ - docs/models/giftoptionview.md
+ - docs/models/hideapm.md
+ - docs/models/hooktype.md
+ - docs/models/iauthorizeresultview.md
+ - docs/models/icartdiscountview.md
+ - docs/models/icartdiscountviewdiscountcategory.md
+ - docs/models/icartfeeview.md
+ - docs/models/icartitemexternalinputs.md
+ - docs/models/icartitemview.md
+ - docs/models/icartitemviewshipmenttype.md
+ - docs/models/icartitemviewtype.md
+ - docs/models/icartshipmentview.md
+ - docs/models/icartshipmentviewpackagedimension.md
+ - docs/models/icartview.md
+ - docs/models/icurrency.md
+ - docs/models/icustomfieldview.md
+ - docs/models/icustomfieldviewcheckoutstep.md
+ - docs/models/icustomfieldviewcontext.md
+ - docs/models/idescriptionpart.md
+ - docs/models/idescriptiontooltip.md
+ - docs/models/ifreeshippingdiscountview.md
+ - docs/models/igiftoptionview.md
+ - docs/models/instorecartshipment.md
+ - docs/models/instorecartshipmentdistanceunit.md
+ - docs/models/instoreshipment.md
+ - docs/models/instoreshipment2.md
+ - docs/models/instoreshipment2distanceunit.md
+ - docs/models/iorderdynamiccontent.md
+ - docs/models/iorderexternaldata.md
+ - docs/models/iordermetadata.md
+ - docs/models/iorderview.md
+ - docs/models/item.md
+ - docs/models/itemproperty.md
+ - docs/models/itemshipmenttype.md
+ - docs/models/iweight.md
+ - docs/models/loginview.md
+ - docs/models/manualdisputes.md
+ - docs/models/manualdisputesstatus.md
+ - docs/models/manualdisputeview.md
+ - docs/models/manualdisputeviewstatus.md
+ - docs/models/marketplacecommissionfee.md
+ - docs/models/merchant.md
+ - docs/models/merchantcallbacksinput.md
+ - docs/models/merchantcallbacksinputcallbackurl.md
+ - docs/models/merchantcallbacksview.md
+ - docs/models/merchantcallbacksviewcallbackurl.md
+ - docs/models/merchantcallbackurltype.md
+ - docs/models/merchantcreditcardauthorization.md
+ - docs/models/merchantcreditcardauthorizationprocessinginitiator.md
+ - docs/models/merchantcreditcardauthorizationrecharge.md
+ - docs/models/merchantcreditcardauthorizationrechargesource.md
+ - docs/models/merchantcreditcardauthorizationsource.md
+ - docs/models/merchantcreditcardreview.md
+ - docs/models/merchantdivision.md
+ - docs/models/merchantdivisionlogoview.md
+ - docs/models/merchantdivisionsidentifiersview.md
+ - docs/models/merchantdivisionsummaryview.md
+ - docs/models/merchantidentifiersview.md
+ - docs/models/merchantlogo.md
+ - docs/models/merchantonboardingstatuscode.md
+ - docs/models/merchantplatform.md
+ - docs/models/merchantstatus.md
+ - docs/models/metadatacomponent.md
+ - docs/models/method.md
+ - docs/models/mocktrackinginput.md
+ - docs/models/mocktrackinginputstatus.md
+ - docs/models/network.md
+ - docs/models/oauthtokeninput.md
+ - docs/models/oauthtokeninputgranttype.md
+ - docs/models/oauthtokeninputrefresh.md
+ - docs/models/oauthtokeninputrefreshgranttype.md
+ - docs/models/oauthtokenrequest.md
+ - docs/models/oauthtokenrequestbody.md
+ - docs/models/oauthtokenresponse.md
+ - docs/models/ordercreate.md
+ - docs/models/orderdecision.md
+ - docs/models/orderdecisiondetailsview.md
+ - docs/models/orderexternaldataview.md
+ - docs/models/ordertrackrequestbody.md
+ - docs/models/ordertrackresponse.md
+ - docs/models/orderview.md
+ - docs/models/packagedimension.md
+ - docs/models/packageweights.md
+ - docs/models/paymentmethod.md
+ - docs/models/paymentmethodaccount.md
+ - docs/models/paymentmethodaccountpriority.md
+ - docs/models/paymentmethodaccounttokentype.md
+ - docs/models/paymentservice.md
+ - docs/models/phonepriority.md
+ - docs/models/phonestatus.md
+ - docs/models/phoneswithcountrycode.md
+ - docs/models/phoneview.md
+ - docs/models/phoneviewpriority.md
+ - docs/models/platformaccountstatus.md
+ - docs/models/priority.md
+ - docs/models/processinginitiator.md
+ - docs/models/processor.md
+ - docs/models/profile.md
+ - docs/models/profileview.md
+ - docs/models/querywebhooksrequest.md
+ - docs/models/querywebhooksresponse.md
+ - docs/models/refundtransactionrequest.md
+ - docs/models/replaceaddresspriority.md
+ - docs/models/replaceaddressrequest.md
+ - docs/models/replaceaddressresponse.md
+ - docs/models/replaceaddresssecurity.md
+ - docs/models/representmentresult.md
+ - docs/models/requestresult.md
+ - docs/models/requeststatus.md
+ - docs/models/response.md
+ - docs/models/result.md
+ - docs/models/reviewticket.md
+ - docs/models/reviewticketview.md
+ - docs/models/reviewtransactionrequest.md
+ - docs/models/riskdecisionfactoryml.md
+ - docs/models/riskinsightsyml.md
+ - docs/models/riskmodelexternalresultview.md
+ - docs/models/riskmodelresulcontributionview.md
+ - docs/models/riskmodelresultview.md
+ - docs/models/riskreviewstatus.md
+ - docs/models/savedcreditcardview.md
+ - docs/models/savedcreditcardviewtype.md
+ - docs/models/savedpaypalaccountview.md
+ - docs/models/savedpaypalaccountviewtype.md
+ - docs/models/scope.md
+ - docs/models/security.md
+ - docs/models/sellersplit.md
+ - docs/models/sellersplitamounts.md
+ - docs/models/shoppermetadata.md
+ - docs/models/split.md
+ - docs/models/splitsview.md
+ - docs/models/splitsviewtype.md
+ - docs/models/statementsfiletype.md
+ - docs/models/statementstype.md
+ - docs/models/statementsviewrequestbody.md
+ - docs/models/statementsviewresponse.md
+ - docs/models/subscription.md
+ - docs/models/testingaccountdetails.md
+ - docs/models/testingaccountrequest.md
+ - docs/models/totalweight.md
+ - docs/models/trackingdetail.md
+ - docs/models/trackingdetailstatus.md
+ - docs/models/transactioncredit.md
+ - docs/models/transactiondetails.md
+ - docs/models/transactiondetailsview.md
+ - docs/models/transactiondetailsviewviewstatus.md
+ - docs/models/transactionindemnificationdecision.md
+ - docs/models/transactionindemnificationreason.md
+ - docs/models/transactionoperationalprocessor.md
+ - docs/models/transactionprocessor.md
+ - docs/models/transactionprocessorstatus.md
+ - docs/models/transactionrejectiondetails.md
+ - docs/models/transactionrejectiondetailsview.md
+ - docs/models/transactionreviewview.md
+ - docs/models/transactionsplitsview.md
+ - docs/models/transactionsplitsviewtype.md
+ - docs/models/transactionstatus.md
+ - docs/models/transactiontimelineview.md
+ - docs/models/transactiontimelineviewtype.md
+ - docs/models/transactiontype.md
+ - docs/models/transactionupdateinput.md
+ - docs/models/transactionview.md
+ - docs/models/transactionviewviewstatus.md
+ - docs/models/type.md
+ - docs/models/unit.md
+ - docs/models/updateaccountprofilerequest.md
+ - docs/models/updateaccountprofilesecurity.md
+ - docs/models/updateprofile.md
+ - docs/models/updatetransactionrequest.md
+ - docs/models/useridentifier.md
+ - docs/models/useridentity.md
+ - docs/models/utils/retryconfig.md
+ - docs/models/v1accountsview.md
+ - docs/models/voidcause.md
+ - docs/models/voidtransactionrequest.md
+ - docs/models/webhook.md
+ - docs/models/webhookeventgroup.md
+ - docs/models/webhookstype.md
+ - docs/sdks/account/README.md
+ - docs/sdks/bolt/README.md
+ - docs/sdks/configuration/README.md
+ - docs/sdks/oauth/README.md
+ - docs/sdks/orders/README.md
+ - docs/sdks/statements/README.md
+ - docs/sdks/testing/README.md
+ - docs/sdks/transactions/README.md
+ - docs/sdks/webhooks/README.md
+ - poetry.toml
+ - py.typed
+ - pylintrc
+ - pyproject.toml
+ - scripts/publish.sh
+ - src/bolt_api_sdk/__init__.py
+ - src/bolt_api_sdk/_hooks/__init__.py
+ - src/bolt_api_sdk/_hooks/sdkhooks.py
+ - src/bolt_api_sdk/_hooks/types.py
+ - src/bolt_api_sdk/_version.py
+ - src/bolt_api_sdk/account.py
+ - src/bolt_api_sdk/basesdk.py
+ - src/bolt_api_sdk/configuration.py
+ - src/bolt_api_sdk/errors/__init__.py
+ - src/bolt_api_sdk/errors/apierror.py
+ - src/bolt_api_sdk/errors/bolterror.py
+ - src/bolt_api_sdk/errors/capturetransactionop.py
+ - src/bolt_api_sdk/errors/errors_bolt_api_response.py
+ - src/bolt_api_sdk/errors/errors_oauth_server_response.py
+ - src/bolt_api_sdk/errors/no_response_error.py
+ - src/bolt_api_sdk/errors/responsevalidationerror.py
+ - src/bolt_api_sdk/httpclient.py
+ - src/bolt_api_sdk/models/__init__.py
+ - src/bolt_api_sdk/models/account_details.py
+ - src/bolt_api_sdk/models/account_details_address_view.py
+ - src/bolt_api_sdk/models/account_identifier_status.py
+ - src/bolt_api_sdk/models/addaddressop.py
+ - src/bolt_api_sdk/models/addpaymentmethodop.py
+ - src/bolt_api_sdk/models/address.py
+ - src/bolt_api_sdk/models/address_account.py
+ - src/bolt_api_sdk/models/address_change_request_metadata_view.py
+ - src/bolt_api_sdk/models/address_change_view.py
+ - src/bolt_api_sdk/models/address_view.py
+ - src/bolt_api_sdk/models/amount_view.py
+ - src/bolt_api_sdk/models/amounts.py
+ - src/bolt_api_sdk/models/auth_rejection_details.py
+ - src/bolt_api_sdk/models/auth_rejection_details_view.py
+ - src/bolt_api_sdk/models/authorization_verification_status.py
+ - src/bolt_api_sdk/models/authorizetransactionop.py
+ - src/bolt_api_sdk/models/capture_status.py
+ - src/bolt_api_sdk/models/capture_transaction_with_reference.py
+ - src/bolt_api_sdk/models/capture_view.py
+ - src/bolt_api_sdk/models/capturetransactionop.py
+ - src/bolt_api_sdk/models/card_display_network.py
+ - src/bolt_api_sdk/models/card_network.py
+ - src/bolt_api_sdk/models/card_status.py
+ - src/bolt_api_sdk/models/card_token_type.py
+ - src/bolt_api_sdk/models/cart_add_on.py
+ - src/bolt_api_sdk/models/cart_create.py
+ - src/bolt_api_sdk/models/cart_discount.py
+ - src/bolt_api_sdk/models/cart_fee.py
+ - src/bolt_api_sdk/models/cart_item.py
+ - src/bolt_api_sdk/models/cart_item_customization.py
+ - src/bolt_api_sdk/models/cart_item_gift_option.py
+ - src/bolt_api_sdk/models/cart_item_property.py
+ - src/bolt_api_sdk/models/cart_item_property_view.py
+ - src/bolt_api_sdk/models/cart_loyalty_rewards.py
+ - src/bolt_api_sdk/models/cart_loyalty_rewards_view.py
+ - src/bolt_api_sdk/models/cart_shipment.py
+ - src/bolt_api_sdk/models/cart_shipment_type.py
+ - src/bolt_api_sdk/models/cart_view.py
+ - src/bolt_api_sdk/models/chargeback_details.py
+ - src/bolt_api_sdk/models/chargeback_details_view.py
+ - src/bolt_api_sdk/models/chargeback_event_view.py
+ - src/bolt_api_sdk/models/chargeback_reason_code.py
+ - src/bolt_api_sdk/models/chargeback_representment_result.py
+ - src/bolt_api_sdk/models/consumer_billing_address.py
+ - src/bolt_api_sdk/models/consumer_membership_status.py
+ - src/bolt_api_sdk/models/consumer_self_view.py
+ - src/bolt_api_sdk/models/consumer_summary_view.py
+ - src/bolt_api_sdk/models/consumer_user_membership.py
+ - src/bolt_api_sdk/models/create_account_input.py
+ - src/bolt_api_sdk/models/createaccountop.py
+ - src/bolt_api_sdk/models/createtestingshopperaccountop.py
+ - src/bolt_api_sdk/models/createwebhookop.py
+ - src/bolt_api_sdk/models/credit.py
+ - src/bolt_api_sdk/models/credit_card.py
+ - src/bolt_api_sdk/models/credit_card_authorization_reason.py
+ - src/bolt_api_sdk/models/credit_card_authorization_status.py
+ - src/bolt_api_sdk/models/credit_card_authorization_view.py
+ - src/bolt_api_sdk/models/credit_card_capture_view.py
+ - src/bolt_api_sdk/models/credit_card_credit_view.py
+ - src/bolt_api_sdk/models/credit_card_user.py
+ - src/bolt_api_sdk/models/credit_card_view.py
+ - src/bolt_api_sdk/models/credit_card_void.py
+ - src/bolt_api_sdk/models/credit_card_void_cause.py
+ - src/bolt_api_sdk/models/credit_card_void_status.py
+ - src/bolt_api_sdk/models/credit_card_void_view.py
+ - src/bolt_api_sdk/models/custom_field_full_response_view.py
+ - src/bolt_api_sdk/models/custom_field_response_view.py
+ - src/bolt_api_sdk/models/custom_field_view.py
+ - src/bolt_api_sdk/models/custom_fields.py
+ - src/bolt_api_sdk/models/customer_list_status.py
+ - src/bolt_api_sdk/models/deleteaddressop.py
+ - src/bolt_api_sdk/models/deletepaymentmethodop.py
+ - src/bolt_api_sdk/models/deletewebhookop.py
+ - src/bolt_api_sdk/models/detectaccountop.py
+ - src/bolt_api_sdk/models/digital_delivery.py
+ - src/bolt_api_sdk/models/editaddressop.py
+ - src/bolt_api_sdk/models/eligible_payment_method.py
+ - src/bolt_api_sdk/models/email_priority.py
+ - src/bolt_api_sdk/models/email_status.py
+ - src/bolt_api_sdk/models/email_view.py
+ - src/bolt_api_sdk/models/emails.py
+ - src/bolt_api_sdk/models/error_bolt_api.py
+ - src/bolt_api_sdk/models/event_group_create_webhook.py
+ - src/bolt_api_sdk/models/events_array_create_webhook.py
+ - src/bolt_api_sdk/models/fulfillment.py
+ - src/bolt_api_sdk/models/fulfillment_view.py
+ - src/bolt_api_sdk/models/getaccountop.py
+ - src/bolt_api_sdk/models/getmerchantcallbacksop.py
+ - src/bolt_api_sdk/models/gettestcreditcardtokenop.py
+ - src/bolt_api_sdk/models/gettransactiondetailsop.py
+ - src/bolt_api_sdk/models/getwebhookop.py
+ - src/bolt_api_sdk/models/gift_option_view.py
+ - src/bolt_api_sdk/models/gift_options.py
+ - src/bolt_api_sdk/models/i_authorize_result_view.py
+ - src/bolt_api_sdk/models/i_cart_discount_view.py
+ - src/bolt_api_sdk/models/i_cart_fee_view.py
+ - src/bolt_api_sdk/models/i_cart_item_external_inputs.py
+ - src/bolt_api_sdk/models/i_cart_item_view.py
+ - src/bolt_api_sdk/models/i_cart_shipment_view.py
+ - src/bolt_api_sdk/models/i_cart_view.py
+ - src/bolt_api_sdk/models/i_currency.py
+ - src/bolt_api_sdk/models/i_custom_field_view.py
+ - src/bolt_api_sdk/models/i_description_part.py
+ - src/bolt_api_sdk/models/i_description_tooltip.py
+ - src/bolt_api_sdk/models/i_free_shipping_discount_view.py
+ - src/bolt_api_sdk/models/i_gift_option_view.py
+ - src/bolt_api_sdk/models/i_order_dynamic_content.py
+ - src/bolt_api_sdk/models/i_order_external_data.py
+ - src/bolt_api_sdk/models/i_order_metadata.py
+ - src/bolt_api_sdk/models/i_order_view.py
+ - src/bolt_api_sdk/models/i_weight.py
+ - src/bolt_api_sdk/models/in_store_cart_shipment.py
+ - src/bolt_api_sdk/models/in_store_shipment.py
+ - src/bolt_api_sdk/models/in_store_shipment2.py
+ - src/bolt_api_sdk/models/item.py
+ - src/bolt_api_sdk/models/item_property.py
+ - src/bolt_api_sdk/models/item_shipment_type.py
+ - src/bolt_api_sdk/models/login_view.py
+ - src/bolt_api_sdk/models/manual_dispute_view.py
+ - src/bolt_api_sdk/models/manual_disputes.py
+ - src/bolt_api_sdk/models/marketplace_commission_fee.py
+ - src/bolt_api_sdk/models/merchant.py
+ - src/bolt_api_sdk/models/merchant_callback_url_type.py
+ - src/bolt_api_sdk/models/merchant_callbacks_input.py
+ - src/bolt_api_sdk/models/merchant_callbacks_view.py
+ - src/bolt_api_sdk/models/merchant_credit_card_authorization.py
+ - src/bolt_api_sdk/models/merchant_credit_card_authorization_recharge.py
+ - src/bolt_api_sdk/models/merchant_credit_card_review.py
+ - src/bolt_api_sdk/models/merchant_division.py
+ - src/bolt_api_sdk/models/merchant_division_logo_view.py
+ - src/bolt_api_sdk/models/merchant_division_summary_view.py
+ - src/bolt_api_sdk/models/merchant_divisions_identifiers_view.py
+ - src/bolt_api_sdk/models/merchant_identifiers_view.py
+ - src/bolt_api_sdk/models/merchant_logo.py
+ - src/bolt_api_sdk/models/merchant_onboarding_status_code.py
+ - src/bolt_api_sdk/models/merchant_platform.py
+ - src/bolt_api_sdk/models/merchant_status.py
+ - src/bolt_api_sdk/models/metadata_component.py
+ - src/bolt_api_sdk/models/mock_tracking_input.py
+ - src/bolt_api_sdk/models/o_auth_token_input.py
+ - src/bolt_api_sdk/models/o_auth_token_input_refresh.py
+ - src/bolt_api_sdk/models/o_auth_token_response.py
+ - src/bolt_api_sdk/models/oauthtokenop.py
+ - src/bolt_api_sdk/models/order_create.py
+ - src/bolt_api_sdk/models/order_decision.py
+ - src/bolt_api_sdk/models/order_decision_details_view.py
+ - src/bolt_api_sdk/models/order_external_data_view.py
+ - src/bolt_api_sdk/models/order_track_requestbody.py
+ - src/bolt_api_sdk/models/order_track_response.py
+ - src/bolt_api_sdk/models/order_view.py
+ - src/bolt_api_sdk/models/package_dimension.py
+ - src/bolt_api_sdk/models/package_weights.py
+ - src/bolt_api_sdk/models/payment_method_account.py
+ - src/bolt_api_sdk/models/payment_service.py
+ - src/bolt_api_sdk/models/phone_priority.py
+ - src/bolt_api_sdk/models/phone_status.py
+ - src/bolt_api_sdk/models/phone_view.py
+ - src/bolt_api_sdk/models/phones_with_country_code.py
+ - src/bolt_api_sdk/models/priority.py
+ - src/bolt_api_sdk/models/processing_initiator.py
+ - src/bolt_api_sdk/models/profile.py
+ - src/bolt_api_sdk/models/profile_view.py
+ - src/bolt_api_sdk/models/querywebhooksop.py
+ - src/bolt_api_sdk/models/refundtransactionop.py
+ - src/bolt_api_sdk/models/replaceaddressop.py
+ - src/bolt_api_sdk/models/request_result.py
+ - src/bolt_api_sdk/models/request_status.py
+ - src/bolt_api_sdk/models/review_ticket.py
+ - src/bolt_api_sdk/models/review_ticket_view.py
+ - src/bolt_api_sdk/models/reviewtransactionop.py
+ - src/bolt_api_sdk/models/risk_decision_factor_yml.py
+ - src/bolt_api_sdk/models/risk_insights_yml.py
+ - src/bolt_api_sdk/models/risk_model_external_result_view.py
+ - src/bolt_api_sdk/models/risk_model_resul_contribution_view.py
+ - src/bolt_api_sdk/models/risk_model_result_view.py
+ - src/bolt_api_sdk/models/risk_review_status.py
+ - src/bolt_api_sdk/models/saved_credit_card_view.py
+ - src/bolt_api_sdk/models/saved_paypal_account_view.py
+ - src/bolt_api_sdk/models/security.py
+ - src/bolt_api_sdk/models/seller_split.py
+ - src/bolt_api_sdk/models/seller_split_amounts.py
+ - src/bolt_api_sdk/models/shopper_metadata.py
+ - src/bolt_api_sdk/models/splits_view.py
+ - src/bolt_api_sdk/models/statements_file_type.py
+ - src/bolt_api_sdk/models/statements_type.py
+ - src/bolt_api_sdk/models/statements_view_requestbody.py
+ - src/bolt_api_sdk/models/statements_view_response.py
+ - src/bolt_api_sdk/models/subscription.py
+ - src/bolt_api_sdk/models/testing_account_details.py
+ - src/bolt_api_sdk/models/testing_account_request.py
+ - src/bolt_api_sdk/models/total_weight.py
+ - src/bolt_api_sdk/models/tracking_detail.py
+ - src/bolt_api_sdk/models/transaction_credit.py
+ - src/bolt_api_sdk/models/transaction_details.py
+ - src/bolt_api_sdk/models/transaction_details_view.py
+ - src/bolt_api_sdk/models/transaction_indemnification_decision.py
+ - src/bolt_api_sdk/models/transaction_indemnification_reason.py
+ - src/bolt_api_sdk/models/transaction_operational_processor.py
+ - src/bolt_api_sdk/models/transaction_processor.py
+ - src/bolt_api_sdk/models/transaction_processor_status.py
+ - src/bolt_api_sdk/models/transaction_rejection_details_view.py
+ - src/bolt_api_sdk/models/transaction_review_view.py
+ - src/bolt_api_sdk/models/transaction_splits_view.py
+ - src/bolt_api_sdk/models/transaction_status.py
+ - src/bolt_api_sdk/models/transaction_timeline_view.py
+ - src/bolt_api_sdk/models/transaction_type.py
+ - src/bolt_api_sdk/models/transaction_update_input.py
+ - src/bolt_api_sdk/models/transaction_view.py
+ - src/bolt_api_sdk/models/type.py
+ - src/bolt_api_sdk/models/update_profile.py
+ - src/bolt_api_sdk/models/updateaccountprofileop.py
+ - src/bolt_api_sdk/models/updatetransactionop.py
+ - src/bolt_api_sdk/models/user_identifier.py
+ - src/bolt_api_sdk/models/user_identity.py
+ - src/bolt_api_sdk/models/v1_accounts_view.py
+ - src/bolt_api_sdk/models/voidtransactionop.py
+ - src/bolt_api_sdk/models/webhook.py
+ - src/bolt_api_sdk/models/webhook_event_group.py
+ - src/bolt_api_sdk/models/webhooks_type.py
+ - src/bolt_api_sdk/oauth.py
+ - src/bolt_api_sdk/orders.py
+ - src/bolt_api_sdk/py.typed
+ - src/bolt_api_sdk/sdk.py
+ - src/bolt_api_sdk/sdkconfiguration.py
+ - src/bolt_api_sdk/statements.py
+ - src/bolt_api_sdk/testing.py
+ - src/bolt_api_sdk/transactions.py
+ - src/bolt_api_sdk/types/__init__.py
+ - src/bolt_api_sdk/types/basemodel.py
+ - src/bolt_api_sdk/utils/__init__.py
+ - src/bolt_api_sdk/utils/annotations.py
+ - src/bolt_api_sdk/utils/datetimes.py
+ - src/bolt_api_sdk/utils/enums.py
+ - src/bolt_api_sdk/utils/eventstreaming.py
+ - src/bolt_api_sdk/utils/forms.py
+ - src/bolt_api_sdk/utils/headers.py
+ - src/bolt_api_sdk/utils/logger.py
+ - src/bolt_api_sdk/utils/metadata.py
+ - src/bolt_api_sdk/utils/queryparams.py
+ - src/bolt_api_sdk/utils/requestbodies.py
+ - src/bolt_api_sdk/utils/retries.py
+ - src/bolt_api_sdk/utils/security.py
+ - src/bolt_api_sdk/utils/serializers.py
+ - src/bolt_api_sdk/utils/unmarshal_json_response.py
+ - src/bolt_api_sdk/utils/url.py
+ - src/bolt_api_sdk/utils/values.py
+ - src/bolt_api_sdk/webhooks.py
diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml
index 7f6e2e1..bc0c129 100644
--- a/.speakeasy/gen.yaml
+++ b/.speakeasy/gen.yaml
@@ -16,11 +16,16 @@ generation:
requestResponseComponentNamesFeb2024: true
securityFeb2025: true
sharedErrorComponentsApr2025: true
+ sharedNestedComponentsJan2026: false
auth:
oAuth2ClientCredentialsEnabled: false
oAuth2PasswordEnabled: false
hoistGlobalSecurity: true
sdkHooksConfigAccess: true
+ schemas:
+ allOfMergeStrategy: shallowMerge
+ requestBodyFieldName: ""
+ persistentEdits: {}
tests:
generateTests: false
generateNewTests: true
@@ -28,7 +33,7 @@ generation:
compile:
enabled: false
python:
- version: 0.5.6
+ version: 0.6.0
additionalDependencies:
dev: {}
main: {}
@@ -40,6 +45,7 @@ python:
- Speakeasy
baseErrorName: BoltError
clientServerStatusCodesAsErrors: true
+ constFieldCasing: upper
defaultErrorName: APIError
description: Python Client SDK Generated by Speakeasy.
enableCustomCodeRegions: false
@@ -60,16 +66,21 @@ python:
operations: ""
shared: ""
webhooks: ""
+ inferUnionDiscriminators: true
inputModelSuffix: input
legacyPyright: false
+ license: ""
maxMethodParams: 999
methodArguments: infer-optional-args
moduleName: ""
+ multipartArrayFormat: legacy
outputModelSuffix: output
packageManager: poetry
packageName: bolt-api-sdk
+ preApplyUnionDiscriminators: false
pytestFilterWarnings: []
pytestTimeout: 0
responseFormat: flat
sseFlatResponse: false
templateVersion: v2
+ useAsyncHooks: false
diff --git a/.speakeasy/out.openapi.yaml b/.speakeasy/out.openapi.yaml
index 50e0fbe..9b86de2 100644
--- a/.speakeasy/out.openapi.yaml
+++ b/.speakeasy/out.openapi.yaml
@@ -11,6 +11,18 @@ info:
A comprehensive Bolt API reference for interacting with Transactions, Orders, Product Catalog, Configuration, Testing, and much more.
Note: You must also reference the [Merchant Callback API](/api-merchant) when building a managed checkout custom cart integration
+servers:
+ - url: https://api.bolt.com
+ description: The Production URL (Live Data).
+ - url: https://api-sandbox.bolt.com
+ description: The Sandbox URL (Test Data).
+ - url: https://api-staging.bolt.com
+ description: The Staging URL (Staged Data).
+security:
+ - X-API-Key: []
+ - OAuth:
+ - bolt.account.manage
+ - bolt.account.view
tags:
- name: Account
description: |
@@ -36,9642 +48,9633 @@ tags:
- name: Webhooks
description: |
Set up webhooks to notify your backend of events within Bolt. These webhooks can communicate with your OMS or other systems to keep them up to date with Bolt. See our related guide on [Webhooks](https://help.bolt.com/get-started/during-checkout/webhooks/).
-servers:
- - url: https://api.bolt.com
- description: The Production URL (Live Data).
- - url: https://api-sandbox.bolt.com
- description: The Sandbox URL (Test Data).
- - url: https://api-staging.bolt.com
- description: The Staging URL (Staged Data).
-components:
- parameters:
- x-publishable-key:
- description: The publicly viewable identifier used to identify a merchant division. This key is found in the Developer > API section of the Bolt Merchant Dashboard [RECOMMENDED].
- in: header
- name: X-Publishable-Key
- required: false
- schema:
- type: string
- idempotency_key:
- description: A key created by merchants that ensures `POST` and `PATCH` requests are only performed once. [Read more about Idempotent Requests here](/developers/references/idempotency/).
- in: header
- name: Idempotency-Key
- required: false
- schema:
- type: string
- shopper_address_id_path_param:
- description: The ID for an address in the shopper's Address Book.
- in: path
- name: id
- required: true
- schema:
- type: string
- email:
- description: The shopper's email address is the primary mechanism for detecting an account. You **must** provide either a value for this parameter or for `sha256_email`.
- in: query
- name: email
- required: false
- schema:
- type: string
- sha256_email:
- description: The sha256 hash of the shopper's normalized email address can be used to detect an account instead of `email`.
- in: query
- name: sha256_email
- required: false
- schema:
- type: string
- phone:
- description: The shopper's phone number. Includes country code (e.g. +1); does not include dashes or spaces. Can be used to detect an account instead of `sha256_email` or `email`.
- in: query
- name: phone
- required: false
- schema:
- type: string
- x_publishable_key_required:
- description: The publicly viewable identifier used to identify a merchant division. This key is found in the Developer > API section of the Bolt Merchant Dashboard.
- in: header
- name: X-Publishable-Key
- required: true
- schema:
- type: string
- shopper_payment_method_id_path_param:
- description: The ID for a payment method in the shopper's Bolt account Wallet. This ID can be obtained using [Get Account Details](#tag/Account/operation/GetAccountDetails).
- in: path
- name: payment_method_id
- required: true
- schema:
- type: string
- division_id:
- description: The unique ID associated to the merchant's Bolt Account division; Merchants can have different divisions to suit multiple use cases (storefronts, pay-by-link, phone order processing). You can view and switch between these divisions from the Bolt Merchant Dashboard.
- in: query
- name: division_id
- required: true
- schema:
- type: string
- transaction_reference_path_param:
- description: This is the Bolt transaction reference. (ex. N7Y3-NFKC-VFRF)
- in: path
- name: REFERENCE
- required: true
- schema:
- type: string
- bolt-consumer-shopper-login-device-token:
- description: The Shopper's OAuth Token from their current active session.
- in: header
- name: bolt_consumer_shopper_login_device_token
- required: true
- schema:
- type: string
- bolt_hmac_param:
- description: Bolt sends a signed HMAC for hook verification
- in: header
- name: X-Bolt-Hmac-Sha256
- schema:
- type: string
- bolt_product_id:
- description: Bolt's unique identifier for a given product.
- in: query
- name: bolt_product_id
- required: false
- schema:
- type: string
- code:
- description: A temporary authorization code that must be exchanged for an ID token obtained from Bolt's `/oauth/token` endpoint.
- in: query
- name: code
- required: true
- schema:
- type: string
- cursor:
- description: The url of the next product variant to load when multiple variants are returned and paginated.
- in: query
- name: cursor
- required: false
- schema:
- type: string
- limit:
- description: The maximum number of product results returned.
- in: query
- name: limit
- required: false
- schema:
- type: string
- merchant-division-id:
- description: The public ID for a given merchant division of your Bolt account.
- in: query
- name: MerchantDivisionPublicID
- required: true
- schema:
- type: string
- merchant-id:
- description: The public ID of the merchant.
- in: query
- name: MerchantID
- required: false
- schema:
- type: string
- merchant_product_id:
- description: A merchant's unique ID for a given product.
- in: query
- name: merchant_product_id
- schema:
- type: string
- order_id:
- description: The order token associated to the shopper logging into a Bolt Account.
- in: query
- name: order_id
- required: true
- schema:
- type: string
- scope:
- description: Set to `openid`.
- in: query
- name: scope
- required: true
- schema:
- type: string
- sku:
- description: A product's sku.
- in: query
- name: sku
- required: false
- schema:
- type: string
- state:
- description: A randomly generated 8-character string.
- in: query
- name: state
- required: true
- schema:
- type: string
- x-authorization-signature:
- description: Generated signature after using the signing secret and nonce by the publisher.
- in: header
- name: X-Authorization-Signature
- required: true
- schema:
- type: string
- x-publisher-key:
- description: Unique identifier for the publisher.
- in: header
- name: X-Publisher-Key
- required: true
- schema:
- type: string
- x_authorization_signature:
- description: Generated signature after using the signing secret and nonce by the publisher.
- in: header
- name: X-Authorization-Signature
- required: true
- schema:
- type: string
- x_nonce_param:
- description: Unique 12-16 digit for a publisher or product catalog request.
- in: header
- name: X-Nonce
- required: true
- schema:
- format: uuid
- type: string
- x_publishable_key:
- description: The publicly viewable identifier used to identify a merchant division. This key is found in the Developer > API section of the Bolt Merchant Dashboard [RECOMMENDED].
- in: header
- name: X-Publishable-Key
- required: false
- schema:
- type: string
- x_publisher_key:
- description: Unique identifier for the publisher.
- in: header
- name: X-Publisher-Key
- required: true
- schema:
- type: string
- schemas:
- door_code:
- description: The building door code or community gate code.
- example: '123456'
- maxLength: 1024
- nullable: true
- type: string
- email:
- description: An email address.
- example: alan.watts@example.com
- format: email
- type: string
- maxLength: 255
- phone:
- description: A phone number following E164 standards, in its globalized format, i.e. prepended with a plus sign.
- example: '+12125550199'
- maxLength: 16
- type: string
- address_view:
- description: The address object returned in the response.
- properties:
- company:
- description: The company name associated with this address.
- example: Bolt
- type: string
- country:
- description: The name of the country associated with this address.
- example: United States
- type: string
- country_code:
- description: The ISO 3166-1 alpha-2 country code associated with this address.
- example: US
- type: string
- door_code:
- $ref: '#/components/schemas/door_code'
- email_address:
- description: The email address associated with this address.
- $ref: '#/components/schemas/email'
- first_name:
- description: The given name of the person associated with this address.
- example: Alan
- type: string
- id:
- description: The unique Bolt ID associated with this address.
- type: string
- last_name:
- description: The surname of the person associated with this address.
- example: Watts
- type: string
- locality:
- description: The city name details associated with this address.
- example: Brooklyn
- type: string
- name:
- description: The given and surname of the person associated with this address.
- example: Alan Watts
- type: string
- phone_number:
- description: The phone number associated with this address.
- $ref: '#/components/schemas/phone'
- postal_code:
- description: The postal or zip code associated with this address.
- example: '10044'
- maxLength: 32
- type: string
- priority:
- description: The shopper-indicated priority of this address compared to other addresses on their account.
- example: primary
- nullable: true
- type: string
- enum:
- - primary
- - listed
- region:
- description: The region details such as state or province associated with this address.
- example: NY
- type: string
- region_code:
- description: The the ISO 3166-2 region code associated with this address.
- example: NY
- nullable: true
- type: string
- street_address1:
- description: The street number and street name of the address.
- example: 888 main street
- type: string
- street_address2:
- description: Any apartment, floor, or unit details.
- example: apt 3021
- type: string
- street_address3:
- description: Any additional street address details.
- example: c/o Alicia Watts
- nullable: true
- type: string
- street_address4:
- description: Any additional street address details.
- example: Bridge Street Apartment Building B
- nullable: true
- type: string
- type: object
- shopper_metadata:
+paths:
+ /v1/account:
+ get:
+ description: Fetch a shopper's account details to pre-fill checkout fields. This request must come from your backend for security purposes, as it requires the use of your private key to authenticate. For PCI compliance, only limited information is returned for each credit card available in the shopper’s wallet.
+ operationId: getAccount
+ parameters:
+ - $ref: '#/components/parameters/x-publishable-key'
+ responses:
+ '200':
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/account_details'
+ description: Account Details Fetched
+ security:
+ - OAuth:
+ - bolt.account.manage
+ - bolt.account.view
+ X-API-Key: []
+ summary: Get Account Details
+ tags:
+ - Account
+ post:
+ description: Create a Bolt shopping account.
+ operationId: createAccount
+ parameters:
+ - $ref: '#/components/parameters/x-publishable-key'
+ - $ref: '#/components/parameters/idempotency_key'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/create_account_input'
+ responses:
+ '200':
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/account_details'
+ description: Account Created
+ security:
+ - X-API-Key: []
+ summary: Create Bolt Account
+ tags:
+ - Account
+ /v1/account/profile:
+ patch:
+ description: Update the identifiers for a shopper's profile (first name or last name).
+ operationId: updateAccountProfile
+ parameters:
+ - $ref: '#/components/parameters/x-publishable-key'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/update_profile'
+ responses:
+ '200':
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/profile_view'
+ description: Profile Updated
+ security:
+ - OAuth:
+ - bolt.account.manage
+ X-API-Key: []
+ summary: Update Profile
+ tags:
+ - Account
+ /v1/account/addresses:
+ post:
+ description: Add an address to a shopper's account address book.
+ operationId: addAddress
+ parameters:
+ - $ref: '#/components/parameters/x-publishable-key'
+ - $ref: '#/components/parameters/idempotency_key'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/address_account'
+ responses:
+ '200':
+ content:
+ application/json:
+ schema:
+ allOf:
+ - $ref: '#/components/schemas/address_view_account'
+ - properties:
+ default:
+ type: boolean
+ type: object
+ description: Address Added Successfully
+ security:
+ - OAuth:
+ - bolt.account.manage
+ X-API-Key: []
+ summary: Add Address
+ tags:
+ - Account
+ /v1/account/addresses/{id}:
+ delete:
description: |
- A key-value pair object that allows users to store arbitrary information associated with an object. For any individual account object, we allow up to 50 keys. Keys can be up to 40 characters long and values can be up to 500 characters long. Metadata should not contain any sensitive customer information, like PII (Personally Identifiable Information). For more information about metadata, see our [documentation](https://help.bolt.com/developers/references/embedded-metadata/).
- nullable: true
- example:
- customer_id: 234
- properties:
- additionalProperties:
- type: string
- type: object
- account_details_address_view:
- description: The address object returned in the response.
- allOf:
- - $ref: '#/components/schemas/address_view'
- - type: object
- properties:
- default:
- description: The default shipping address chosen by the shopper.
- type: boolean
- metadata:
- $ref: '#/components/schemas/shopper_metadata'
- card_last4:
- description: The card's last 4 digits. **Nullable** for Transactions Details.
- example: '4021'
- maxLength: 4
- minLength: 4
- type: string
- card_network:
+ Deletes an existing address in a shopper's address book.
+ operationId: deleteAddress
+ parameters:
+ - $ref: '#/components/parameters/shopper_address_id_path_param'
+ - $ref: '#/components/parameters/x-publishable-key'
+ responses:
+ '200':
+ description: Address Successfully Deleted
+ security:
+ - OAuth:
+ - bolt.account.manage
+ X-API-Key: []
+ summary: Delete Address
+ tags:
+ - Account
+ post:
description: |
- The card's network code. **Nullable** for Transactions Details. Note: LEGACY diners_club_us_ca now tagged as mastercard
- enum:
- - visa
- - mastercard
- - amex
- - discover
- - dinersclub
- - jcb
- - unionpay
- - alliancedata
- - citiplcc
- - unknown
- example: visa
- type: string
- saved_credit_card_view:
- properties:
- billing_address:
- $ref: '#/components/schemas/address_view'
- id:
- description: The ID of the payment method associated with the Shopper's account.
- type: string
- last4:
- $ref: '#/components/schemas/card_last4'
- exp_month:
- description: The expiration month of the credit card.
- example: 11
- maxLength: 2
- minLength: 1
- type: integer
- exp_year:
- description: The expiration year of the credit card.
- example: 2024
- maxLength: 4
- minLength: 4
- type: integer
- network:
- $ref: '#/components/schemas/card_network'
- default:
- description: The default card payment method chosen by the shopper.
- type: boolean
- type:
- description: The payment method type. If empty, the property defaults to `card`.
- enum:
- - card
- - paypal
- type: string
- description:
- description: The APM account identifier; usually the email address.
- type: string
- metadata:
- $ref: '#/components/schemas/shopper_metadata'
- type: object
- description: Saved Credit Card Detail
- saved_paypal_account_view:
- properties:
- id:
- description: The ID of the payment method associated with the Shopper's account.
- type: string
- type:
- description: Type field indicates this is a saved PayPal to differentiate it from a saved card.
- enum:
- - paypal
- type: string
- description:
- description: The email associated with a shopper's saved PayPal account.
- type: string
- metadata:
- $ref: '#/components/schemas/shopper_metadata'
- type: object
- description: Saved PayPal account details.
- profile_view:
- description: The shopper's account profile.
- properties:
- email:
- $ref: '#/components/schemas/email'
- first_name:
- description: The given name of the person associated with this record.
- example: Alan
- type: string
- last_name:
- description: The surname of the person associated with this record.
- example: Watts
- type: string
- metadata:
- $ref: '#/components/schemas/shopper_metadata'
- name:
- description: The given and surname of the person associated with this address.
- example: Alan Watts
- type: string
- phone:
- $ref: '#/components/schemas/phone'
- type: object
- account_details:
- properties:
- addresses:
- description: A list of all addresses associated to the shopper's account.
- items:
- $ref: '#/components/schemas/account_details_address_view'
- type: array
- has_bolt_account:
- description: Used to determine whether a Bolt Account exists with this shopper's account details.
- type: boolean
- payment_methods:
- description: A list of all payment methods associated to the shopper's account.
- items:
- oneOf:
- - $ref: '#/components/schemas/saved_credit_card_view'
- - $ref: '#/components/schemas/saved_paypal_account_view'
- type: array
- profile:
- $ref: '#/components/schemas/profile_view'
- type: object
- address:
- description: The Address object is used for billing, shipping, and physical store address use cases.
- properties:
- company:
- description: The company name associated with this address.
- example: Bolt
- maxLength: 1024
- type: string
- country:
- description: The name of the country associated with this address.
- example: United States
- maxLength: 1024
- type: string
- country_code:
- description: The ISO 3166-1 alpha-2 country code associated with this address.
- example: US
- maxLength: 2
- minLength: 2
- type: string
- default:
- description: Whether the added address is now the default address.
- example: true
- type: boolean
- door_code:
- $ref: '#/components/schemas/door_code'
- email:
- description: The email address associated with this address.
- $ref: '#/components/schemas/email'
- first_name:
- description: The given name of the person associated with this address.
- example: Alan
- maxLength: 1024
- type: string
- last_name:
- description: The surname of the person associated with this address.
- example: Watts
- maxLength: 1024
- type: string
- locality:
- description: The city name details associated with this address.
- example: Brooklyn
- maxLength: 1024
- type: string
- name:
- description: The given and surname of the person associated with this address.
- example: Alan Watts
- maxLength: 1024
- type: string
- phone:
- description: The phone number associated with this address.
- $ref: '#/components/schemas/phone'
- postal_code:
- description: The the postal or zip code associated with this address.
- example: '10044'
- maxLength: 32
- type: string
- region:
- description: '**Not Required for NON US addresses**. The region details such as state or province associated with this address.'
- example: NY
- maxLength: 1024
- type: string
- region_code:
- description: |
- The ISO 3166-2 region code associated with this address.
- - * If specified, value must be valid for the `country`.
- - * If null, value is inferred from the `region`.
- example: NY
- maxLength: 1024
- nullable: true
- type: string
- street_address1:
- description: The street number and street name of the address.
- example: 888 main street
- maxLength: 1024
- type: string
- street_address2:
- description: Any apartment, floor, or unit details.
- example: apt 3021
- maxLength: 1024
- type: string
- street_address3:
- description: Any additional street address details.
- example: c/o Alicia Watts
- maxLength: 1024
- nullable: true
- type: string
- street_address4:
- description: Any additional street address details.
- example: Bridge Street Apartment Building B
- maxLength: 1024
- nullable: true
- type: string
- required:
- - street_address1
- - locality
- - region
- - country_code
- - postal_code
- - email
- - first_name
- - last_name
- type: object
- address_account:
- allOf:
- - $ref: '#/components/schemas/address'
- - properties:
- default:
- description: Set this to true to make this the default shipping address. There can be only one address with default set to true.
- type: boolean
- metadata:
- $ref: '#/components/schemas/shopper_metadata'
- type: object
- type: object
- credit_card_account:
+ Replace an existing address in a shopper's address book.
+ These changes delete the existing address and create a new one.
+ operationId: replaceAddress
+ parameters:
+ - $ref: '#/components/parameters/shopper_address_id_path_param'
+ - $ref: '#/components/parameters/x-publishable-key'
+ - $ref: '#/components/parameters/idempotency_key'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/address_account'
+ responses:
+ '200':
+ content:
+ application/json:
+ schema:
+ allOf:
+ - $ref: '#/components/schemas/address_view_account'
+ - properties:
+ default:
+ type: boolean
+ type: object
+ description: Address Updated Successfully
+ security:
+ - OAuth:
+ - bolt.account.manage
+ X-API-Key: []
+ summary: Replace Address
+ tags:
+ - Account
+ put:
description: |
- The `credit_card` object is used to to pay for guest checkout transactions or save payment method details to an account. Once saved, you can reference the credit card with the associated `credit_card_id` for future transactions.
- properties:
- billing_address:
- $ref: '#/components/schemas/address'
- billing_address_id:
- description: |
- The unique Bolt ID associated with a saved shopper address. This can be obtained by accessing a shopper's account details. If you use this field, you do not need to use `billing_address`.
- example: null
- nullable: true
- type: string
- bin:
- description: The Bank Identification Number for the credit card. This is typically the first 4-6 digits of the credit card number.
- maxLength: 6
- minLength: 4
- type: string
- example: 411111
- cryptogram:
- type: string
- eci:
- type: string
- expiration:
- description: The expiration date of the credit card.
- example: 2025-11
- type: string
- last4:
- description: The last 4 digits of the credit card number.
- example: '1234'
- maxLength: 4
- minLength: 4
- type: string
- metadata:
- $ref: '#/components/schemas/shopper_metadata'
- network:
- enum:
- - visa
- - mastercard
- - amex
- - discover
- - dinersclub
- - jcb
- - unionpay
- - alliancedata
- - citiplcc
- - unknown
- type: string
- number:
- description: Used to provide ApplePay DPAN or private label credit card PAN when applicable. Required when charging a private label credit card.
- type: string
- postal_code:
- description: Used for the postal or zip code associated with the credit card.
- example: '10044'
- maxLength: 32
- type: string
- priority:
- description: |
- Used to indicate the card's priority. '1' indicates primary, while '2' indicates a secondary card.
- enum:
- - 1
- - 2
- type: integer
- save:
- description: |
- Determines whether or not the credit card will be saved to the shopper's account. Defaults to `true`.
- type: boolean
- token:
- description: The Bolt token associated to the credit card.
- example: a1B2c3D4e5F6G7H8i9J0k1L2m3N4o5P6Q7r8S9t0
- type: string
- token_type:
- description: |
- Used to define which payment processor generated the token for this credit card. For those using Bolt's tokenizer, the value must be `bolt`.
- enum:
- - vantiv
- - applepay
- - bolt
- - stripe
- - plcc
- example: bolt
- type: string
- required:
- - token
- - expiration
- - billing_address
- type: object
- payment_method_account:
- allOf:
- - $ref: '#/components/schemas/credit_card_account'
- - properties:
- default:
- description: Set this to true to make this the default payment method. There can be only one payment method with default set to true.
- type: boolean
- type: object
- type: object
- profile:
- description: The first name, last name, email address, and phone number of a shopper.
- properties:
- email:
- description: The email of the person associated with this profile.
- $ref: '#/components/schemas/email'
- first_name:
- description: The given name of the person associated with this record.
- example: Alan
- type: string
- last_name:
- description: The surname of the person associated with this record.
- example: Watts
- type: string
- metadata:
- $ref: '#/components/schemas/shopper_metadata'
- phone:
- description: The phone number of the person associated with this profile.
- $ref: '#/components/schemas/phone'
- required:
- - first_name
- - last_name
- - email
- type: object
- create_account_input:
- description: The details needed to create a Bolt account.
- properties:
- addresses:
- description: A list of physical shipping addresses associated with this account.
- items:
- $ref: '#/components/schemas/address_account'
- type: array
- payment_methods:
- description: A list of payment methods associated with this account.
- items:
- $ref: '#/components/schemas/payment_method_account'
- type: array
- profile:
- $ref: '#/components/schemas/profile'
- required:
- - profile
- type: object
- update_profile:
- description: The profile fields that can be updated for a shopper.
- properties:
- first_name:
- description: The given name of the person associated with this record.
- example: Alan
- type: string
- last_name:
- description: The surname of the person associated with this record.
- example: Watts
- type: string
- metadata:
- $ref: '#/components/schemas/shopper_metadata'
- type: object
- address_view_account:
- description: The address object returned in the response.
- allOf:
- - $ref: '#/components/schemas/address_view'
- - properties:
- metadata:
- $ref: '#/components/schemas/shopper_metadata'
- type: object
- v1_accounts_view:
- properties:
- has_bolt_account:
- type: boolean
- type: object
- code:
- description: Custom-defined Bolt error code. This can be used to programmatically react to specific errors.
- example: 2001005
- format: int64
- type: integer
- message:
- description: Human-readable description of the error for developers. Should not be shown to users and is not localized.
- example: The input is missing a required parameter.
- type: string
- error_bolt_api:
- properties:
- code:
- $ref: '#/components/schemas/code'
- message:
- $ref: '#/components/schemas/message'
- type: object
- description: Error object containing custom error information
- errors_bolt_api:
- items:
- $ref: '#/components/schemas/error_bolt_api'
- type: array
- request_failed:
- example: false
- type: boolean
- description: Indicates that the request failed. This value is always false.
- request_result:
- description: Custom-defined Bolt result object.
- properties:
- success:
- $ref: '#/components/schemas/request_failed'
- type: object
- errors_bolt_api_response:
- properties:
- errors:
- $ref: '#/components/schemas/errors_bolt_api'
- result:
- $ref: '#/components/schemas/request_result'
- type: object
- merchant_callback_url_type:
- description: Bolt merchant division callback URL type
- enum:
- - oauth_redirect
- - oauth_logout
- - get_account
- - create_order
- - universal_merchant_api
- - shipping
- - tax
- - update_cart
- - debug
- - remote_api
- - product_info
- - support_page
- - account_page
- - mobile_app_domain
- - validate_additional_account_data
- - terms_of_service
- - privacy_policy
- - base_domain
- - confirmation_redirect
- type: string
- merchant_callbacks_view:
- properties:
- callback_urls:
- description: List of callback URLs retrieved
- example:
- - type: oauth_redirect
- url: https://example.com/1
- - type: oauth_logout
- url: https://example.com/2
- - type: get_account
- url: https://example.com/3
- items:
- properties:
- type:
- $ref: '#/components/schemas/merchant_callback_url_type'
- url:
- description: The full callback URL.
- type: string
- type: object
- type: array
- type: object
- merchant_callbacks_input:
- properties:
- callback_urls:
- description: List of callback URLs to configure
- example:
- - type: oauth_redirect
- url: https://example.com/1
- - type: oauth_logout
- url: https://example.com/2
- - type: get_account
- url: https://example.com/3
- items:
- properties:
- type:
- $ref: '#/components/schemas/merchant_callback_url_type'
- url:
- description: The full callback URL.
- type: string
- required:
- - url
- - type
- type: object
- type: array
- division_id:
- description: The unique ID associated to the merchant's Bolt Account division; Merchants can have different divisions to suit multiple use cases (storefronts, pay-by-link, phone order processing). Use the Bolt Merchant Dashboard to switch between divisions and find the division ID under `Merchant Division Public ID`.
- example: 3X9aPQ67-YrB
- type: string
- required:
- - division_id
- - callback_urls
- type: object
- merchant_divisions_identifiers_view:
- items:
- properties:
- division_id:
- description: The public ID of this division.
- example: IraJdeIgmdsO
- type: string
- publishable_key:
- description: The publishable key tied to this division.
- example: 8fd9diIy59sj.IraJdeIgmdsO.fd233434fg2c616cgo932aa6e1e4fc627a9385045gr395222a127gi93c595rg4
- type: string
- type: object
- type: array
- merchant_identifiers_view:
- properties:
- merchant_divisions:
- $ref: '#/components/schemas/merchant_divisions_identifiers_view'
- merchant_id:
- description: The public ID of this merchant.
- example: 8fd9diIy59sj
- type: string
- signing_secret:
- description: Bolt generates one secret key per merchant and uses it to securely sign requests.
- example: xf833434fg2cffos92632aa6e1e4fc627a9385045gdj937fg2a127gi93cgos873
- type: string
- type: object
- cart_add_on:
- description: A list of up to 3 add-ons that are displayed to the shopper.
- properties:
- description:
- description: The description of the product being displayed as an add on.
- maxLength: 256
- type: string
- imageUrl:
- description: The URL of the image displayed for the add on product.
- maxLength: 1024
- type: string
- name:
- description: The name of the product being displayed as an add on.
- maxLength: 256
- type: string
- price:
- description: The price of the product add on in cents (1/100).
- format: int64
- type: number
- productId:
- description: The the ID of the product being displayed as an add on.
- maxLength: 256
- type: string
- productPageUrl:
- description: The URL to the product page of the product being displayed as an add on.
- maxLength: 1024
- type: string
- required:
- - name
- - productId
- - price
- type: object
- cart_discount:
- properties:
- amount:
- example: 100
- type: number
- code:
- example: SUMMER10DISCOUNT
- maxLength: 1024
- type: string
- description:
- description: Used to define the discount offering.
- example: 10% off our summer collection
- maxLength: 1024
- type: string
- details_url:
- description: Used to provide a link to additional details, such as a landing page, associated with the discount offering.
- example: https://boltswagstore.com/SUMMERSALE
- maxLength: 8192
- type: string
- discount_category:
- enum:
- - coupon
- - giftcard
- - managed_giftcard
- - store_credit
- - automatic_promotion
- - membership_discount
- - membership_giftcard
- - subscription_discount
- - rewards_discount
- - unknown
- type: string
- reference:
- description: Used to define the reference ID associated with the discount available.
- example: DISC-1234
- maxLength: 1024
- type: string
- type:
- description: The type of discount.
- enum:
- - fixed_amount
- - percentage
- - free_shipping
- example: percentage
- type: string
- type: object
- cart_fee:
- properties:
- reference:
- description: Unique reference used to identify the fee.
- example: ItemFee
- maxLength: 1024
- nullable: false
- type: string
- name:
- description: Name of the fee that will appear in the order ledger.
- example: Item Fee
- maxLength: 1024
- nullable: true
- type: string
- description:
- description: Description of the fee that will appear in the tooltip if the mouse hovers over the fee.
- example: Item Fee
- maxLength: 1024
- nullable: true
- type: string
- unit_price:
- format: int64
- nullable: false
- type: number
- unit_tax_amount:
- format: int64
- nullable: false
- type: number
- quantity:
- format: int64
- nullable: false
- type: number
- required:
- - reference
- - name
- - unit_price
- - unit_tax_amount
- - quantity
- type: object
- collection:
- example: summer
- type: string
- collections:
- items:
- $ref: '#/components/schemas/collection'
- type: array
- cart_item_customization:
- properties:
- attributes:
- additionalProperties:
- type: string
- example:
- key1: value1
- key2: value2
- type: object
- name:
- type: string
- price:
- example: 754
- format: int64
- type: number
- type: object
- i_cart_item_external_inputs:
- properties:
- shopify_line_item_reference:
- format: int64
- type: number
- shopify_product_reference:
- format: int64
- type: number
- shopify_product_variant_reference:
- format: int64
- type: number
- type: object
- cost:
- description: The cost in cents.
- example: 770
- type: integer
- merchant_product_id:
- description: The merchant's unique ID for the product.
- example: '881'
- type: string
- gift_options_message:
- description: Includes the gift message written by the shopper.
- example: Happy Anniversary, Smoochy Poo!
- type: string
- gift_options_wrap:
- description: Defines whether gift wrapping was requested.
- example: false
- type: boolean
- cart_item_gift_option:
- description: Contains the gift option settings for wrapping and custom messages.
- properties:
- cost:
- $ref: '#/components/schemas/cost'
- merchant_product_id:
- $ref: '#/components/schemas/merchant_product_id'
- message:
- $ref: '#/components/schemas/gift_options_message'
- wrap:
- $ref: '#/components/schemas/gift_options_wrap'
- type: object
- merchant_variant_id:
- description: A merchant's unique ID for a given product's specific variant.
- example: '888'
- type: string
- cart_item_property:
- properties:
- color:
- maxLength: 1024
- type: string
- display:
- type: boolean
- name:
- maxLength: 1024
- type: string
- name_id:
- format: int64
- type: number
- value:
- maxLength: 1024
- type: string
- value_id:
- format: int64
- type: number
- type: object
- carrier:
- description: The name of the carrier selected.
- example: FedEx
- type: string
- discount_membership:
- description: Defines if shopper has a membership discount.
- example: false
- type: boolean
- estimated_delivery_date:
- description: The estimated delivery date.
- example: 08-30-2022
- type: string
- expedited:
- description: True if shipment is expedited.
- example: false
- type: boolean
- depth:
- description: The depth.
- example: 90
- type: integer
- dimension_unit:
- description: The unit of measurement for an item's dimensions.
- example: cm
- type: string
- height:
- description: The height.
- example: 103
- type: integer
- package_type:
- description: The type of package.
- example: A big package.
- type: string
- weight_unit:
- description: The unit of measurement for an item's weight.
- example: kg
- type: string
- width:
- description: The width.
- example: 222
- type: integer
- service:
- description: The service name.
- example: Option 1
- type: string
- shipping_address_id:
- description: ID for billing address
- example: address1
- type: string
- shipping_method:
- description: The name of the shipping method.
- example: unknown
- type: string
- signature:
- description: The signature.
- example: a1B2s3dC4f5g5D6hj6E7k8F9l0
- type: string
- tax_amount:
- description: Tax amount in cents.
- example: 230
- type: integer
- tax_code:
- description: The relevant tax code.
- example: tax-12345
- type: string
- cart_shipment_type:
- description: The type corresponding to this shipment, if applicable.
- example: door_delivery
- enum:
- - door_delivery
- - in_store_pickup
- - ship_to_store
- - ship_to_home_only
- - unknown
- type: string
- cart_shipment:
- description: A cart that is being prepared for shipment
- properties:
- carrier:
- $ref: '#/components/schemas/carrier'
- cost:
- $ref: '#/components/schemas/cost'
- discounted_by_membership:
- $ref: '#/components/schemas/discount_membership'
- estimated_delivery_date:
- $ref: '#/components/schemas/estimated_delivery_date'
- expedited:
- $ref: '#/components/schemas/expedited'
- package_depth:
- $ref: '#/components/schemas/depth'
- package_dimension_unit:
- $ref: '#/components/schemas/dimension_unit'
- package_height:
- $ref: '#/components/schemas/height'
- package_type:
- $ref: '#/components/schemas/package_type'
- package_weight_unit:
- $ref: '#/components/schemas/weight_unit'
- package_width:
- $ref: '#/components/schemas/width'
- service:
- $ref: '#/components/schemas/service'
- shipping_address:
- $ref: '#/components/schemas/address'
- shipping_address_id:
- $ref: '#/components/schemas/shipping_address_id'
- shipping_method:
- $ref: '#/components/schemas/shipping_method'
- signature:
- $ref: '#/components/schemas/signature'
- tax_amount:
- $ref: '#/components/schemas/tax_amount'
- tax_code:
- $ref: '#/components/schemas/tax_code'
- total_weight:
- description: The total weight.
- example: 55
- type: integer
- total_weight_unit:
- $ref: '#/components/schemas/weight_unit'
- type:
- $ref: '#/components/schemas/cart_shipment_type'
- type: object
- cart_item:
- properties:
- brand:
- example: Bolt
- maxLength: 1024
- nullable: true
- type: string
- category:
- description: Used to define a product category associated with the item.
- example: bags
- maxLength: 1024
- nullable: true
- type: string
- collections:
- $ref: '#/components/schemas/collections'
- color:
- description: Used to define the color of the item.
- example: Bolt Blue
- maxLength: 1024
- nullable: true
- type: string
- customizations:
- items:
- $ref: '#/components/schemas/cart_item_customization'
- type: array
- description:
- example: Large tote with Bolt logo.
- nullable: true
- type: string
- details_url:
- description: Used to provide a link to the item's product page.
- example: https://boltswagstore.com/products/123456
- maxLength: 8192
- type: string
- external_inputs:
- $ref: '#/components/schemas/i_cart_item_external_inputs'
- gift_option:
- $ref: '#/components/schemas/cart_item_gift_option'
- image_url:
- description: Used to provide a link to the image associated with the item.
- example: https://boltswagstore.com/products/123456/images/1.png
- maxLength: 8192
- type: string
- isbn:
- description: Used to define the International Standard Book Number associated with the book.
- example: '9780091347314'
- maxLength: 1024
- nullable: true
- type: string
- item_group:
- nullable: true
- type: string
- manufacturer:
- description: Used to define the organization that manufactured the item.
- example: Bolt Textiles USA
- maxLength: 1024
- nullable: true
- type: string
- merchant_product_id:
- $ref: '#/components/schemas/merchant_product_id'
- merchant_variant_id:
- $ref: '#/components/schemas/merchant_variant_id'
- msrp:
- format: int64
- nullable: true
- type: number
- name:
- example: Bolt Swag Bag
- maxLength: 1024
- minLength: 1
- type: string
- options:
- example: Special Edition
- maxLength: 1024
- nullable: true
- type: string
- properties:
- items:
- $ref: '#/components/schemas/cart_item_property'
- type: array
- quantity:
- example: 1
- format: int64
- maximum: 15000
- type: number
- reference:
- example: item_100
- maxLength: 1024
- type: string
- shipment:
- $ref: '#/components/schemas/cart_shipment'
- shipment_type:
- enum:
- - unknown
- - door_delivery
- - ship_to_store
- - in_store_pickup
- type: string
- size:
- description: Used to define the size of the item.
- example: Large
- maxLength: 1024
- nullable: true
- type: string
- sku:
- description: Used to define the alpha-numberic Stock Keeping Unit associated with the item as it is mapped to your internal product catalogue.
- example: BOLT-SKU_100
- maxLength: 1024
- nullable: true
- type: string
- source:
- nullable: true
- type: string
- seller_id:
- description: The unique identifier for the seller within the marketplace ecosystem. This field ensures deterministic multi-party payout calculations.
- example: seller-1234
- maxLength: 1024
- nullable: true
- type: string
- tags:
- description: Used to define a comma-separated list of tags associated with the item.
- example: tote, blue, linen, eco-friendly
- maxLength: 1024
- nullable: true
- type: string
- tax_amount:
- description: The tax amount for the item; this value should scale with the quantity of units selected.
- example: 0
- format: int64
- nullable: true
- type: number
- tax_code:
- maxLength: 32
- nullable: true
- type: string
- taxable:
- nullable: true
- type: boolean
- total_amount:
- description: The total amount, in cents, of the item including its taxes if applicable.
- example: 1000
- format: int64
- type: number
- type:
- enum:
- - unknown
- - digital
- - physical
- - bundled
- type: string
- unit_price:
- description: The price of one unit of the item; for example, the price of one pack of socks.
- example: 1000
- format: int64
- type: number
- uom:
- description: Used to define the unit of measure used to describe the item.
- example: inches
- maxLength: 1024
- nullable: true
- type: string
- upc:
- description: Used to define the 12-digit Universal Product Code (a barcode) associated with the item worldwide.
- example: '0825764603119'
- maxLength: 1024
- nullable: true
- type: string
- weight:
- example: 10
- format: int64
- maximum: 10000
- nullable: true
- type: number
- weight_unit:
- example: pounds
- maxLength: 1024
- nullable: true
- type: string
- required:
- - reference
- - name
- - total_amount
- - unit_price
- - quantity
- type: object
- digital_delivery:
- properties:
- email:
- type: string
- phone:
- type: string
- type: object
- in_store_cart_shipment:
- properties:
- cart_shipment:
- $ref: '#/components/schemas/cart_shipment'
- description:
- description: Shipment option description.
- example: Pick up in-store at 123 Main St.
- type: string
- distance:
- example: 3
- format: float64
- type: number
- distance_unit:
- enum:
- - km
- - mile
- example: mile
- type: string
- in_store_pickup_address:
- $ref: '#/components/schemas/address'
- pickup_window_close:
- format: date
- type: integer
- pickup_window_open:
- format: date
- type: integer
- store_name:
- description: The local store's name where the item can be picked up.
- example: Bolt Collective
- type: string
- type: object
- fulfillment:
- description: Defines the shipments associated with the cart items.
- properties:
- cart_items:
- items:
- $ref: '#/components/schemas/cart_item'
- type: array
- cart_shipment:
- $ref: '#/components/schemas/cart_shipment'
- digital_delivery:
- $ref: '#/components/schemas/digital_delivery'
- in_store_cart_shipment:
- $ref: '#/components/schemas/in_store_cart_shipment'
- type:
- enum:
- - physical_door_delivery
- - physical_ship_to_store
- - physical_in_store_pickup
- - digital_download
- - digital_no_delivery
- type: string
- type: object
- cart_loyalty_rewards:
- properties:
- amount:
- description: The reward amount in cents (1/100).
- format: int64
- type: number
- coupon_code:
- description: The loyalty reward's coupon code.
- type: string
- description:
- description: A description of the loyalty reward that will be shown to the shopper.
- type: string
- example: $5 off (100 Points)
- details:
- description: Internal-facing metadata for the Loyalty Rewards. Ideal for adding any other identifying information about the reward, including a duplication of the original loyalty reward json response from the loyalty provider as shown in the example provided. If you choose to use this field to hold json, enclose the content in single quotes to force a string value.
- type: string
- example: '{"id": 123456, "icon": "fa-dollar", "name": "$15.00 Off", "type": "Coupon", "amount": 100, "duration": "single_use", "cost_text": "150 Points", "description": "Get $15 off your next purchase for 150 points", "discount_type": "fixed_amount", "unrendered_name": "$15.00 Off", "discount_percentage": null, "discount_rate_cents": null, "discount_value_cents": null, "discount_amount_cents": 1500, "unrendered_description": "Get $15 off your next purchase for 150 points", "applies_to_product_type": "ALL"}'
- points:
- description: The number of points needed for this reward.
- format: int64
- type: number
- source:
- description: The loyalty rewards provider.
- type: string
- type:
- description: The type of loyalty reward.
- type: string
- type: object
- base_cart:
- description: The base_cart object contains the core details typically found in most cart objects, including items, discounts, amount totals, shipments, and in-store pickups.
- properties:
- add_ons:
- items:
- $ref: '#/components/schemas/cart_add_on'
- type: array
- billing_address:
- $ref: '#/components/schemas/address'
- discounts:
- items:
- $ref: '#/components/schemas/cart_discount'
- type: array
- fees:
- items:
- $ref: '#/components/schemas/cart_fee'
- type: array
- fulfillments:
- items:
- $ref: '#/components/schemas/fulfillment'
- type: array
- in_store_cart_shipments:
- items:
- $ref: '#/components/schemas/in_store_cart_shipment'
- type: array
- items:
- description: The list of items associated with the cart.
- items:
- $ref: '#/components/schemas/cart_item'
- type: array
- loyalty_rewards:
- items:
- $ref: '#/components/schemas/cart_loyalty_rewards'
- type: array
- shipments:
- items:
- $ref: '#/components/schemas/cart_shipment'
- type: array
- tax_amount:
- description: The total tax amount for all of the items associated with the cart.
- format: int64
- type: number
- total_amount:
- description: The total amount, in cents, of the cart including its items and taxes (if applicable), e.g. $9.00 is 900. This total must match the sum of all other amounts.
- example: 900
- format: int64
- type: number
- required:
- - total_amount
- type: object
- cart_create:
- allOf:
- - $ref: '#/components/schemas/base_cart'
- - properties:
- cart_url:
- description: Used to provide a link to the cart ID.
- example: https://boltswagstore.com/orders/123456765432
- maxLength: 8192
- type: string
- currency:
- example: USD
- type: string
- display_id:
- description: This field, although required, can be an empty string.
- example: displayid_100
- maxLength: 128
- type: string
- metadata:
- additionalProperties:
- type: string
- description: Optional custom metadata.
- example:
- key1: value1
- key2: value2
- type: object
- order_description:
- description: Used optionally to pass additional information like order numbers or other IDs as needed.
- example: 'Order #1234567890'
- maxLength: 1024
- type: string
- order_reference:
- description: This value is used by Bolt as an external reference to a given order. This reference must be unique per successful transaction.
- example: order_100
- type: string
- required:
- - currency
- - order_reference
- type: object
- i_order_metadata:
- nullable: true
- properties:
- encrypted_user_id:
- example: ID12345678
- type: string
- type: object
- seller_split_amounts:
- description: Defines the financial breakdown for a seller split, including subtotals, discounts, shipping, taxes, and the final gross amount.
- properties:
- merchant_subtotal:
- description: The subtotal amount for the merchant's items in this split, in cents.
- example: 5000
- format: int64
- type: number
- discount_total:
- description: The total discount amount applied to this seller split, in cents.
- example: 500
- format: int64
- type: number
- shipping_total:
- description: The total shipping amount for this seller split, in cents.
- example: 1000
- format: int64
- type: number
- tax_total:
- description: The total tax amount for this seller split, in cents.
- example: 400
- format: int64
- type: number
- gross_total:
- description: The gross total amount for this seller split, in cents.
- example: 5900
- format: int64
- type: number
- required:
- - merchant_subtotal
- - discount_total
- - shipping_total
- - tax_total
- - gross_total
- type: object
- marketplace_commission_fee:
- description: Configures the marketplace commission fee structure for a seller split, supporting both percentage-based and flat fee models.
- properties:
- bps:
- description: The commission fee expressed in basis points (1 bps = 0.01%). For example, 100 bps = 1%, 250 bps = 2.5%.
- example: 250
- format: int64
- type: number
- flat_cents:
- description: The fixed commission fee amount in cents, applied regardless of transaction value.
- example: 100
- format: int64
- type: number
- metadata:
- description: Additional contextual information about the commission fee, such as plan type, tier level, or other business rules.
- additionalProperties:
- type: string
- example:
- plan_type: pro
- tier: premium
- nullable: true
- type: object
- required:
- - bps
- - flat_cents
- type: object
- seller_split:
- description: Defines a seller split configuration for marketplace orders, specifying which items and shipments belong to a seller and how amounts should be calculated and distributed.
- properties:
- seller_id:
- description: The unique identifier for the seller within the marketplace ecosystem.
- example: seller-1234
- type: string
- amounts:
- $ref: '#/components/schemas/seller_split_amounts'
- description: The declarative amounts for this seller split.
- marketplace_commission_fee:
- $ref: '#/components/schemas/marketplace_commission_fee'
- description: The marketplace commission fee structure for this seller split.
- required:
- - seller_id
- - amounts
- - marketplace_commission_fee
- type: object
- order_create:
- properties:
- cart:
- allOf:
- - $ref: '#/components/schemas/cart_create'
- - description: The cart_create object is a composite of the base_cart object and additional order details.
- - required:
- - order_reference
- channel:
- description: Used to determine the channel from which the order was created.
- enum:
- - browser
- - mobile_app
- type: string
- create_cart_on_merchant_backend:
- description: Used to determine whether the order is created on your backend platform. This should almost always be `false`.
- example: false
- nullable: true
- type: boolean
- metadata:
- $ref: '#/components/schemas/i_order_metadata'
- user_note:
- description: Optionally used by shoppers to make extra requests or provide details for gift messages.
- example: Happy Birthday to my best friend in the whole world. Enjoy!
- maxLength: 1024
- type: string
- seller_splits:
- description: Array of seller splits for marketplace orders. This enables marketplaces to dynamically configure commission fees and payment splits per seller. Each split contains seller identification, scoped line items and shipments, and declarative amount breakdowns.
- items:
- $ref: '#/components/schemas/seller_split'
- nullable: true
- type: array
- required:
- - cart
- - channel
- type: object
- i_currency:
- properties:
- currency:
- example: USD
- type: string
- currency_symbol:
- example: $
- type: string
- type: object
- amount_view:
- properties:
- amount:
- format: int64
- example: 754
- type: number
- currency:
- example: USD
- type: string
- currency_symbol:
- example: $
- type: string
- type: object
- i_free_shipping_discount_view:
- properties:
- is_free_shipping:
- type: boolean
- maximum_cost_allowed:
- format: int64
- type: number
- type: object
- i_cart_discount_view:
- properties:
- amount:
- $ref: '#/components/schemas/amount_view'
- code:
- description: Discount code used.
- example: SUMMER10
- type: string
- description:
- description: Used to define the discount offering.
- example: 10% off our summer collection
- maxLength: 1024
- type: string
- details_url:
- description: Used to provide a link to additional details, such as a landing page, associated with the discount offering.
- example: https://boltswagstore.com/SUMMERSALE
- type: string
- discount_category:
- enum:
- - coupon
- - giftcard
- - managed_giftcard
- - store_credit
- - automatic_promotion
- - membership_discount
- - membership_giftcard
- - subscription_discount
- - rewards_discount
- - unknown
- type: string
- free_shipping:
- $ref: '#/components/schemas/i_free_shipping_discount_view'
- reference:
- description: Used to define the reference ID associated with the discount available.
- example: DISC-1234
- type: string
- type: object
- i_cart_fee_view:
- properties:
- reference:
- description: Unique reference used to identify the fee.
- example: ItemFee
- maxLength: 1024
- nullable: false
- type: string
- name:
- description: Name of the fee that will appear in the order ledger.
- example: Item Fee
- maxLength: 1024
- nullable: true
- type: string
- description:
- description: Description of the fee that will appear in the tooltip if the mouse hovers over the fee.
- example: Item Fee
- maxLength: 1024
- nullable: true
- type: string
- unit_price:
- $ref: '#/components/schemas/amount_view'
- unit_tax_amount:
- $ref: '#/components/schemas/amount_view'
- quantity:
- format: int64
- nullable: false
- type: number
- type: object
- gift_option_view:
- description: Defines which gift options are hidden.
- properties:
- hide_gift_message:
- example: false
- type: boolean
- hide_gift_wrap:
- example: false
- type: boolean
- type: object
- cart_item_property_view:
- properties:
- color:
- type: string
- display:
- type: boolean
- name:
- type: string
- value:
- type: string
- type: object
- subscription:
- description: Describes a product added as a recurring subscription.
- properties:
- frequency:
- description: Describes how often the subscription recurs.
- properties:
- unit:
- description: The unit for this subscription's frequency.
- enum:
- - day
- - week
- - month
- - year
- example: month
- type: string
- value:
- description: The value applied to the unit frequency.
- example: 2
- type: integer
- type: object
- type: object
- i_weight:
- properties:
- unit:
- type: string
- weight:
- format: int64
- type: number
- type: object
- i_cart_item_view:
- properties:
- bolt_product_id:
- type: string
- brand:
- type: string
- category:
- description: Used to define a product category associated with the item.
- example: bags
- maxLength: 1024
- nullable: true
- type: string
- collections:
- $ref: '#/components/schemas/collections'
- color:
- description: Used to define the color of the item.
- example: Bolt Blue
- type: string
- customizations:
- items:
- $ref: '#/components/schemas/cart_item_customization'
- type: array
- description:
- type: string
- details_url:
- description: Used to provide a link to the item's product page.
- example: https://boltswagstore.com/products/123456
- type: string
- gift_option:
- $ref: '#/components/schemas/gift_option_view'
- hide:
- type: boolean
- image_url:
- description: Used to provide a link to the image associated with the item.
- example: https://boltswagstore.com/products/123456/images/1.png
- type: string
- isbn:
- description: Used to define the International Standard Book Number associated with the book.
- example: 9780091347314
- maxLength: 1024
- nullable: true
- type: string
- item_group:
- type: string
- manufacturer:
- description: Used to define the organization that manufactured the item.
- example: Bolt Textiles USA
- maxLength: 1024
- nullable: true
- type: string
- merchant_product_id:
- type: string
- merchant_variant_id:
- type: string
- msrp:
- $ref: '#/components/schemas/amount_view'
- name:
- type: string
- options:
- type: string
- properties:
- items:
- $ref: '#/components/schemas/cart_item_property_view'
- type: array
- quantity:
- example: 1
- format: int64
- type: number
- reference:
- type: string
- shipment_id:
- type: string
- shipment_type:
- enum:
- - unknown
- - door_delivery
- - ship_to_store
- - in_store_pickup
- - ship_to_home_only
- type: string
- shopify_line_item_reference:
- format: int64
- type: number
- shopify_product_reference:
- format: int64
- type: number
- shopify_product_variant_reference:
- format: int64
- type: number
- size:
- description: Used to define the size of the item.
- example: Large
- type: string
- sku:
- description: Used to define an alpha-numeric Stock Keeping Unit associated with the item as it is mapped to your internal product catalogue.
- example: BOLT-SKU_100
- maxLength: 1024
- nullable: true
- type: string
- subscription:
- $ref: '#/components/schemas/subscription'
- tags:
- description: Used to define a comma-separated list of tags associated with the item.
- example: tote, blue, linen, eco-friendly
- type: string
- tax_amount:
- $ref: '#/components/schemas/amount_view'
- taxable:
- type: boolean
- total_amount:
- $ref: '#/components/schemas/amount_view'
- type:
- enum:
- - unknown
- - digital
- - physical
- - bundled
- type: string
- unit_price:
- $ref: '#/components/schemas/amount_view'
- uom:
- description: Used to define the unit of measure used to describe the product.
- example: inches
- maxLength: 1024
- nullable: true
- type: string
- upc:
- description: Used to define the 12-digit Universal Product Code (a barcode) associated with the item worldwide.
- example: '0825764603119'
- maxLength: 1024
- nullable: true
- type: string
- weight:
- $ref: '#/components/schemas/i_weight'
- type: object
- i_description_part:
- properties:
- content:
- type: string
- is_html:
- type: boolean
- type: object
- i_description_tooltip:
- properties:
- html_content:
- type: string
- target:
- format: int64
- type: number
- type: object
- i_cart_shipment_view:
- properties:
- carrier:
- description: The carrier used to deliver the shipment.
- example: USPS
- maxLength: 1024
- type: string
- cost:
- $ref: '#/components/schemas/amount_view'
- default:
- type: boolean
- description:
- items:
- $ref: '#/components/schemas/i_description_part'
- type: array
- description_tooltips:
- items:
- $ref: '#/components/schemas/i_description_tooltip'
- type: array
- estimated_delivery_date:
- example: '2022-04-10 16:12:38.386000+00:00'
- format: date-time
- type: string
- expedited:
- description: Used to determine whether a shipment has been expedited or not.
- type: boolean
- gift_options:
- $ref: '#/components/schemas/gift_option_view'
- id:
- type: string
- package_dimension:
- properties:
- depth:
- format: int64
- type: number
- height:
- format: int64
- type: number
- unit:
- type: string
- width:
- format: int64
- type: number
- type: object
- package_type:
- type: string
- package_weight:
- $ref: '#/components/schemas/i_weight'
- reference:
- type: string
- service:
- type: string
- shipping_address:
- $ref: '#/components/schemas/address_view'
- shipping_method:
- type: string
- signature:
- type: string
- tax_amount:
- $ref: '#/components/schemas/amount_view'
- total_weight:
- $ref: '#/components/schemas/i_weight'
- type:
- type: string
- type: object
- i_cart_view:
- description: This is the cart object returned in a successful response.
- properties:
- billing_address:
- $ref: '#/components/schemas/address_view'
- cart_url:
- description: Used to provide a link to the cart ID.
- example: https://boltswagstore.com/orders/123456765432
- maxLength: 8192
- type: string
- currency:
- $ref: '#/components/schemas/i_currency'
- discount_amount:
- $ref: '#/components/schemas/amount_view'
- discounts:
- items:
- $ref: '#/components/schemas/i_cart_discount_view'
- type: array
- display_id:
- example: displayid_100
- type: string
- fee_amount:
- $ref: '#/components/schemas/amount_view'
- fees:
- items:
- $ref: '#/components/schemas/i_cart_fee_view'
- type: array
- items:
- items:
- $ref: '#/components/schemas/i_cart_item_view'
- type: array
- merchant_order_url:
- type: string
- order_description:
- description: Used optionally to pass additional information like order numbers or other IDs as needed.
- example: 'Order #1234567890'
- maxLength: 1024
- type: string
- order_reference:
- description: This value is used by Bolt as an external reference to a given order. This reference must be unique per successful transaction.
- example: order_100
- type: string
- shipments:
- items:
- $ref: '#/components/schemas/i_cart_shipment_view'
- type: array
- shipping_amount:
- $ref: '#/components/schemas/amount_view'
- subtotal_amount:
- $ref: '#/components/schemas/amount_view'
- tax_amount:
- $ref: '#/components/schemas/amount_view'
- total_amount:
- $ref: '#/components/schemas/amount_view'
- transaction_reference:
- description: The 12 digit reference ID associated to a given transaction webhook for an order.
- example: 6CEA-ZME1-DACE
- maxLength: 12
- minLength: 12
- type: string
- type: object
- i_custom_field_view:
- properties:
- checkout_step:
- enum:
- - SHIPPING_STEP
- - DELIVERY_STEP
- - PAYMENT_STEP
- - ACCOUNT_REGISTRATION_SSO
- type: string
- dynamic:
- type: boolean
- context:
- enum:
- - CHECKOUT
- - SSO
- type: string
- external_id:
- type: string
- field_setup:
- type: string
- helper_text:
- type: string
- label:
- type: string
- position:
- format: int64
- type: number
- public_id:
- type: string
- required:
- type: boolean
- subscribeToNewsletter:
- type: boolean
- type: object
- payment_service:
- enum:
- - affirm
- - afterpay
- - amazon_pay
- - credova
- - klarna
- - paypal
- - sezzle
- - radial_klarna
- - radial_paypal
- - adyen_gateway
- - alliance_data
- - authorize_net
- - braintree
- - cardconnect
- - checkout_com
- - cybersource
- - first_data
- - nmi
- - orbital
- - paypal_payflow
- - radial
- - rocketgate
- - shopify_payments
- - stripe
- - magentopayment
- - adyen_payfac
- - vantiv
- - google_pay
- - bolt
- type: string
- eligible_payment_method:
- properties:
- eligible:
- type: boolean
- transaction_processor_type:
- $ref: '#/components/schemas/payment_service'
- type: object
- i_gift_option_view:
- properties:
- hide_gift_message:
- type: boolean
- hide_gift_wrap:
- type: boolean
- type: object
- i_order_dynamic_content:
- properties:
- custom_fields:
- items:
- $ref: '#/components/schemas/i_custom_field_view'
- type: array
- eligible_payment_methods:
- items:
- $ref: '#/components/schemas/eligible_payment_method'
- type: array
- gift_option_view:
- $ref: '#/components/schemas/i_gift_option_view'
- hide_apm:
- items:
- enum:
- - PAYPAL
- - AFFIRM
- - AFTERPAY
- - AMAZONPAY
- - KLARNA
- - RADIALPAYPAL
- - SEZZLE
- - RADIALKLARNA
- - CREDOVA
- - GOOGLEPAY
- type: string
- type: array
- order_notice:
- type: string
- payment_notice:
- type: string
- shipping_info_notice:
- type: string
- shipping_notice:
- type: string
- type: object
- i_order_external_data:
- properties:
- steam_id:
- type: string
- type: object
- i_order_view:
- properties:
- cart:
- $ref: '#/components/schemas/i_cart_view'
- dynamic_content:
- $ref: '#/components/schemas/i_order_dynamic_content'
- external_data:
- $ref: '#/components/schemas/i_order_external_data'
- token:
- type: string
- user_note:
- description: Used by shoppers to make extra requests or provide details for gift messages.
- type: string
- type: object
- statements_date:
- description: This is the date of the statement, in milliseconds since the Unix epoch time.
- example: 1586480400000
- type: integer
- statements_file_type:
- description: This is the type of the file. Currently, Bolt only supports CSV statements.
- enum:
- - csv
- example: csv
- type: string
- statements_type:
- description: |
- The time period and statement type:
- * [Funding details statement](https://help.bolt.com/operations/financials/export-funding-detail-statements/) with transactional events: Use `daily_transaction` or `monthly_transaction`
- * [Bank transfer statement](https://help.bolt.com/operations/financials/export-bank-transfer-statements/) with settlement and funding events: Use `daily_funding`
- * [Dispute statement](https://help.bolt.com/operations/disputes/dispute-statements/#how-to-read-dispute-statements): Use `monthly_dispute`
- enum:
- - daily_transaction
- - monthly_transaction
- - daily_funding
- - monthly_dispute
- example: daily_transaction
- type: string
- statements_url:
- description: |
- This is the pre-signed URL of the requested statement. The URL has an expiration period of 5 minutes.
- Sharing the URL implies sharing the statement and its contents, please be careful.
- example: https://bolt-statements-production.s3.us-west-2.amazonaws.com/00_daily_transaction_20200410.csv
- type: string
- shipping_carrier:
- description: the name of the carrier used for shipment.
- example: UPS
- type: string
- order_non_bolt:
- description: Designates if the order was placed outside of Bolt checkout.
- example: false
- type: boolean
- bolt_product_id:
- description: Unique ID generated for a product via the products endpoint.
- example: e2bb0e7e-5625-536f-8ad7-25a26537ee28
- type: string
- brand:
- description: The name of a brand.
- example: Bolt Swagstore
- type: string
- category:
- description: A category.
- example: hats
- type: string
- color:
- description: The color.
- example: Red
- type: string
- metadata_component:
- properties:
- key1:
- example: value1
- type: string
- key2:
- example: value2
- type: string
- type: object
- customizations_name:
- description: The name of the customization.
- example: Bedazzled
- type: string
- amount:
- description: The amount in cents. **Nullable** for Transactions Details.
- example: 754
- type: integer
- currency_iso:
- description: The 3-digit ISO code for the currency. **Nullable** for Transactions Details.
- example: USD
- type: string
- currency_symbol:
- description: The currency symbol used for the amount. **Nullable** for Transactions Details.
- example: $
- type: string
- amounts:
- description: The amount. **Nullable** for Transactions Details.
- properties:
- amount:
- $ref: '#/components/schemas/amount'
- currency:
- $ref: '#/components/schemas/currency_iso'
- currency_symbol:
- $ref: '#/components/schemas/currency_symbol'
- required:
- - amount
- - currency
- - currency_symbol
- type: object
- item_description:
- description: A description for the item added to the cart/order.
- example: ' Large blue satin hat with initials embroidered.'
- type: string
- image_url:
- description: The URL for the item's image.
- example: https://boltswagstore.com/inventory/hats/red-hat.png
- type: string
- isbn:
- description: A 13-digit identifier for a book item.
- example: 12-345-678-90123
- type: string
- item_group:
- description: Enables grouping in the checkout UI.
- example: Ships Immediately
- type: string
- manufacturer:
- description: The name of a manufacturer.
- example: Bolt Factory
- type: string
- name_item:
- description: The name of an item.
- example: Blue Hat
- type: string
- options:
- example: string option
- type: string
- item_property:
- properties:
- name:
- example: a-name
- type: string
- value:
- example: a-value
- type: string
- type: object
- item_properties:
- items:
- $ref: '#/components/schemas/item_property'
- type: array
- quantity:
- description: The quantity of this item.
- example: 3
- type: integer
- reference:
- description: Reference for the object.
- example: '1123'
- type: string
- item_shipment_type:
- description: The shipment type selected by the shopper.
- enum:
- - unknown
- - door delivery
- - in_store_pickup
- - ship_to_store
- type: string
- size:
- description: The size.
- example: XXL
- type: string
- sku:
- description: The SKU identifier for this item or service.
- example: SKU-11021
- type: string
- tag:
- description: A tag
- example: red
- type: string
- taxable:
- description: Determines if item is taxable.
- example: true
- type: boolean
- type:
- description: Determines if item is a physical, digital, or bundled good, or if the good type is unknown.
- enum:
- - bundled
- - digital
- - physical
- - unknown
- example: physical
- type: string
- weight:
- description: The weight of an item.
- example: 22
- type: integer
- total_weight:
- properties:
- unit:
- $ref: '#/components/schemas/weight_unit'
- weight:
- $ref: '#/components/schemas/weight'
- type: object
- item:
- description: An item with properties.
- properties:
- bolt_product_id:
- $ref: '#/components/schemas/bolt_product_id'
- brand:
- $ref: '#/components/schemas/brand'
- category:
- $ref: '#/components/schemas/category'
- collections:
- $ref: '#/components/schemas/collections'
- color:
- $ref: '#/components/schemas/color'
- customizations:
- items:
- properties:
- attributes:
- $ref: '#/components/schemas/metadata_component'
- name:
- $ref: '#/components/schemas/customizations_name'
- price:
- $ref: '#/components/schemas/amounts'
- required:
- - name
- - price
- - attributes
- type: object
- type: array
- description:
- $ref: '#/components/schemas/item_description'
- details_url:
- description: The URL for the item's details.
- example: https://boltswagstore.com/inventory/hats/red-hat.png
- type: string
- image_url:
- $ref: '#/components/schemas/image_url'
- isbn:
- $ref: '#/components/schemas/isbn'
- item_group:
- $ref: '#/components/schemas/item_group'
- manufacturer:
- $ref: '#/components/schemas/manufacturer'
- name:
- $ref: '#/components/schemas/name_item'
- options:
- $ref: '#/components/schemas/options'
- properties:
- $ref: '#/components/schemas/item_properties'
- quantity:
- $ref: '#/components/schemas/quantity'
- reference:
- $ref: '#/components/schemas/reference'
- shipment_type:
- $ref: '#/components/schemas/item_shipment_type'
- size:
- $ref: '#/components/schemas/size'
- sku:
- $ref: '#/components/schemas/sku'
- tags:
- $ref: '#/components/schemas/tag'
- tax_amount:
- $ref: '#/components/schemas/amounts'
- taxable:
- $ref: '#/components/schemas/taxable'
- total_amount:
- $ref: '#/components/schemas/amounts'
- type:
- $ref: '#/components/schemas/type'
- unit_price:
- $ref: '#/components/schemas/amounts'
- uom:
- example: string
- type: string
- upc:
- example: string
- type: string
- weight:
- $ref: '#/components/schemas/total_weight'
- required:
- - reference
- - name
- - total_amount
- - unit_price
- - quantity
- type: object
- items:
- description: A list of items.
- items:
- $ref: '#/components/schemas/item'
- type: array
- order_tracking_number:
- description: The carrier's tracking number for the shipment.
- example: EZ1000000001
- type: string
- transaction_reference:
- description: The transaction's 12-digit Bolt reference ID. **Nullable** for Transactions Details.
- example: LBLJ-TWW7-R9VC
- maxLength: 12
- minLength: 12
- type: string
- credit_card:
- description: The credit_card object is used to to pay for guest-checkout transactions or save payment method details to an account. Once saved, you can reference the credit card with the associated `credit_card_id` for future transactions. Add `billing_address` to this if storing a billing address for a returning shopper.
- properties:
- billing_address:
- $ref: '#/components/schemas/address'
- bin:
- description: The Bank Identification Number for the credit card; this is typically the first 4-6 digits of the credit card number.
- maxLength: 6
- minLength: 4
- type: string
- example: '411111'
- expiration:
- description: The expiration date of the credit card.
- example: 2025-11
- type: string
- last4:
- description: The last 4 digits of the credit card number.
- example: '1234'
- maxLength: 4
- minLength: 4
- type: string
- postal_code:
- description: Used for the postal or zip code associated with the credit card.
- example: '10044'
- maxLength: 32
- type: string
- priority:
- description: Used to indicate the card's priority. '1' indicates primary, while '2' indicates a secondary card.
- enum:
- - 1
- - 2
- type: integer
- save:
- description: Determines whether or not the credit card will be saved to the shopper's account. Defaults to `true`.
- type: boolean
- token:
- description: The Bolt token associated to the credit card.
- example: a1B2c3D4e5F6G7H8i9J0k1L2m3N4o5P6Q7r8S9t0
- type: string
- token_type:
- description: Used to define which payment processor generated the token for this credit card; for those using Bolt's tokenizer, the value must be `bolt`.
- enum:
- - bolt
- example: bolt
- type: string
- required:
- - token
- - last4
- - bin
- - expiration
- - postal_code
- - token_type
- type: object
- transaction_merchant_event_id:
- description: The reference ID associated with a transaction event (auth, capture, refund, void). This is an arbitrary identifier created by the merchant. Bolt does not enforce any uniqueness constraints on this ID. It is up to the merchant to generate identifiers that properly fulfill its needs.
- example: dbe0cd5d-3261-41d9-ba61-49e5b9d07567
- type: string
- previous_subscription_id:
- description: The unique ID associated with to the shopper's previous subscription-based transaction. Leave `null` for standard, non-subscription transactions.
- example: null
- nullable: true
- type: string
- user_identifier:
- description: The object containing key lookup IDs associated with the shopper's account, such as the unique email address and phone number.
- properties:
- artifact:
- example: null
- type: string
- email:
- description: The Shopper's email address that is used as a unique ID for the account. This email can be used to detect an account using the `/v1/account/exists` endpoint.
- $ref: '#/components/schemas/email'
- email_id:
- description: The ID associated with the identifying email address for this account.
- example: null
- type: string
- phone:
- description: The Shopper's phone number that is used to help identify the account owner. This can be passed with the `user_identifier.email` to find and match accounts.
- $ref: '#/components/schemas/phone'
- phone_id:
- description: The ID associated with the identifying phone number for this account.
- example: null
- type: string
- required:
- - phone
- type: object
- first_name:
- description: The person's first name.
- example: Charlotte
- type: string
- last_name:
- description: The person's last name.
- example: Charles
- type: string
- user_identity:
- properties:
- first_name:
- $ref: '#/components/schemas/first_name'
- last_name:
- $ref: '#/components/schemas/last_name'
- type: object
- merchant_credit_card_authorization:
- description: This request is used for authorizing a new, unsaved card.
- properties:
- auto_capture:
- type: boolean
- description: This property determines how the transaction is processed after authorization. If set to `true`, the transaction is placed in a queue for automatic capture. This process is asynchronous, meaning the transaction may not immediately appear as captured after the authorization request. This is because the transaction is in a transitional state as it moves from authorization to capture. If `auto_capture` is set to `false`, the transaction is only authorized and must be manually captured.
- cart:
- allOf:
- - $ref: '#/components/schemas/cart_create'
- - description: The cart_create object is a composite of the base_cart object and additional order details.
- create_bolt_account:
- description: If `true`, the guest shopper is provided a Bolt Account using their email address as its unique ID; if `false`, no information is saved at checkout.
- type: boolean
- credit_card:
- $ref: '#/components/schemas/credit_card'
- division_id:
- description: The unique ID associated to the merchant's Bolt Account division; Merchants can have different divisions to suit multiple use cases (storefronts, pay-by-link, phone order processing). Use the Bolt Merchant Dashboard to switch between divisions and find the division ID under `Merchant Division Public ID`.
- example: 3X9aPQ67-YrB
- type: string
- merchant_event_id:
- $ref: '#/components/schemas/transaction_merchant_event_id'
- previous_transaction_id:
- $ref: '#/components/schemas/previous_subscription_id'
- processing_initiator:
- description: |
- Determines who initiated the transaction (e.g. shopper, merchant) and how they did it (e.g. recurring subscription, on-file card).
-
- * `initial_card_on_file` - The first transaction made for a card. The system then saves this card for future transactions.
- * `initial_recurring` - The first time any card is used to pay for a recurring charge. For example, a subscription.
- * `stored_cardholder_initiated` - The subsequent (second, third, etc.) transactions a shopper initiates with a stored card. This includes every situation during which a cardholder requests a charge, for example if the cardholder requests a merchant charge their card.
- * `stored_merchant_initiated` - The subsequent (second, third, etc.) transactions a merchant initiates with a stored card only when the cardholder does not request the charge. For example, when a customer service representative buys on behalf of a shopper or when a business adds funds to a public transit card.
- * `following_recurring` - The subsequent (second, third, etc.) transactions a card is used to pay for a recurring charge. For example, a subscription.
- * `cardholder_initiated` - When a cardholder begins a transaction that isn’t stored in Bolt and won’t be stored in Bolt for future transactions.
- * `recurring` - Any time a card is used to pay for a recurring charge (for example, a subscription). Only use this value when you don’t know if it’s the first recurring charge.
- enum:
- - initial_card_on_file
- - initial_recurring
- - stored_cardholder_initiated
- - stored_merchant_initiated
- - following_recurring
- - cardholder_initiated
- - recurring
- type: string
- shipping_address:
- $ref: '#/components/schemas/address'
- source:
- enum:
- - direct_payments
- type: string
- user_identifier:
- $ref: '#/components/schemas/user_identifier'
- user_identity:
- $ref: '#/components/schemas/user_identity'
- required:
- - cart
- - credit_card
- - division_id
- - source
- - user_identifier
- - user_identity
- - create_bolt_account
- type: object
- processing_initiator:
- description: Defines which payment method was used to initiate the transaction.
- enum:
- - initial_card_on_file
- - initial_recurring
- - stored_cardholder_initiated
- - stored_merchant_initiated
- - following_recurring
- - cardholder_initiated
- - recurring
- example: stored_cardholder_initiated
- type: string
- merchant_credit_card_authorization_recharge:
- description: This request is used for authorizing an existing, saved card associated with the account.
- properties:
- auto_capture:
- type: boolean
- description: This property determines how the transaction is processed after authorization. If set to `true`, the transaction is placed in a queue for automatic capture. This process is asynchronous, meaning the transaction may not immediately appear as captured after the authorization request. This is because the transaction is in a transitional state as it moves from authorization to capture. If `auto_capture` is set to `false`, the transaction is only authorized and must be manually captured.
- cart:
- allOf:
- - $ref: '#/components/schemas/cart_create'
- - description: The cart_create object is a composite of the base_cart object and additional order details.
- credit_card_id:
- description: The unique ID associated to the saved credit card in the account's wallet.
- example: SAeEcU1hpMobc
- type: string
- division_id:
- description: The unique ID associated to the merchant's Bolt Account division; Merchants can have different divisions to suit multiple use cases (storefronts, pay-by-link, phone order processing). Use the Bolt Merchant Dashboard to switch between divisions and find the division ID under `Merchant Division Public ID`.
- example: 3X9aPQ67-YrB
- type: string
- merchant_event_id:
- $ref: '#/components/schemas/transaction_merchant_event_id'
- previous_transaction_id:
- $ref: '#/components/schemas/previous_subscription_id'
- processing_initiator:
- $ref: '#/components/schemas/processing_initiator'
- shipping_address:
- $ref: '#/components/schemas/address'
- source:
- enum:
- - direct_payments
- type: string
- user_identifier:
- $ref: '#/components/schemas/user_identifier'
- user_identity:
- $ref: '#/components/schemas/user_identity'
- required:
- - cart
- - credit_card_id
- - division_id
- - source
- - user_identifier
- - user_identity
- type: object
- credit_card_authorization_reason:
- description: |
- The reason code explaining the authorization status.
- * `1` - none
- * `2` - invalid_amount
- * `3` - invalid_cvv
- * `4` - invalid_cc_number
- * `5` - expired
- * `6` - risk
- * `7` - lost_stolen
- * `8` - call_issuer
- * `9` - invalid_merchant_for_card
- * `10` - unsupported_payment_method
- enum:
- - none
- - invalid_amount
- - invalid_cvv
- - invalid_cc_number
- - expired
- - risk
- - lost_stolen
- - call_issuer
- - invalid_merchant_for_card
- - unsupported_payment_method
- - processor_server_error
- type: string
- credit_card_authorization_status:
- description: |
- The status of the authorization request.
- * `1` - succeeded
- * `2` - declined
- * `3` - error
- enum:
- - succeeded
- - declined
- - error
- example: succeeded
- type: string
- credit_card_authorization_view:
- properties:
- auth:
- type: string
- avs_response:
- enum:
- - '00'
- - '01'
- - '02'
- - '10'
- - '11'
- - '12'
- - '13'
- - '14'
- - '20'
- - '30'
- - '31'
- - '32'
- - '33'
- - '34'
- - '40'
- - adyen_
- - adyen_A
- - adyen_N
- - adyen_U
- - adyen_S
- - adyen_R
- - adyen_W
- - adyen_T
- - adyen_Z
- - adyen_D
- - adyen_F
- - adyen_M
- - adyen_X
- - adyen_Y
- - adyen_B
- - adyen_P
- - adyen_C
- - adyen_G
- - adyen_I
- - adyen_K
- type: string
- cvv_response:
- enum:
- - M
- - 'N'
- - P
- - S
- - U
- - D
- - X
- - 'Y'
- - '1'
- - '2'
- - '3'
- - pass
- - fail
- - unavailable
- - unchecked
- - braintree_M
- - braintree_N
- - braintree_U
- - braintree_B
- - braintree_A
- - braintree_I
- - braintree_S
- - CVV2
- type: string
- merchant_event_id:
- $ref: '#/components/schemas/transaction_merchant_event_id'
- metadata:
- additionalProperties:
- type: string
- type: object
- processor:
- enum:
- - vantiv
- - adyen_payfac
- - adyen_gateway
- - stripe
- - braintree
- - cybersource
- - nmi
- - authorize_net
- - radial
- - shopify_payments
- - rocketgate
- type: string
- reason:
- $ref: '#/components/schemas/credit_card_authorization_reason'
- status:
- $ref: '#/components/schemas/credit_card_authorization_status'
- type: object
- capture_id:
- description: The unique ID for the capture. **Nullable** for Transactions Details.
- example: BcDE4fafd2a4
- type: string
- capture_status:
- description: The status of the capture. **Nullable** for Transactions Details.
- enum:
- - succeeded
- - declined
- - error
- example: succeeded
- type: string
- capture_view:
- description: Deprecated. Use `captures`.
- properties:
- amount:
- $ref: '#/components/schemas/amount_view'
- id:
- $ref: '#/components/schemas/capture_id'
- merchant_event_id:
- $ref: '#/components/schemas/transaction_merchant_event_id'
- metadata:
- description: Additional information about the capture. For example, the processor capture ID. **Nullable** for Transactions Details.
- additionalProperties:
- type: string
- type: object
- splits:
- description: A split of fees by type and amount. **Nullable** for Transactions Details.
- items:
- description: A split of fees by type and amount.
- properties:
- amount:
- $ref: '#/components/schemas/amount_view'
- type:
- description: |
- Fee type options. **Nullable** for Transactions Details.
- enum:
- - net
- - processing_fee
- - risk_fee
- - apm_fee
- - network_fee
- - platform_fee
- - bolt_account_fee
- example: processing_fee
- type: string
- type: object
- type: array
- status:
- $ref: '#/components/schemas/capture_status'
- type: object
- transaction_splits_view:
- properties:
- amount:
- $ref: '#/components/schemas/amount_view'
- type:
- enum:
- - net
- - processing_fee
- - float
- - reserve
- - adjustment
- - bolt_fee
- type: string
- type: object
- credit_card_capture_view:
- properties:
- amount:
- $ref: '#/components/schemas/amount_view'
- id:
- $ref: '#/components/schemas/capture_id'
- merchant_event_id:
- $ref: '#/components/schemas/transaction_merchant_event_id'
- metadata:
- additionalProperties:
- example:
- key1: value1
- key2: value2
- type: string
- type: object
- splits:
- $ref: '#/components/schemas/transaction_splits_view'
- status:
- $ref: '#/components/schemas/capture_status'
- type: object
- credit_card_credit_status:
- properties:
- status:
- description: The status of the refund to a card.
- enum:
- - succeeded
- - declined
- - error
- - pending
- - in progress
- example: succeeded
- type: string
- type: object
- credit_card_credit_view:
- allOf:
- - $ref: '#/components/schemas/credit_card_credit_status'
- - properties:
- merchant_event_id:
- $ref: '#/components/schemas/transaction_merchant_event_id'
- transaction_date:
- description: Transaction date. **Nullable** for Transactions Details.
- example: 1615407159447
- type: integer
- consumer_summary_view:
- properties:
- first_name:
- description: The given name of the person associated with this record.
- example: Alan
- type: string
- id:
- type: string
- last_name:
- description: The surname of the person associated with this record.
- example: Watts
- type: string
- type: object
- login_view:
- properties:
- actions:
- items:
- enum:
- - set_password
- - rotate_password
- type: string
- type: array
- methods:
- items:
- enum:
- - code
- - code_password
- - password
- - rotate_password
- type: string
- type: array
- sso_authorization_url:
- type: string
- type: object
- priority:
- description: |
- Describes the card's priority.
- enum:
- - primary
- - listed
- example: primary
- type: string
- email_view:
- properties:
- address:
- type: string
- id:
- type: string
- priority:
- $ref: '#/components/schemas/priority'
- status:
- type: string
- type: object
- phone_view:
- properties:
- country_code:
- description: Used for the 2-digit ISO 3166-1 alpha 2 country code associated with this address.
- example: US
- type: string
- id:
- type: string
- number:
- type: string
- priority:
- enum:
- - primary
- - listed
- type: string
- status:
- type: string
- type: object
- consumer_self_view:
- allOf:
- - $ref: '#/components/schemas/consumer_summary_view'
- - properties:
- authentication:
- $ref: '#/components/schemas/login_view'
- email_verified:
- type: boolean
- emails:
- items:
- $ref: '#/components/schemas/email_view'
- type: array
- first_name:
- type: string
- id:
- type: string
- last_name:
- type: string
- phones:
- items:
- $ref: '#/components/schemas/phone_view'
- type: array
- platform_account_status:
- enum:
- - none
- - linked
- - unlinked
- type: string
- type: object
- card_bin:
- description: The Bank Identification Number for the credit card; this is typically the first 4-6 digits of the credit card number. **Nullable** for Transactions Details.
- example: '402201'
- maxLength: 6
- minLength: 4
- type: string
- card_display_network:
- description: The card's network. **Nullable** for Transactions Details.
- enum:
- - Credit Card
- - American Express
- - Diners Club
- - Discover
- - JCB
- - MasterCard
- - Union Pay
- - Visa
- example: Visa
- type: string
- card_expiration:
- description: The card's expiration. **Nullable** for Transactions Details.
- example: 1654041600000
- type: integer
- icon_asset_path:
- description: The asset link for displayed icons. This link varies depending on payment method used. **Nullable** for Transactions Details.
- example: img/issuer-logos/visa.png
- type: string
- card_id:
- description: The card's ID. **Nullable** for Transactions Details.
- example: AB3rJKam5DhYE
- type: string
- card_status:
- description: The card's status. **Nullable** for Transactions Details.
- enum:
- - active
- - created
- - inactive
- - transient
- example: active
- type: string
- card_token:
- description: The Bolt token associated to the credit card. Required for new, unsaved cards.
- example: a1B2c3D4e5F6G7H8i9J0k1L2m3N4o5P6Q7r8S9t0
- type: string
- card_token_type:
- description: |
- Used to define which payment processor generated the token for this credit card.
- enum:
- - vantiv
- - applepay
- - bolt
- - stripe
- - plcc
- - applepay_encrypted_blob
- example: bolt
- type: string
- credit_card_view:
- description: Contains details about the credit card transaction.
- properties:
- billing_address:
- $ref: '#/components/schemas/address_view'
- bin:
- $ref: '#/components/schemas/card_bin'
- display_network:
- $ref: '#/components/schemas/card_display_network'
- expiration:
- $ref: '#/components/schemas/card_expiration'
- icon_asset_path:
- $ref: '#/components/schemas/icon_asset_path'
- id:
- $ref: '#/components/schemas/card_id'
- last4:
- $ref: '#/components/schemas/card_last4'
- network:
- $ref: '#/components/schemas/card_network'
- priority:
- $ref: '#/components/schemas/priority'
- status:
- $ref: '#/components/schemas/card_status'
- token:
- $ref: '#/components/schemas/card_token'
- token_type:
- $ref: '#/components/schemas/card_token_type'
- type: object
- transaction_id:
- description: The unique ID associated with the transaction. **Nullable** for Transactions Details.
- example: T1c3p4yBuVYJ9
- type: string
- transaction_indemnification_decision:
- description: |
- Describes whether the transaction is indemnified by Bolt for fraud.
- enum:
- - unknown
- - indemnified
- - not_indemnified
- example: indemnified
- type: string
- transaction_indemnification_reason:
- description: |
- Describes the reason that the transaction is or is not indemnified by Bolt for fraud.
- enum:
- - unknown
- - checkout
- - virtual_terminal
- - merchant_back_office
- - merchant_force_approved
- - reversibly_rejected
- - irreversibly_rejected
- - risk_engine_approved
- - analyst_approved
- - auth_verification
- - paypal
- - afterpay
- - direct_payments
- - whitelist
- - external_review
- - affirm
- - merchant_ip_address
- - amazon_pay
- - apple_pay
- - phone_order
- - klarna
- - cardholder_authentication
- - address_change_rejected
- - indemnify_direct_payments
- - indemnify_virtual_terminal
- - membership_subscription
- - embedded_guest_checkout
- - risk_assessment_only
- - sezzle
- - credova
- - subscription
- - indemnify_apm_transaction
- example: merchant_force_approved
- type: string
- merchant_division_logo_view:
- properties:
- domain:
- type: string
- resource:
- type: string
- type: object
- merchant_division_summary_view:
- properties:
- account_page_url:
- type: string
- api_base_domain_url:
- type: string
- base_domain_url:
- type: string
- confirmation_redirect_url:
- type: string
- create_order_url:
- type: string
- debug_url:
- type: string
- description:
- type: string
- display_name:
- type: string
- get_account_url:
- type: string
- shopper_custom_fields_updated_url:
- type: string
- hook_type:
- enum:
- - '1'
- - '2'
- - '3'
- - '4'
- - '5'
- - '6'
- type: string
- hook_url:
- type: string
- id:
- type: string
- is_universal_merchant_api:
- type: boolean
- is_webhooks_v2:
- type: boolean
- logo:
- $ref: '#/components/schemas/merchant_division_logo_view'
- logo_dashboard:
- $ref: '#/components/schemas/merchant_division_logo_view'
- merchant_id:
- type: string
- mobile_app_domain_url:
- type: string
- oauth_logout_url:
- type: string
- oauth_redirect_url:
- type: string
- platform:
- type: string
- plugin_config_url:
- type: string
- privacy_policy_url:
- type: string
- product_info_url:
- type: string
- public_id:
- type: string
- remote_apiurl:
- type: string
- shipping_and_tax_url:
- type: string
- shipping_url:
- type: string
- status:
- type: string
- tax_url:
- type: string
- terms_of_service_url:
- type: string
- universal_merchant_api_url:
- type: string
- update_cart_url:
- type: string
- use_async_refunds_amazon_pay:
- type: boolean
- use_async_refunds_paypal:
- type: boolean
- validate_additional_account_data_url:
- type: string
- merchant_password_login_url:
- description: (Optional) Link shoppers can use to log into a merchant store via the Bolt SSO modal.
- example: https://www.example.com/login
- type: string
- type: object
- order_decision_details_view:
- properties:
- decision_factors:
- items:
- type: string
- type: array
- score:
- format: int64
- type: number
- type: object
- transaction_processor:
- description: The processor used. **Nullable** for Transactions Details.
- enum:
- - adyen_gateway
- - adyen_payfac
- - affirm
- - afterpay
- - alliance_data
- - amazon_pay
- - authorize_net
- - braintree
- - checkout_com
- - cybersource
- - first_data
- - klarna
- - nmi
- - orbital
- - paypal
- - radial
- - radial_klarna
- - radial_paypal
- - rocketgate
- - sezzle
- - shopify_payments
- - stripe
- - vantiv
- example: adyen_gateway
- type: string
- review_ticket_view:
- properties:
- id:
- type: string
- request_deadline:
- format: int64
- type: number
- status:
- type: string
- type: object
- risk_model_external_result_view:
- properties:
- available:
- type: boolean
- decision_factors:
- description: Used to list a total of up to 5 decision factors used by the risk model to determine the risk analysis result.
- items:
- type: string
- type: array
- fraud_probability:
- format: int
- type: number
- payment_instrument_factors:
- additionalProperties:
- example:
- factor1: factor1
- factor2: factor2
- type: string
- type: object
- type: object
- risk_review_status:
- description: Describes the current Risk Review status. A transaction could be unreviewed, reviewed, or pending manual review by the Bolt team.
- enum:
- - unknown
- - needs_review
- - reviewed
- example: reviewed
- type: string
- transaction_status:
- description: The transaction's status.
- enum:
- - in_progress
- - completed
- - cancelled
- - failed
- - pending
- - created
- - authorized
- - rejected_reversible
- - rejected_irreversible
- example: cancelled
- type: string
- transaction_type:
- description: The type of transaction.
- enum:
- - cc_payment
- - cc_credit
- - funding_transfer
- - processing_fee_transfer
- - reserve_transfer
- - float_transfer
- - merchant_credit
- - merchant_debit
- - funding_withdrawal
- - processing_fee_withdrawal
- - zero_amount
- - bolt_fee_transfer
- - bolt_fee_withdrawal
- - bank_account_verification
- - authorization_verification
- - paypal_payment
- - paypal_refund
- - apm_payment
- - apm_refund
- - zero_amount_verification
- example: cc_payment
- type: string
- credit_card_void_cause:
- description: Specifies why this particular transaction is voided.
- enum:
- - merchant_action
- - paypal_sync
- - amazon_pay_sync
- - irreversible_reject
- - auth_expire
- - auth_verification_expired
- - payment_method_updater
- - null
- type: string
- credit_card_void_status:
- description: The status of the void request.
- enum:
- - succeeded
- - declined
- - error
- example: succeeded
- type: string
- credit_card_void_view:
- properties:
- cause:
- $ref: '#/components/schemas/credit_card_void_cause'
- merchant_event_id:
- $ref: '#/components/schemas/transaction_merchant_event_id'
- status:
- $ref: '#/components/schemas/credit_card_void_status'
- void:
- description: The void ID returned from the payment processor.
- type: string
- example: '123456'
- type: object
- transaction_view:
- properties:
- amount:
- $ref: '#/components/schemas/amount_view'
- authorization:
- $ref: '#/components/schemas/credit_card_authorization_view'
- capture:
- $ref: '#/components/schemas/capture_view'
- captures:
- items:
- $ref: '#/components/schemas/credit_card_capture_view'
- type: array
- credit:
- $ref: '#/components/schemas/credit_card_credit_view'
- date:
- $ref: '#/components/schemas/transaction_date'
- from_consumer:
- $ref: '#/components/schemas/consumer_self_view'
- from_credit_card:
- $ref: '#/components/schemas/credit_card_view'
- id:
- $ref: '#/components/schemas/transaction_id'
- indemnification_decision:
- $ref: '#/components/schemas/transaction_indemnification_decision'
- indemnification_reason:
- $ref: '#/components/schemas/transaction_indemnification_reason'
- last4:
- $ref: '#/components/schemas/card_last4'
- last_viewed_utc:
- format: int64
- type: number
- merchant_division:
- $ref: '#/components/schemas/merchant_division_summary_view'
- merchant_order_number:
- type: string
- order_decision:
- $ref: '#/components/schemas/order_decision_details_view'
- processor:
- $ref: '#/components/schemas/transaction_processor'
- reference:
- $ref: '#/components/schemas/transaction_reference'
- review_ticket:
- $ref: '#/components/schemas/review_ticket_view'
- risk_insights:
- $ref: '#/components/schemas/risk_model_external_result_view'
- risk_review_status:
- $ref: '#/components/schemas/risk_review_status'
- risk_score:
- format: int64
- type: integer
- splits:
- items:
- $ref: '#/components/schemas/transaction_splits_view'
- type: array
- status:
- $ref: '#/components/schemas/transaction_status'
- to_consumer:
- $ref: '#/components/schemas/consumer_self_view'
- to_credit_card:
- $ref: '#/components/schemas/credit_card_view'
- transaction_properties:
- additionalProperties:
- example:
- key1: value1
- key2: value2
- type: string
- type: object
- type:
- $ref: '#/components/schemas/transaction_type'
- void:
- $ref: '#/components/schemas/credit_card_void_view'
- view_status:
- enum:
- - not_viewed
- - viewed
- - viewing
- type: string
- type: object
- i_authorize_result_view:
- properties:
- did_create_bolt_account:
- type: boolean
- order_number:
- type: string
- transaction:
- $ref: '#/components/schemas/transaction_view'
- type: object
- transaction_skip_hook_notification:
- description: Set to `true` to skip receiving a webhook notification from Bolt that is triggered by this update to the transaction.
- example: false
- type: boolean
- capture_transaction_with_reference:
- properties:
- amount:
- $ref: '#/components/schemas/amount'
- currency:
- $ref: '#/components/schemas/currency_iso'
- merchant_event_id:
- $ref: '#/components/schemas/transaction_merchant_event_id'
- skip_hook_notification:
- $ref: '#/components/schemas/transaction_skip_hook_notification'
- transaction_reference:
- $ref: '#/components/schemas/transaction_reference'
- required:
- - transaction_reference
- - amount
- - currency
- type: object
- transaction_credit:
- properties:
- amount:
- $ref: '#/components/schemas/amount'
- currency:
- $ref: '#/components/schemas/currency_iso'
- merchant_event_id:
- $ref: '#/components/schemas/transaction_merchant_event_id'
- skip_hook_notification:
- $ref: '#/components/schemas/transaction_skip_hook_notification'
- transaction_reference:
- $ref: '#/components/schemas/transaction_reference'
- required:
- - transaction_reference
- - amount
- - currency
- type: object
- merchant_credit_card_review:
- properties:
- decision:
- enum:
- - approve
- - reject
- type: string
- transaction_reference:
- $ref: '#/components/schemas/transaction_reference'
- required:
- - decision
- - transaction_reference
- type: object
- address_change_request_metadata_view:
- properties:
- can_change_shipping_address:
- type: boolean
- id:
- type: string
- status:
- type: string
- ticket_id:
- type: string
- ticket_status:
- type: string
- type: object
- chargeback_event_view:
- properties:
- content:
- type: string
- time:
- type: number
- type: object
- chargeback_details_view:
- properties:
- amt_won:
- allOf:
- - $ref: '#/components/schemas/amount_view'
- - description: The total representment amount IF the merchant won the chargeback case.
- chargeback_amt:
- allOf:
- - $ref: '#/components/schemas/amount_view'
- - description: The total amount of dispute debits and credits related to this chargeback case.
- chargeback_fee:
- allOf:
- - $ref: '#/components/schemas/amount_view'
- - description: The total amount of dispute fee debits and credits related to this chargeback case.
- chargeback_id:
- type: string
- event_views:
- items:
- $ref: '#/components/schemas/chargeback_event_view'
- type: array
- net_amt:
- allOf:
- - $ref: '#/components/schemas/amount_view'
- - description: The total sum of the fields `chargeback_amt` and `chargeback_fee`.
- reason:
- type: string
- reason_code:
- type: string
- representment_reply_by_date:
- description: The reply-by date of the dispute in UnixMillis format.
- format: int64
- type: number
- representment_result:
- enum:
- - none
- - open
- - lost
- - won
- type: string
- type: object
- custom_field_view:
- properties:
- checkout_step:
- enum:
- - SHIPPING_STEP
- - DELIVERY_STEP
- - PAYMENT_STEP
- - ACCOUNT_REGISTRATION_SSO
- type: string
- dynamic:
- type: boolean
- context:
- enum:
- - CHECKOUT
- - SSO
- type: string
- external_id:
- type: string
- field_setup:
- type: string
- label:
- type: string
- position:
- format: int64
- type: number
- public_id:
- type: string
- required:
- type: boolean
- subscribeToNewsletter:
- type: boolean
- type: object
- custom_field_response_view:
- properties:
- response:
- oneOf:
- - type: string
- - type: boolean
- type: object
- custom_field_full_response_view:
- properties:
- field:
- $ref: '#/components/schemas/custom_field_view'
- response:
- $ref: '#/components/schemas/custom_field_response_view'
- type: object
- customer_list_status:
- properties:
- auto_approved:
- type: boolean
- block_listed:
- type: boolean
- type: object
- manual_dispute_view:
- properties:
- amount:
- format: int64
- type: number
- currency:
- example: USD
- type: string
- delivery_evidence:
- type: string
- delivery_link:
- type: string
- dispute_evidence:
- type: string
- dispute_link:
- type: string
- other_evidence:
- items:
- type: string
- type: array
- other_link:
- items:
- type: string
- type: array
- reason:
- type: string
- status:
- enum:
- - pending
- - approved
- - denied
- type: string
- type: object
- default:
- example: false
- type: boolean
- gift_options:
- description: Contains the gift option settings for wrapping and custom messages.
- properties:
- message:
- $ref: '#/components/schemas/gift_options_message'
- wrap:
- $ref: '#/components/schemas/gift_options_wrap'
- type: object
- package_dimension:
- description: Contains the package's width, eight, depth, and unit details.
- properties:
- depth:
- $ref: '#/components/schemas/depth'
- height:
- $ref: '#/components/schemas/height'
- unit:
- $ref: '#/components/schemas/dimension_unit'
- width:
- $ref: '#/components/schemas/width'
- type: object
- package_weights:
- properties:
- unit:
- $ref: '#/components/schemas/weight_unit'
- weight:
- $ref: '#/components/schemas/weight'
- type: object
- company:
- description: The company's name
- example: ACME Corp.
- type: string
- country:
- description: The country's name.
- example: Canada
- type: string
- country_code:
- description: The 2-digit country code.
- example: US
- type: string
- billing_address_id:
- description: The unique Bolt ID associated with a previously saved billing address. Not applicable to new, unsaved addresses.
- example: address-1
- nullable: true
- type: string
- locality:
- description: A locale such as county, district, etc.
- example: Wayne County
- type: string
- name_person:
- description: The first and last name together as a string.
- example: Charlotte Charles
- type: string
- postal_code:
- description: The postal code.
- example: '11209'
- type: string
- region:
- description: A state, province, or similar region type.
- example: Quebec
- type: string
- street_address:
- description: You can use up to 4 street address fields.
- example: 42 Wallaby Way
- type: string
- consumer_billing_address:
- properties:
- company:
- $ref: '#/components/schemas/company'
- country:
- $ref: '#/components/schemas/country'
- country_code:
- $ref: '#/components/schemas/country_code'
- email_address:
- $ref: '#/components/schemas/email'
- first_name:
- $ref: '#/components/schemas/first_name'
- id:
- $ref: '#/components/schemas/billing_address_id'
- last_name:
- $ref: '#/components/schemas/last_name'
- locality:
- $ref: '#/components/schemas/locality'
- name:
- $ref: '#/components/schemas/name_person'
- phone_number:
- $ref: '#/components/schemas/phone'
- postal_code:
- $ref: '#/components/schemas/postal_code'
- region:
- $ref: '#/components/schemas/region'
- street_address1:
- $ref: '#/components/schemas/street_address'
- street_address2:
- $ref: '#/components/schemas/street_address'
- street_address3:
- $ref: '#/components/schemas/street_address'
- street_address4:
- $ref: '#/components/schemas/street_address'
- required:
- - street_address1
- - locality
- - region
- - postal_code
- type: object
- in_store_shipment:
- description: A cart that is being prepared for shipment
- properties:
- carrier:
- $ref: '#/components/schemas/carrier'
- cost:
- $ref: '#/components/schemas/amounts'
- default:
- $ref: '#/components/schemas/default'
- estimated_delivery_date:
- $ref: '#/components/schemas/estimated_delivery_date'
- expedited:
- $ref: '#/components/schemas/expedited'
- gift_options:
- $ref: '#/components/schemas/gift_options'
- id:
- $ref: '#/components/schemas/shipping_address_id'
- package_dimension:
- $ref: '#/components/schemas/package_dimension'
- package_type:
- $ref: '#/components/schemas/package_type'
- package_weights:
- $ref: '#/components/schemas/package_weights'
- reference:
- $ref: '#/components/schemas/reference'
- service:
- $ref: '#/components/schemas/service'
- shipping_address:
- $ref: '#/components/schemas/consumer_billing_address'
- shipping_method:
- $ref: '#/components/schemas/shipping_method'
- signature:
- $ref: '#/components/schemas/signature'
- tax_amount:
- $ref: '#/components/schemas/amounts'
- total_weight:
- $ref: '#/components/schemas/total_weight'
- type: object
- in_store_shipment2:
- description: A cart that is being prepared for shipment
- properties:
- address:
- $ref: '#/components/schemas/address_view'
- distance:
- example: 1.2
- type: number
- distance_unit:
- enum:
- - mile
- - km
- type: string
- shipment:
- $ref: '#/components/schemas/in_store_shipment'
- store_name:
- example: My Store
- type: string
- type: object
- fulfillment_view:
- properties:
- cart_shipment:
- $ref: '#/components/schemas/i_cart_shipment_view'
- fulfillment_type:
- type: string
- id:
- type: string
- in_store_cart_shipment:
- $ref: '#/components/schemas/in_store_shipment2'
- items:
- items:
- $ref: '#/components/schemas/i_cart_item_view'
- type: array
- type: object
- cart_loyalty_rewards_view:
- properties:
- amount:
- $ref: '#/components/schemas/amount_view'
- coupon_code:
- type: string
- description:
- type: string
- details:
- type: string
- points:
- format: int64
- type: integer
- source:
- type: string
- type:
- type: string
- type: object
- cart_view:
- description: This is the cart object returned in a successful response.
- properties:
- billing_address:
- $ref: '#/components/schemas/address_view'
- cart_url:
- description: Used to provide a link to the cart ID.
- example: https://boltswagstore.com/orders/123456765432
- maxLength: 8192
- type: string
- currency:
- $ref: '#/components/schemas/i_currency'
- discount_amount:
- $ref: '#/components/schemas/amount_view'
- discounts:
- items:
- $ref: '#/components/schemas/i_cart_discount_view'
- type: array
- display_id:
- example: displayid_100
- type: string
- fee_amount:
- $ref: '#/components/schemas/amount_view'
- fees:
- items:
- $ref: '#/components/schemas/i_cart_item_view'
- type: array
- fulfillments:
- items:
- $ref: '#/components/schemas/fulfillment_view'
- type: array
- in_store_shipments:
- $ref: '#/components/schemas/in_store_shipment2'
- items:
- items:
- $ref: '#/components/schemas/i_cart_item_view'
- type: array
- loyalty_rewards:
- items:
- $ref: '#/components/schemas/cart_loyalty_rewards_view'
- type: array
- loyalty_rewards_amount:
- $ref: '#/components/schemas/amount_view'
- merchant_order_url:
- type: string
- metadata:
- additionalProperties:
- type: string
- type: object
- msrp:
- $ref: '#/components/schemas/amount_view'
- order_description:
- description: Used optionally to pass additional information like order numbers or other IDs as needed.
- example: 'Order #1234567890'
- maxLength: 1024
- type: string
- order_reference:
- description: This value is used by Bolt as an external reference to a given order. This reference must be unique per successful transaction.
- example: order_100
- type: string
- shipments:
- items:
- $ref: '#/components/schemas/i_cart_shipment_view'
- type: array
- shipping_amount:
- $ref: '#/components/schemas/amount_view'
- subtotal_amount:
- $ref: '#/components/schemas/amount_view'
- tax_amount:
- $ref: '#/components/schemas/amount_view'
- total_amount:
- $ref: '#/components/schemas/amount_view'
- transaction_reference:
- description: The 12 digit reference ID associated to a given transaction webhook for an order.
- example: 6CEA-ZME1-DACE
- maxLength: 12
- minLength: 12
- type: string
- type: object
- order_external_data_view:
- properties:
- shopify:
- type: string
- type: object
- order_view:
- properties:
- cart:
- $ref: '#/components/schemas/cart_view'
- dynamic_content:
- $ref: '#/components/schemas/i_order_dynamic_content'
- external_data:
- $ref: '#/components/schemas/order_external_data_view'
- platform_user_id:
- type: string
- requires_action:
- type: string
- token:
- type: string
- user_note:
- description: Used by shoppers to make extra requests or provide details for gift messages.
- type: string
- type: object
- refund_transactions_view:
- description: |
- **Nullable** for Transactions Details.
- items:
- $ref: '#/components/schemas/transaction_view'
- type: array
- address_change_view:
- properties:
- from_address:
- $ref: '#/components/schemas/address_view'
- status:
- type: string
- ticket_id:
- type: string
- timestamp:
- format: int64
- type: number
- to_address:
- $ref: '#/components/schemas/address_view'
- type: object
- risk_model_resul_contribution_view:
- properties:
- category:
- type: string
- weight:
- type: string
- type: object
- risk_model_result_view:
- properties:
- contribution:
- items:
- $ref: '#/components/schemas/risk_model_resul_contribution_view'
- type: array
- type: object
- transaction_review_view:
- properties:
- date:
- format: int64
- type: number
- decision:
- type: string
- risk_model_result:
- $ref: '#/components/schemas/risk_model_result_view'
- source:
- type: string
- type: object
- transaction_timeline_view:
- properties:
- address_change:
- $ref: '#/components/schemas/address_change_view'
- amount:
- $ref: '#/components/schemas/amount_view'
- consumer:
- $ref: '#/components/schemas/consumer_summary_view'
- date:
- type: number
- note:
- type: string
- review:
- $ref: '#/components/schemas/transaction_review_view'
- transaction:
- $ref: '#/components/schemas/transaction_view'
- type:
- enum:
- - completed
- - authorized
- - review
- - note
- - voided
- - captured
- - credited
- - address_change
- type: string
- visibility:
- type: string
- type: object
- auth_rejection_details_view:
- properties:
- reason_code:
- type: string
- reason_description:
- type: string
- required:
- - reason_description
- type: object
- transaction_details_view:
- allOf:
- - $ref: '#/components/schemas/transaction_view'
- - properties:
- address_change_request_metadata:
- $ref: '#/components/schemas/address_change_request_metadata_view'
- adjust_transactions:
- items:
- $ref: '#/components/schemas/transaction_view'
- type: array
- auth_verification_status:
- enum:
- - ''
- - new
- example: new
- type: string
- authorization_id:
- type: string
- chargeback_details:
- $ref: '#/components/schemas/chargeback_details_view'
- custom_fields:
- items:
- $ref: '#/components/schemas/custom_field_full_response_view'
- type: array
- customer_list_status:
- $ref: '#/components/schemas/customer_list_status'
- manual_disputes:
- items:
- $ref: '#/components/schemas/manual_dispute_view'
- type: array
- order:
- $ref: '#/components/schemas/order_view'
- refund_transaction_ids:
- items:
- type: string
- type: array
- refund_transactions:
- $ref: '#/components/schemas/refund_transactions_view'
- refunded_amount:
- $ref: '#/components/schemas/amount_view'
- source_transaction:
- $ref: '#/components/schemas/transaction_view'
- timeline:
- items:
- $ref: '#/components/schemas/transaction_timeline_view'
- type: array
- transaction_rejection_details:
- properties:
- auth_rejection_details:
- $ref: '#/components/schemas/auth_rejection_details_view'
- type: object
- void_cause:
- description: Determines why the transaction was voided.
- enum:
- - merchant_action
- - shopify_sync
- - paypal_sync
- - amazon_pay_sync
- - irreversible_reject
- - auth_expire
- - auth_verification_expired
- - payment_method_updater
- example: irreversible_reject
- type: string
- type: object
- credit_card_void:
- properties:
- merchant_event_id:
- $ref: '#/components/schemas/transaction_merchant_event_id'
- skip_hook_notification:
- $ref: '#/components/schemas/transaction_skip_hook_notification'
- transaction_reference:
- $ref: '#/components/schemas/transaction_reference'
- required:
- - transaction_reference
- type: object
- adjust_transactions:
- description: |
- **Nullable** for Transactions Details.
- items:
- $ref: '#/components/schemas/transaction_view'
- type: array
- authorization_verification_status:
- description: 'Used to track the status of micro-authorizations. **Nullable** for Transactions Details. '
- enum:
- - new
- - verified
- - failed
- - expired
- example: new
- type: string
- authorization_id:
- description: The authorization's id.
- example: T1c3p4yBuVYJ9
- type: string
- captures_view:
- description: All captures associated with the transaction. **Nullable** for Transactions Details.
- items:
- $ref: '#/components/schemas/capture_view'
- type: array
- chargeback_id:
- description: The unique ID of the chargeback.
- example: a3ad4d56fd7
- type: string
- chargeback_reason:
- description: The reason for the chargeback.
- example: string
- type: string
- chargeback_reason_code:
- description: Bolt's [standardized reason codes](https://help.bolt.com/merchants/references/policies/disputes/dispute-codes/).
- enum:
- - authorization_failed
- - cancelled_recurring
- - cardholder_dispute
- - currency_error
- - duplicate
- - fraud_general
- - fraud_no_authorization
- - incorrect_amount
- - late_presentment
- - processing_error
- - processor_general
- - product_defective
- - product_not_received
- - product_returned
- - request_for_information
- example: product_not_received
- type: string
- chargeback_representment_reply_by_date:
- description: The date of the chargeback.
- example: 1485997169003
- type: integer
- chargeback_representment_result:
- description: The result of the chargeback representment.
- enum:
- - none
- - open
- - lost
- - won
- example: won
- type: string
- chargeback_details:
- properties:
- amt_won:
- $ref: '#/components/schemas/amount_view'
- chargeback_amt:
- $ref: '#/components/schemas/amount_view'
- chargeback_fee:
- $ref: '#/components/schemas/amount_view'
- chargeback_id:
- $ref: '#/components/schemas/chargeback_id'
- event_views:
- items:
- $ref: '#/components/schemas/chargeback_event_view'
- type: array
- net_amt:
- $ref: '#/components/schemas/amount_view'
- reason:
- $ref: '#/components/schemas/chargeback_reason'
- reason_code:
- $ref: '#/components/schemas/chargeback_reason_code'
- representment_reply_by_date:
- $ref: '#/components/schemas/chargeback_representment_reply_by_date'
- representment_result:
- $ref: '#/components/schemas/chargeback_representment_result'
- type: object
- credit:
- properties:
- status:
- example: succeeded
- type: string
- type: object
- custom_fields:
- properties:
- checkout_setup:
- enum:
- - shipping_step
- - delivery_step
- - payment_step
- - account_registration_sso
- example: string
- type: string
- dynamic:
- description: Defines whether the field is dynamic.
- example: false
- type: boolean
- context:
- description: The app context of where the custom field is used.
- enum:
- - CHECKOUT
- - SSO
- example: CHECKOUT
- type: string
- external_id:
- description: The external ID for the custom field.
- example: '123456'
- type: string
- field_setup:
- example: string
- type: string
- label:
- description: The displayed label for the custom field, seen by the shopper.
- example: Special Field
- type: string
- position:
- example: 1
- type: integer
- public_id:
- description: The internal ID for the custom field.
- example: i-123456
- type: string
- required:
- description: Defines if the field must be completed to check out.
- example: true
- type: boolean
- subscribe_to_newsletter:
- description: Defines whether the shopper is opted into a newsletter or not.
- example: false
- type: boolean
- type: object
- email_id:
- description: This is the ID for the email address associated with the shopper.
- example: '123'
- type: string
- email_priority:
- description: This is the priority of the contact method. This field's contents are not displayed in the transaction details view.
- enum:
- - primary
- - listed
- example: primary
- type: string
- email_status:
- description: This is the status of the contact method.
- enum:
- - active
- - pending
- - inactive
- example: active
- type: string
- emails:
- description: A list of email addresses. **Nullable** for Transactions Details.
- items:
- description: An object of user email.
- properties:
- address:
- $ref: '#/components/schemas/email'
- id:
- $ref: '#/components/schemas/email_id'
- priority:
- $ref: '#/components/schemas/email_priority'
- status:
- $ref: '#/components/schemas/email_status'
- type: object
- type: array
- consumer_id:
- description: The shopper's unique ID.
- example: b2vghjk2v4c5fgdh3jak
- type: string
- phone_country_code:
- description: A phone number's country code.
- example: '1'
- type: string
- phone_id:
- description: This is the ID for the phone number associated with the shopper.
- example: '123'
- type: string
- phone_priority:
- description: This is the priority of the contact method. This field's contents are not displayed in the transaction details view.
- enum:
- - primary
- - listed
- example: primary
- type: string
- phone_status:
- description: This is the status of the contact method.
- enum:
- - active
- - pending
- - inactive
- example: active
- type: string
- phones_with_country_code:
- description: A list of phone numbers.
- items:
- description: A phone number with country code.
- properties:
- country_code:
- $ref: '#/components/schemas/phone_country_code'
- id:
- $ref: '#/components/schemas/phone_id'
- number:
- $ref: '#/components/schemas/phone'
- priority:
- $ref: '#/components/schemas/phone_priority'
- status:
- $ref: '#/components/schemas/phone_status'
- type: object
- type: array
- credit_card_user:
- description: The credit card user.
- properties:
- emails:
- $ref: '#/components/schemas/emails'
- first_name:
- $ref: '#/components/schemas/first_name'
- id:
- $ref: '#/components/schemas/consumer_id'
- last_name:
- $ref: '#/components/schemas/last_name'
- phones:
- $ref: '#/components/schemas/phones_with_country_code'
- type: object
- consumer_membership_status:
- description: True if user has an AllPass membership associated to their Bolt Account. **Nullable** for Transactions Details.
- enum:
- - active
- - cancelled
- - disabled
- - free_trial
- type: string
- consumer_user_membership:
- description: |
- **Nullable** for Transactions Details.
- properties:
- status:
- $ref: '#/components/schemas/consumer_membership_status'
- required:
- - status
- type: object
- last_viewed_utc:
- description: The last view time as UTC.
- example: 1485997169003
- type: integer
- manual_disputes:
- properties:
- amount:
- $ref: '#/components/schemas/amount'
- currency:
- $ref: '#/components/schemas/currency_iso'
- delivery_evidence:
- example: Delivery Evidence
- type: string
- delivery_link:
- example: https://example.com/delivery/234563245
- type: string
- dispute_evidence:
- example: Dispute Evidence
- type: string
- dispute_link:
- example: https://example.com/receipts/234563245
- type: string
- other_evidence:
- example: Other Evidence
- type: string
- other_link:
- example: https://example.com/other/234563245
- type: string
- reason:
- example: string
- type: string
- status:
- enum:
- - pending
- - approved
- - denied
- example: pending
- type: string
- type: object
- merchant_created_date:
- description: The date the merchant account was created. **Nullable** for Transactions Details.
- example: 1485997169003
- type: integer
- merchant_description:
- description: The description of the merchant account. **Nullable** for Transactions Details.
- example: Brand Name Here.
- type: string
- merchant_onboarding_status_code:
- enum:
- - new_merchant
- - user_created
- - form_filled
- - integration_done
- - legacy
- - processor_settings_received
- type: string
- transaction_processor_status:
- description: The processor's status. Only `primary` and `active` processor are displayed.
- enum:
- - primary
- - active
- - inactive
- example: primary
- type: string
- transaction_operational_processor:
- properties:
- processor:
- $ref: '#/components/schemas/transaction_processor'
- status:
- $ref: '#/components/schemas/transaction_processor_status'
- required:
- - processor
- - status
- type: object
- transaction_operational_processors:
- description: |
- **Nullable** for Transactions Details.
- items:
- $ref: '#/components/schemas/transaction_operational_processor'
- type: array
- merchant_public_id:
- description: The unique public ID for the merchant's Bolt account. A merchant account contains many merchant divisions.
- example: zSrbabI3MFe8
- type: string
- merchant_status:
- description: |
- The merchant's status:
- * `1` - Active
- * `2` - Inactive
- * `3` - Offboarding
- enum:
- - 1
- - 2
- - 3
- type: integer
- merchant_time_zone:
- description: The timezone of the merchant. **Nullable** for Transactions Details.
- example: America/Los_Angeles
- type: string
- merchant:
- properties:
- created_at:
- $ref: '#/components/schemas/merchant_created_date'
- description:
- $ref: '#/components/schemas/merchant_description'
- onboarding_status:
- $ref: '#/components/schemas/merchant_onboarding_status_code'
- operational_processors:
- $ref: '#/components/schemas/transaction_operational_processors'
- processor:
- $ref: '#/components/schemas/transaction_processor'
- public_id:
- $ref: '#/components/schemas/merchant_public_id'
- status:
- $ref: '#/components/schemas/merchant_status'
- time_zone:
- $ref: '#/components/schemas/merchant_time_zone'
- required:
- - created_at
- - description
- - processor
- - operational_processors
- - time_zone
- type: object
- merchant_account_page_url:
- description: The URL provided by the merchant for the account page.
- example: https://example.com/account
- type: string
- merchant_debug_url:
- description: The endpoint URL provided by the merchant for debugging.
- example: https://example.com/v1/debug
- type: string
- merchant_division_description:
- description: The description of the merchant division. **Nullable** for Transactions Details.
- example: Storefront for employees only.
- type: string
- merchant_get_account_url:
- description: The endpoint URL provided by the merchant to fetch accounts.
- example: https://example.com/api/v1/account_get
- type: string
- merchant_shopper_custom_fields_updated_url:
- description: The endpoint URL provided by the merchant to be notified whenever shopper respond to the custom fields for creating merchant platform account.
- example: https://example.com/api/v1/shopper_custom_fields_updated
- type: string
- webhooks_type:
- description: |
- [Webhook events](https://help.bolt.com/developers/guides/webhooks/#transaction-hook-types) that trigger a notification to the URL. **Note**:`newsletter_subscription` is only for merchant use cases.
- enum:
- - payment
- - credit
- - capture
- - void
- - auth
- - pending
- - rejected_irreversible
- - rejected_reversible
- - failed_payment
- - newsletter_subscription
- - risk_insights
- - credit_card_deleted
- example: pending
- type: string
- merchant_hook_url:
- description: The endpoint URL provided by the merchant to send webhooks.
- example: https://example.com/api/v1/hooks
- type: string
- merchant_division_id:
- description: The unique ID associated to the merchant's Bolt Account division; Merchants can have different divisions to suit multiple use cases (storefronts, pay-by-link, phone order processing). You can view and switch between these divisions from the Bolt Merchant Dashboard.
- example: 3X9aPQ67-YrB
- type: string
- merchant_division_domain:
- description: The URL of the merchant division.
- example: mystore-staging.boltapp.com
- type: string
- merchant_division_logo:
- description: The logo image file for the merchant division.
- example: division-logo.png
- type: string
- merchant_logo:
- properties:
- domain:
- $ref: '#/components/schemas/merchant_division_domain'
- resource:
- $ref: '#/components/schemas/merchant_division_logo'
- type: object
- merchant_id:
- description: The unique ID for the merchant's Bolt account. A merchant account contains many merchant divisions. **Nullable** for Transactions Details.
- example: 3X9aPQ67-YrB
- type: string
- merchant_oauth_logout_url:
- description: The endpoint URL provided by the merchant for logging out of OAuth accounts.
- example: https://example.com/api/v1/oauth_logout
- type: string
- merchant_oauth_redirect_url:
- description: The endpoint URL provided by the merchant for OAuth redirects.
- example: https://example.com/api/v1/oauth_redirect
- type: string
- merchant_platform:
- description: The type of platform being used for this merchant division.
- enum:
- - none
- - big_commerce
- - shopify
- - magento
- - magento2
- - woo_commerce
- - drupal
- - volusion
- - prestashop
- - netsuite
- - miva
- - commerce_cloud
- example: big_commerce
- type: string
- merchant_plugin_config_url:
- description: The endpoint URL provided by the merchant for checking plugin configuration details.
- example: https://example.com/api/v1/plugin_config
- type: string
- merchant_privacy_policy_url:
- description: The endpoint URL provided by the merchant for providing a unique privacy policy.
- example: https://example.com/api/v1/privacy
- type: string
- merchant_product_info_url:
- description: The endpoint URL provided by the merchant for checking product details.
- example: https://example.com/api/v1/product_details
- type: string
- merchant_division_public_id:
- description: The unique public ID for one of the merchant's store division.
- example: 3X9aPQ67-YrB
- type: string
- merchant_terms_of_service_url:
- description: The endpoint URL provided by the merchant for providing unique terms of service.
- example: https://example.com/api/v1/terms
- type: string
- merchant_universal_merchant_api_url:
- description: The endpoint URL provided by the merchant to access their universal API.
- example: https://example.com/api/bolt_universal
- type: string
- merchant_validate_additional_account_data_url:
- description: The endpoint URL provided by the merchant for validating additional account data.
- example: https://example.com/api/v1/account_validate
- type: string
- merchant_division:
- properties:
- account_page_url:
- $ref: '#/components/schemas/merchant_account_page_url'
- api_base_domain_url:
- type: string
- example: https://apibasedomainurl.com
- create_order_url:
- description: The endpoint URL provided by the merchant to Bolt for creating orders. **Nullable** for Transactions Details.
- example: https://example.com/api/v1/create_order
- type: string
- debug_url:
- $ref: '#/components/schemas/merchant_debug_url'
- description:
- $ref: '#/components/schemas/merchant_division_description'
- get_account_url:
- $ref: '#/components/schemas/merchant_get_account_url'
- shopper_custom_fields_updated_url:
- $ref: '#/components/schemas/merchant_shopper_custom_fields_updated_url'
- hook_type:
- $ref: '#/components/schemas/webhooks_type'
- hook_url:
- $ref: '#/components/schemas/merchant_hook_url'
- id:
- $ref: '#/components/schemas/merchant_division_id'
- is_universal_merchant_api:
- description: Defines whether or not the Universal API method is in use. **Nullable** for Transactions Details.
- example: true
- type: boolean
- is_webhooks_v2:
- description: Defines whether or not the second version of Bolt's webhooks is in use. **Nullable** for Transactions Details.
- example: true
- type: boolean
- logo:
- $ref: '#/components/schemas/merchant_logo'
- merchant_id:
- $ref: '#/components/schemas/merchant_id'
- oauth_logout_url:
- $ref: '#/components/schemas/merchant_oauth_logout_url'
- oauth_redirect_url:
- $ref: '#/components/schemas/merchant_oauth_redirect_url'
- platform:
- $ref: '#/components/schemas/merchant_platform'
- plugin_config_url:
- $ref: '#/components/schemas/merchant_plugin_config_url'
- privacy_policy_url:
- $ref: '#/components/schemas/merchant_privacy_policy_url'
- product_info_url:
- $ref: '#/components/schemas/merchant_product_info_url'
- public_id:
- $ref: '#/components/schemas/merchant_division_public_id'
- shipping_and_tax_url:
- description: The endpoint URL provided by the merchant to Bolt for shipping and tax calculations.
- example: https://example.com/api/v1/shipping_and_tax
- type: string
- shipping_url:
- description: The endpoint URL provided by the merchant to Bolt for shipping calculations. **Nullable** for Transactions Details.
- example: https://example.com/api/v1/shipping
- type: string
- tax_url:
- description: The endpoint URL provided by the merchant to Bolt for tax calculations. **Nullable** for Transactions Details.
- example: https://example.com/api/v1/tax
- type: string
- terms_of_service_url:
- $ref: '#/components/schemas/merchant_terms_of_service_url'
- universal_merchant_api_url:
- $ref: '#/components/schemas/merchant_universal_merchant_api_url'
- update_cart_url:
- description: The endpoint URL provided by the merchant to Bolt to pass cart updates.
- example: https://example.com/api/v1/cart_update
- type: string
- validate_additional_account_data_url:
- $ref: '#/components/schemas/merchant_validate_additional_account_data_url'
- required:
- - merchant_id
- - description
- - is_universal_merchant_api
- - is_webhooks_v2
- - shipping_url
- - tax_url
- type: object
- merchant_order_number:
- description: The merchant's internal order number for this transaction.
- example: O-1234567
- type: string
- risk_decision_factor.yml:
- description: One of the main contributing factors to the fraud decision and score.
- enum:
- - address_details
- - auth_decline_stolen_card
- - card_information
- - cart_details
- - checkout_behavior
- - device_specifications
- - email_details
- - fraudulent_chargeback
- - ip_details
- - phone_details
- - shipping_details
- - too_many_attempts
- - user_history
- example: checkout_behavior
- type: string
- risk_decision_factors.yml:
- description: The top 5 factors of the fraud decision.
- items:
- $ref: '#/components/schemas/risk_decision_factor.yml'
- type: array
- order_decision_score:
- description: The total fraud risk score of the order.
- example: '680'
- type: integer
- order_decision:
- description: Decision and score for an order.
- properties:
- decision_factors:
- $ref: '#/components/schemas/risk_decision_factors.yml'
- score:
- $ref: '#/components/schemas/order_decision_score'
- type: object
- refund_transaction_ids:
- description: |
- **Nullable** for Transactions Details.
- items:
- $ref: '#/components/schemas/transaction_id'
- type: array
- request_id:
- description: The unique ID for the request ticket.
- example: 2d34a56
- type: string
- request_deadline:
- example: 1627955971268
- type: integer
- request_status:
- enum:
- - reviewed
- - needs_review
- - unknown
- type: string
- review_ticket:
- description: Internal use only.
- properties:
- id:
- $ref: '#/components/schemas/request_id'
- request_deadline:
- $ref: '#/components/schemas/request_deadline'
- status:
- $ref: '#/components/schemas/request_status'
- type: object
- risk_insight_availability.yml:
- description: Must be set to `true` to receive fraud insights.
- example: true
- type: boolean
- risk_fraud_probability.yml:
- description: |
- The total [fraud score](/merchants/references/policies/fraud-review/#fraud-scoring).
- example: 943
- type: integer
- risk_insights.yml:
- description: |
- Displays fraud decisioning insights based on key factors. This information can either be forwarded via a `risk_insights` transaction webhook type or be polled by sending a `GET` request to Bolt's [transactions endpoint](/api-bolt/#operation/transaction-details).
- properties:
- available:
- $ref: '#/components/schemas/risk_insight_availability.yml'
- decision_factors:
- $ref: '#/components/schemas/risk_decision_factors.yml'
- fraud_probability:
- $ref: '#/components/schemas/risk_fraud_probability.yml'
- payment_instrument_factors:
- additionalProperties:
- type: string
- type: object
- type: object
- splits_view:
- description: A list of splits. **Nullable** for Transactions Details.
- items:
- description: A split of fees by type and amount.
- properties:
- amount:
- $ref: '#/components/schemas/amount_view'
- type:
- description: |
- **Nullable** for Transactions Details.
- enum:
- - net
- - processing_fee
- - bolt_fee
- - adjustment
- - float
- - reserve
- example: processing_fee
- type: string
- type: object
- type: array
- auth_rejection_details:
- properties:
- reason_code:
- type: string
- reason_description:
- type: string
- type: object
- transaction_rejection_details_view:
- properties:
- auth_rejection_details:
- $ref: '#/components/schemas/auth_rejection_details'
- type: object
- transaction_update_input:
- type: object
- properties:
- display_id:
- description: This field corresponds to the merchant's order reference associated with this Bolt transaction.
- type: string
- example: order-123
- metadata:
- additionalProperties:
- type: string
- description: Custom metadata associated with this Bolt transaction.
- example:
- key1: value1
- key2: value2
- type: object
- o_auth_token_input:
- properties:
- client_id:
- description: Merchant publishable key which can be found in the merchant dashboard
- type: string
- client_secret:
- description: Your Bolt API Key.
- type: string
- code:
- description: Fetched value using OTP value from the Authorization Modal.
- type: string
- grant_type:
- description: |
- The type of OAuth 2.0 grant being utilized.
-
- The value will always be `authorization_code` when exchanging an authorization code for an access token.
- enum:
- - authorization_code
- type: string
- scope:
- description: The scope issued to the merchant when receiving an authorization code. Options include `bolt.account.manage`, `bolt.account.view`, `openid`. You can find more information on these options in our [OAuth scope documentation](https://help.bolt.com/developers/references/bolt-oauth/#scopes).
- enum:
- - bolt.account.manage
- - bolt.account.view
- - openid
- type: string
- state:
- description: A randomly generated string issued to the merchant when receiving an authorization code used to prevent CSRF attacks
- type: string
- required:
- - grant_type
- - code
- - client_id
- - scope
- - client_secret
- title: Authorization Code Request
- type: object
- o_auth_token_input_refresh:
- properties:
- client_id:
- description: Merchant publishable key which can be found in the merchant dashboard
- type: string
- client_secret:
- description: Your Bolt API Key.
- type: string
- grant_type:
- description: |
- The type of OAuth 2.0 grant being utilized.
-
- The value will always be `refresh_token` when exchanging a refresh token for an access token.
- enum:
- - refresh_token
- type: string
- refresh_token:
- description: The value of the refresh token issued to you in the originating OAuth token request.
- type: string
- scope:
- description: The scope issued to the merchant when receiving an authorization code. Options include `bolt.account.manage`, `bolt.account.view`, `openid`.
- type: string
- state:
- description: A randomly generated string issued to the merchant when receiving an authorization code used to prevent CSRF attacks
- type: string
- required:
- - grant_type
- - client_id
- - refresh_token
- - scope
- - client_secret
- title: Refresh Token Request
- type: object
- o_auth_token_response:
- properties:
- access_token:
- description: An access token you can use to make requests on behalf of a Bolt Account.
- type: string
- expires_in:
- description: Access token’s expiration in seconds.
- type: integer
- id_token:
- description: A JWT token issued when the request includes the scope open_id.
- type: string
- refresh_token:
- description: A refresh token you can use to issue a brand new access token without obtaining a new authorization code.
- type: string
- refresh_token_scope:
- description: The scope granted to the refresh token. Currently this will always be bolt.account.view.
- type: string
- scope:
- description: The scope granted to access token, depending on the scope granted to the authorization code as well as the scope parameter. Options include `bolt.account.manage`, `bolt.account.view`, `openid`.
- type: string
- token_type:
- description: The token_type will always be bearer.
- type: string
- type: object
- errors_oauth_server_response:
- properties:
- error:
- type: string
- error_description:
- type: string
- type: object
- tracking_detail:
- properties:
- city:
- example: New York
- type: string
- country:
- example: USA
- type: string
- datetime:
- example: '2017-07-21T17:32:28Z'
- format: date-time
- type: string
- message:
- example: BILLING INFORMATION RECEIVED
- type: string
- state:
- example: New York
- type: string
- status:
- description: The transit status of the order being tracked.
- enum:
- - unknown
- - pre_transit
- - in_transit
- - out_for_delivery
- - delivered
- - available_for_pickup
- - return_to_sender
- - failure
- - cancelled
- - error
- example: in_transit
- type: string
- zip:
- example: '10044'
- type: string
- required:
- - city
- - state
- - zip
- - country
- - datetime
- - status
- - message
- type: object
- mock_tracking_input:
- properties:
- delivery_estimate:
- type: string
- status:
- description: The shipment status of a simulated order.
- enum:
- - in_transit
- - cancelled
- - failure
- - delivered
- type: string
- tracking_detail:
- description: A list of tracking updates that contain the shipment's status, location, and any unique messages.
- items:
- $ref: '#/components/schemas/tracking_detail'
- type: array
- tracking_number:
- description: The carrier's tracking number for the shipment (Order Tracking Testing). Must begin with `MockBolt`.
- example: MockBolt1234
- type: string
- required:
- - tracking_number
- - status
- - delivery_estimate
- - tracking_detail
- type: object
- webhook_event_group:
- description: |
- Subscribe to a group of events.
- `all`: subscribe to all existing and future event types
- enum:
- - all
- - 'null'
- nullable: true
- type: string
- url:
- description: The full URL to receive webhook notifications.
- example: https://eva-nerv.shop.com/path/to/hook
- type: string
- webhook_id:
- description: A unique webhook ID. Reference this value to modify or delete the webhook subscription. operations as well.
- example: wh_za7VbYcSQU2zRgGQXQAm-g
- type: string
- webhook:
- properties:
- created_at:
- description: Webhook creation time in epoch timestamp milliseconds.
- example: 1485997169003
- type: integer
- event_group:
- $ref: '#/components/schemas/webhook_event_group'
- events:
- description: |
- All events the webhook is subscribed to. Null when `event_group` = `all`.
- items:
- $ref: '#/components/schemas/webhooks_type'
- nullable: true
- type: array
- url:
- $ref: '#/components/schemas/url'
- webhook_id:
- $ref: '#/components/schemas/webhook_id'
- required:
- - webhook_id
- - created_at
- - url
- type: object
- base_create_webhook:
- properties:
- division_id:
- description: The unique ID associated with the specific merchant division.
- example: 3X9aPQ67-YrB
- type: string
- url:
- $ref: '#/components/schemas/url'
- required:
- - division_id
- - url
- type: object
- event_group_create_webhook:
- allOf:
- - $ref: '#/components/schemas/base_create_webhook'
- - type: object
- properties:
- event_group:
- $ref: '#/components/schemas/webhook_event_group'
- events_array_create_webhook:
- allOf:
- - $ref: '#/components/schemas/base_create_webhook'
- - type: object
- properties:
- events:
- description: |
- If `webhook_event_group` is null, pick a list of notification events to subscribe to.
- items:
- $ref: '#/components/schemas/webhooks_type'
- type: array
- account_identifier_status:
- description: The status of the shopper account identifier (email or phone). If the account does not have this identifier, the status is "missing"; If the identifier has been used to receive an OTP code, the status is "verified"; If the identifier has not been used to receive an OTP code, the status is "unverified".
- enum:
- - missing
- - verified
- - unverified
- example: verified
- type: string
- testing_account_request:
- properties:
- deactivate_in_days:
- description: 'Number of days after which the test account is deactivated. Default: 30 days. Maximum: 180 days.'
- type: integer
- email:
- description: Deprecated. Please leave this field absent and let the API automatically generate a random email.
- type: string
- email_state:
- $ref: '#/components/schemas/account_identifier_status'
- phone:
- description: Deprecated. Please leave this field absent and let the API automatically generate a random phone number.
- type: string
- phone_state:
- $ref: '#/components/schemas/account_identifier_status'
- migrated:
- description: Set this account as migrated by the merchant in the request
- type: boolean
- has_address:
- description: Add a random U.S. address to the created account if set to `true`
- type: boolean
- type: object
- example:
- deactivate_in_days: 30
- email_state: verified
- phone_state: verified
- testing_account_details:
- properties:
- email:
- description: The email of the testing account
- $ref: '#/components/schemas/email'
- email_state:
- example: verified
- $ref: '#/components/schemas/account_identifier_status'
- phone:
- description: The phone number of the testing account
- $ref: '#/components/schemas/phone'
- phone_state:
- example: unverified
- $ref: '#/components/schemas/account_identifier_status'
- otp_code:
- description: Fixed OTP code that can be used to login to the created account
- example: 123456
- type: string
- migrated_merchant_owner_id:
- description: The merchant's public id if the account is migrated
- example: addvfRR_bp_7
- type: string
- will_deactivate_at:
- description: The created testing account will be deactivated after this date
- example: '2023-06-01T23:16:07Z'
- type: string
- oauth_code:
- description: OAuth code that is associated with this account and can be used to exchange for an access token
- example: 7GSjMRSHs6Ak7C_zvVW6P2IhZOHxMK7HZKW1fMX85ms.-DUXvwr1Yg-bfvqXUlMaz49fPn7OdiPa3TwVBlUI-wc
- type: string
- type: object
- 1005_code:
- description: Invalid merchant key.
- example: 1005
- format: int64
- type: integer
- 1005_message:
- description: Authentication error. Invalid merchant key.
- example: Authentication error. Invalid merchant key.
- type: string
- 1005_invalid_merchant_key:
- properties:
- code:
- $ref: '#/components/schemas/1005_code'
- message:
- $ref: '#/components/schemas/1005_message'
- type: object
- account_login_status:
- enum:
- - success
- - failure
- example: success
- type: string
- address_change_status:
- description: The status of the request.
- enum:
- - pending
- - cancelled
- - approved
- - rejected
- type: string
- address_change_ticket_id:
- description: The ID of the ticket.
- example: ticket-25
- type: string
- address_change_timestamp:
- description: The timestamp of the address change request.
- example: 1615407159447
- type: integer
- address_change:
- properties:
- from_address:
- $ref: '#/components/schemas/consumer_billing_address'
- status:
- $ref: '#/components/schemas/address_change_status'
- ticket_id:
- $ref: '#/components/schemas/address_change_ticket_id'
- timestamp:
- $ref: '#/components/schemas/address_change_timestamp'
- to_address:
- $ref: '#/components/schemas/consumer_billing_address'
- type: object
- address_change_id:
- description: The Unique ID for the change request.
- example: a7sd7f23ghjk5lyt42f
- type: string
- address_change_ticket_status:
- description: The status of the request.
- enum:
- - pending
- - open
- - closed
- type: string
- adjust_transaction_merchant:
- properties:
- created_at:
- $ref: '#/components/schemas/merchant_created_date'
- description:
- $ref: '#/components/schemas/merchant_description'
- operational_processors:
- $ref: '#/components/schemas/transaction_operational_processors'
- processor:
- $ref: '#/components/schemas/transaction_processor'
- public_id:
- $ref: '#/components/schemas/merchant_public_id'
- time_zone:
- $ref: '#/components/schemas/merchant_time_zone'
- required:
- - created_at
- - description
- - processor
- - operational_processors
- - time_zone
- type: object
- alliance_data_info:
- properties:
- call_id:
- type: string
- required:
- - call_id
- type: object
- authorization_reason_codes:
- description: The code matching the rejection reason.
- example: code-1234
- type: string
- authorization_reason_description:
- description: The explanation of the reason code.
- example: Card reported stolen
- type: string
- hosted_payments_response:
- properties:
- x_account_id:
- type: string
- x_amount:
- type: string
- x_currency:
- example: USD
- type: string
- x_gateway_reference:
- type: string
- x_message:
- type: string
- x_reference:
- type: string
- x_result:
- enum:
- - completed
- - failed
- - pending
- type: string
- x_signature:
- type: string
- x_test:
- type: string
- x_timestamp:
- type: string
- required:
- - x_account_id
- - x_amount
- - x_currency
- - x_gateway_reference
- - x_reference
- - x_result
- - x_signature
- - x_test
- - x_timestamp
- type: object
- sfcc_order_output:
- properties:
- sfcc_order_token:
- type: string
- type: object
- authorize_external_outputs:
- properties:
- commerce_cloud_order_uuid:
- type: string
- shopify_response:
- $ref: '#/components/schemas/hosted_payments_response'
- sfcc_response:
- $ref: '#/components/schemas/sfcc_order_output'
- type: object
- auto_approved:
- description: If merchant has whitelisted, is `true`.
- example: false
- type: boolean
- availability:
- description: Determines if the product is available.
- enum:
- - out_of_stock
- - in_stock
- - pre_order
- example: in_stock
- type: string
- availability_count:
- description: How many are in stock.
- example: '19'
- type: integer
- base_model:
- description: Base model.
- properties:
- CreatedAt:
- format: timestamp
- type: integer
- DeactivatedAt:
- format: timestamp
- nullable: true
- type: integer
- DeactivatedBy:
- format: int64
- nullable: true
- type: integer
- ID:
- format: int64
- type: integer
- UpdatedAt:
- format: timestamp
- type: integer
- type: object
- block_listed:
- description: If merchant has block listed, is `true`.
- example: false
- type: boolean
- can_change_shipping_address:
- description: Defines whether the merchant can update the shipping address after authorization.
- example: true
- type: boolean
- capture:
- description: Deprecated. Use `captures`.
- properties:
- amount:
- $ref: '#/components/schemas/amounts'
- id:
- $ref: '#/components/schemas/capture_id'
- splits:
- description: A list of splits. **Nullable** for Transactions Details.
- items:
- description: A split of fees by type and amount.
- properties:
- amount:
- $ref: '#/components/schemas/amounts'
- type:
- description: |
- **Nullable** for Transactions Details.
- enum:
- - net
- - processing_fee
- - bolt_fee
- - adjustment
- - float
- - reserve
- example: processing_fee
- type: string
- required:
- - amount
- - type
- type: object
- type: array
- status:
- $ref: '#/components/schemas/capture_status'
- required:
- - id
- - status
- - amount
- type: object
- captures:
- description: All captures associated with the transaction. **Nullable** for Transactions Details.
- items:
- $ref: '#/components/schemas/capture'
- type: array
- card_address:
- properties:
- company:
- $ref: '#/components/schemas/company'
- country:
- $ref: '#/components/schemas/country'
- country_code:
- $ref: '#/components/schemas/country_code'
- email:
- $ref: '#/components/schemas/email'
- first_name:
- $ref: '#/components/schemas/first_name'
- id:
- $ref: '#/components/schemas/billing_address_id'
- last_name:
- $ref: '#/components/schemas/last_name'
- locality:
- $ref: '#/components/schemas/locality'
- name:
- $ref: '#/components/schemas/name_person'
- phone:
- $ref: '#/components/schemas/phone'
- postal_code:
- $ref: '#/components/schemas/postal_code'
- region:
- $ref: '#/components/schemas/region'
- street_address1:
- $ref: '#/components/schemas/street_address'
- type: object
- card_expiration_string:
- description: The expiration date of the credit card, expressed as a string.
- example: 12/12/2024
- type: string
- card_number:
- description: The card number. **Nullable** for Transactions Details.
- example: 1111222233334444
- type: integer
- pin:
- description: The PIN for the credit card.
- example: 123
- type: integer
- card_gift:
- description: A gift card.
- properties:
- card_number:
- $ref: '#/components/schemas/card_number'
- pin:
- $ref: '#/components/schemas/pin'
- type: object
- card_priority:
- description: The priority for the card.
- enum:
- - primary
- - listed
- example: primary
- type: string
- cards_gift:
- description: A list of gift cards.
- items:
- $ref: '#/components/schemas/card_gift'
- type: array
- total_amount:
- description: The total amount.
- example: 9900
- type: integer
- display_id:
- description: The displayed ID.
- example: ID-12345
- type: string
- order_reference:
- description: The order reference.
- example: order-12345
- type: string
- metadata:
- additionalProperties:
+ Edit an existing address in a shopper's address book.
+ This endpoint fully replaces the information for an existing address while retaining the same address ID.
+ operationId: editAddress
+ parameters:
+ - $ref: '#/components/parameters/shopper_address_id_path_param'
+ - $ref: '#/components/parameters/x-publishable-key'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/address_account'
+ responses:
+ '200':
+ content:
+ application/json:
+ schema:
+ allOf:
+ - $ref: '#/components/schemas/address_view_account'
+ - properties:
+ default:
+ type: boolean
+ type: object
+ description: Address Updated Successfully
+ security:
+ - OAuth:
+ - bolt.account.manage
+ X-API-Key: []
+ summary: Edit Address
+ tags:
+ - Account
+ /v1/account/exists:
+ get:
+ description: Check whether an account exists using one of `email`, `phone`, or `sha256_email` as the unique identifier.
+ operationId: detectAccount
+ parameters:
+ - $ref: '#/components/parameters/email'
+ - $ref: '#/components/parameters/sha256_email'
+ - $ref: '#/components/parameters/phone'
+ - $ref: '#/components/parameters/x_publishable_key_required'
+ responses:
+ '200':
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/v1_accounts_view'
+ description: Has Bolt Account
+ '422':
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/errors_bolt_api_response'
+ description: Missing Query Parameter
+ summary: Detect Account
+ tags:
+ - Account
+ security: []
+ /v1/account/payment_methods:
+ post:
+ description: |
+ Add a payment method to a shopper's Bolt account Wallet. For security purposes, this request must come from your backend because authentication requires the use of your private key.
+
+ **Note**: Before using this API, the credit card details must be tokenized using Bolt's JavaScript library function, which is documented in [Install the Bolt Tokenizer](https://help.bolt.com/developers/references/bolt-tokenizer).
+ operationId: addPaymentMethod
+ parameters:
+ - $ref: '#/components/parameters/x-publishable-key'
+ - $ref: '#/components/parameters/idempotency_key'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ allOf:
+ - $ref: '#/components/schemas/credit_card_account'
+ - properties:
+ currency:
+ description: This can be left empty. A 3-digit ISO code for currency that will be used in the credit card authorization.
+ type: string
+ example: USD
+ type: object
+ responses:
+ '200':
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/saved_credit_card_view'
+ description: Payment Method Added
+ security:
+ - OAuth:
+ - bolt.account.manage
+ X-API-Key: []
+ summary: Add Payment Method
+ tags:
+ - Account
+ /v1/account/payment_methods/{payment_method_id}:
+ delete:
+ description: Delete a saved payment method from a shopper's Bolt account Wallet.
+ operationId: deletePaymentMethod
+ parameters:
+ - $ref: '#/components/parameters/shopper_payment_method_id_path_param'
+ - $ref: '#/components/parameters/x-publishable-key'
+ responses:
+ '200':
+ description: Success
+ '403':
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/errors_bolt_api_response'
+ description: Forbidden
+ '404':
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/errors_bolt_api_response'
+ description: Not Found
+ security:
+ - OAuth:
+ - bolt.account.manage
+ X-API-Key: []
+ summary: Delete Payment Method
+ tags:
+ - Account
+ /v1/merchant/callbacks:
+ get:
+ description: Retrieves callbacks URLs for a Bolt merchant division.
+ operationId: getMerchantCallbacks
+ parameters:
+ - $ref: '#/components/parameters/division_id'
+ responses:
+ '200':
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/merchant_callbacks_view'
+ description: Merchant Callbacks Retrieved
+ '400':
+ $ref: '#/components/responses/merchant_callbacks_error_400'
+ '403':
+ $ref: '#/components/responses/merchant_callbacks_error_403'
+ security:
+ - X-API-Key: []
+ summary: Get Callback URLs
+ tags:
+ - Configuration
+ post:
+ description: Configure callbacks URLs for a Bolt merchant division. This will store or override only the callback URLs that are specified in the request. Operations are fully transactional.
+ operationId: setMerchantCallbacks
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/merchant_callbacks_input'
+ responses:
+ '200':
+ description: Successfully sets callback URLs. No JSON schema is expected.
+ '400':
+ $ref: '#/components/responses/merchant_callbacks_error_400'
+ '403':
+ $ref: '#/components/responses/merchant_callbacks_error_403'
+ '422':
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/errors_bolt_api_response'
+ description: Request did not pass input validation. Check required fields are populated & meet input requirements.
+ security:
+ - X-API-Key: []
+ summary: Set Callback URLs
+ tags:
+ - Configuration
+ /v1/merchant/identifiers:
+ get:
+ description: This endpoint returns the merchant's public ID and the [publishable key](https://help.bolt.com/developers/tools/api-keys/) related to the merchant division.
+ operationId: getMerchantIdentifiers
+ responses:
+ '200':
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/merchant_identifiers_view'
+ description: Merchant Identifiers Retrieved
+ '403':
+ $ref: '#/components/responses/merchant_identifier_error_403'
+ security:
+ - X-API-Key: []
+ summary: Get Merchant Identifiers
+ tags:
+ - Configuration
+ /v1/merchant/orders:
+ post:
+ description: Make a request to this endpoint to create a Bolt order, generate a Bolt order token, and initiate the checkout process. A Bolt order token is required for Bolt orders; see Non-Bolt orders for alternative use cases.
+ operationId: createOrderToken
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/order_create'
+ description: Generate Order Token
+ responses:
+ '200':
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/i_order_view'
+ description: Token Generation Successful
+ '400':
+ $ref: '#/components/responses/order_generate_error_400'
+ '403':
+ $ref: '#/components/responses/order_generate_error_403'
+ '422':
+ $ref: '#/components/responses/order_generate_error_422'
+ security:
+ - X-API-Key: []
+ summary: Create Order Token
+ tags:
+ - Orders
+ /v1/merchant/statement:
+ post:
+ description: Get a pre-signed URL for the requested statement file.
+ operationId: getStatements
+ requestBody:
+ $ref: '#/components/requestBodies/statements_view'
+ responses:
+ '200':
+ $ref: '#/components/responses/statements_view'
+ '403':
+ $ref: '#/components/responses/statements_view_error_403'
+ '404':
+ $ref: '#/components/responses/statements_view_error_404'
+ '422':
+ $ref: '#/components/responses/statements_view_error_422'
+ security:
+ - X-API-Key:
+ - X-API-Key
+ summary: Fetch a Statement
+ tags:
+ - Statements
+ /v1/merchant/track_shipment:
+ post:
+ description: |
+ Send the carrier and order tracking number to Bolt (after a label has been printed). Bolt then uses EasyPost to forward ongoing tracking event updates to the shopper. This request must include **all** items included in the shipment; their references must also match those found in the original cart generation.
+ operationId: trackOrder
+ requestBody:
+ $ref: '#/components/requestBodies/order_track'
+ responses:
+ '200':
+ $ref: '#/components/responses/order_track'
+ '400':
+ $ref: '#/components/responses/order_track_error_400'
+ '422':
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/errors_bolt_api_response'
+ description: Generic Error Schema
+ security:
+ - X-API-Key:
+ - X-API-Key
+ summary: Send order tracking details
+ tags:
+ - Orders
+ /v1/merchant/transactions/authorize:
+ post:
+ description: |
+ This endpoint authorizes card payments and has three main use cases:
+ * • Authorize a payment using an unsaved payment method for a guest or logged-in shopper.
+ * • Authorize a payment using a saved payment method for a logged-in shopper.
+ * • Re-charge a previous transaction using the `credit_card_id` of the transaction.
+ operationId: authorizeTransaction
+ parameters:
+ - $ref: '#/components/parameters/x-publishable-key'
+ - $ref: '#/components/parameters/idempotency_key'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/merchant_credit_card_authorization'
+ - $ref: '#/components/schemas/merchant_credit_card_authorization_recharge'
+ description: |
+ **Authorize a Transaction**
+ * • `merchant_credit_card_authorization`: For authorizing with a new, unsaved card. This can be for a guest checkout flow, one-time payment, or an existing Bolt shopper.
+ * • `merchant_credit_card_authorization_recharge`: For authorizing a card using a shoppers saved payment methods.
+ * • **Anytime the shopper is paying while logged-in attach their OAuth `access_token` to the request.**
+ responses:
+ '200':
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/i_authorize_result_view'
+ description: Authorization Successful
+ security:
+ - OAuth: []
+ X-API-Key: []
+ summary: Authorize a Card
+ tags:
+ - Transactions
+ /v1/merchant/transactions/capture:
+ post:
+ description: |
+ This captures funds for the designated transaction. A capture can be done for any partial amount or for the total authorized amount.
+
+ Although the response returns the standard `transaction_view` object, only `captures` and either `id` or `reference` are needed.
+ operationId: captureTransaction
+ parameters:
+ - $ref: '#/components/parameters/idempotency_key'
+ requestBody:
+ $ref: '#/components/requestBodies/capture_transaction'
+ description: Capture a Transaction
+ responses:
+ '200':
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/transaction_view'
+ description: Capture Successful
+ '403':
+ $ref: '#/components/responses/transaction_capture_error_403'
+ '404':
+ $ref: '#/components/responses/transaction_capture_error_404'
+ '422':
+ content:
+ application/json:
+ schema:
+ properties:
+ errors:
+ items:
+ properties:
+ code:
+ example: 1000001
+ type: number
+ field:
+ example: transaction_id
+ type: string
+ message:
+ example: '`TA8hLkJh4db4JJ` must be a valid public id of type transaction'
+ type: string
+ type: object
+ type: array
+ result:
+ type: object
+ type: object
+ description: Unprocessable Entity
+ security:
+ - X-API-Key: []
+ summary: Capture a Transaction
+ tags:
+ - Transactions
+ /v1/merchant/transactions/credit:
+ post:
+ description: This refunds a captured transaction. Refunds can be done for any partial amount or for the total authorized amount. These refunds are processed synchronously and return information about the refunded transaction in the standard `transaction_view` object.
+ operationId: refundTransaction
+ parameters:
+ - $ref: '#/components/parameters/idempotency_key'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/transaction_credit'
+ description: Refund a Transaction
+ responses:
+ '200':
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/transaction_view'
+ description: Refund Successful
+ '422':
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/errors_bolt_api_response'
+ description: Generic Error Schema
+ security:
+ - X-API-Key: []
+ summary: Refund a Transaction
+ tags:
+ - Transactions
+ /v1/merchant/transactions/review:
+ post:
+ description: This endpoint is used to manually approve or reject orders for a specified transaction.
+ operationId: reviewTransaction
+ parameters:
+ - $ref: '#/components/parameters/idempotency_key'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/merchant_credit_card_review'
+ description: Review a Transaction
+ responses:
+ '200':
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/transaction_details_view'
+ description: Transaction Details Received
+ '403':
+ $ref: '#/components/responses/transaction_review_error_403'
+ '404':
+ $ref: '#/components/responses/transaction_review_error_404'
+ '422':
+ $ref: '#/components/responses/transaction_review_error_422'
+ security:
+ - X-API-Key: []
+ summary: Review Transaction
+ tags:
+ - Transactions
+ /v1/merchant/transactions/void:
+ post:
+ description: |
+ This voids the authorization for a given transaction. Voids must be completed before the authorization is captured.
+ In the request, either `transaction_id` or `transaction_reference` is required.
+ Although the response returns the standard `transaction_view` object, only `status` and either `id` or `reference` are needed.
+ operationId: voidTransaction
+ parameters:
+ - $ref: '#/components/parameters/idempotency_key'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/credit_card_void'
+ description: Void a Transaction
+ responses:
+ '200':
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/transaction_view'
+ description: Void Successful
+ '403':
+ $ref: '#/components/responses/transaction_void_error_403'
+ '404':
+ $ref: '#/components/responses/transaction_void_error_404'
+ security:
+ - X-API-Key: []
+ summary: Void a Transaction
+ tags:
+ - Transactions
+ /v1/merchant/transactions/{REFERENCE}:
+ get:
+ description: |
+ This allows you to pull the full transaction details for a given transaction.
+
+ **Note**: All objects and fields marked `required` in the Transaction Details response are also **nullable**. This includes any sub-components (objects or fields) also marked `required`.
+ operationId: getTransactionDetails
+ parameters:
+ - $ref: '#/components/parameters/transaction_reference_path_param'
+ responses:
+ '200':
+ $ref: '#/components/responses/transaction_details'
+ '403':
+ $ref: '#/components/responses/transaction_details_error_403'
+ '422':
+ $ref: '#/components/responses/transaction_details_error_422'
+ security:
+ - X-API-Key: []
+ summary: Transaction Details
+ tags:
+ - Transactions
+ patch:
+ description: This allows you to update certain transaction properties post-authorization.
+ operationId: updateTransaction
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/transaction_update_input'
+ description: Update a Transaction
+ parameters:
+ - $ref: '#/components/parameters/transaction_reference_path_param'
+ - $ref: '#/components/parameters/idempotency_key'
+ responses:
+ '200':
+ $ref: '#/components/responses/transaction_details'
+ '403':
+ $ref: '#/components/responses/transaction_details_error_403'
+ '404':
+ $ref: '#/components/responses/transaction_details_error_404'
+ security:
+ - X-API-Key: []
+ summary: Update a Transaction
+ tags:
+ - Transactions
+ /v1/oauth/token:
+ post:
+ description: |
+ Endpoint for receiving access, ID, and refresh tokens from Bolt's OAuth server.
+
+ To use this endpoint, first use the Authorization Code Request flow by using the `authorization_code` Grant Type (`grant_type`). Then, in the event that you would need a second or subsequent code, use the `refresh_token` value returned from a successful request as the `refresh_token` input value in your subsequent `refresh_token` Grant Type (`grant_type`) request.
+
+ **Reminder - the Content-Type of this request must be application/x-www-form-urlencoded**
+ operationId: OAuthToken
+ parameters:
+ - $ref: '#/components/parameters/x-publishable-key'
+ requestBody:
+ content:
+ application/x-www-form-urlencoded:
+ examples:
+ authorization_code_request:
+ value:
+ client_id: PUBLISHABLE_KEY_PLACEHOLDER
+ client_secret: API_KEY_PLACEHOLDER
+ code: AUTH_CODE_PLACEHOLDER
+ grant_type: authorization_code
+ scope: bolt.account.manage+openid
+ refresh_token_request:
+ value:
+ client_id: PUBLISHABLE_KEY_PLACEHOLDER
+ client_secret: API_KEY_PLACEHOLDER
+ grant_type: refresh_token
+ refresh_token: REFRESH_TOKEN_PLACEHOLDER
+ scope: bolt.account.view
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/o_auth_token_input'
+ - $ref: '#/components/schemas/o_auth_token_input_refresh'
+ responses:
+ '200':
+ content:
+ application/json:
+ examples:
+ authorization_code_response:
+ value:
+ access_token: $ACCESS_TOKEN
+ expires_in: 3600
+ id_token: $ID_TOKEN
+ refresh_token: $REFRESH_TOKEN
+ refresh_token_scope: bolt.account.view
+ scope: bolt.account.manage
+ token_type: bearer
+ refresh_token_response:
+ value:
+ access_token: $NEW_ACCESS_TOKEN
+ expires_in: 3600
+ refresh_token: $NEW_REFRESH_TOKEN
+ refresh_token_scope: bolt.account.view
+ scope: bolt.account.view
+ token_type: bearer
+ schema:
+ $ref: '#/components/schemas/o_auth_token_response'
+ description: OAuth token response.
+ '400':
+ $ref: '#/components/responses/oauth_400'
+ '403':
+ $ref: '#/components/responses/oauth_403'
+ '422':
+ $ref: '#/components/responses/oauth_422'
+ summary: OAuth Token Endpoint
+ tags:
+ - OAuth
+ /v1/shipments/mock_bolt_shipping:
+ post:
+ description: This endpoint simulates tracking an order's shipment and is for testing purposes only.
+ operationId: testShipping
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/mock_tracking_input'
+ responses:
+ '200':
+ description: Success - No Details
+ '400':
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/errors_bolt_api_response'
+ description: OrderTrackingTesting Generic Failure
+ '422':
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/errors_bolt_api_response'
+ description: Unprocessable Entity
+ security:
+ - X-API-Key: []
+ summary: Test Shipping
+ tags:
+ - Testing
+ /v1/webhooks:
+ get:
+ description: Find webhook configurations belonging to a merchant division. Results are limited to only show webhooks authorized by the X-API-Key.
+ operationId: queryWebhooks
+ parameters:
+ - $ref: '#/components/parameters/division_id'
+ responses:
+ '200':
+ content:
+ application/json:
+ schema:
+ properties:
+ webhooks:
+ items:
+ $ref: '#/components/schemas/webhook'
+ type: array
+ description: Success
+ '400':
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/errors_bolt_api_response'
+ description: BAD REQUEST. Request is malformed or invalid values are detected.
+ '403':
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/errors_bolt_api_response'
+ description: FORBIDDEN. Not authorized to query webhook for this entity.
+ '404':
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/errors_bolt_api_response'
+ description: NOT FOUND. Unable to find webhook.
+ security:
+ - X-API-Key: []
+ summary: Query Webhooks
+ tags:
+ - Webhooks
+ post:
+ description: Create a new webhook to receive notifications from Bolt about various events, such as transaction status. Webhooks must have unique configuration.
+ operationId: createWebhook
+ requestBody:
+ content:
+ application/json:
+ schema:
+ oneOf:
+ - $ref: '#/components/schemas/event_group_create_webhook'
+ - $ref: '#/components/schemas/events_array_create_webhook'
+ description: Webhook that receives notifications.
+ required: true
+ responses:
+ '200':
+ content:
+ application/json:
+ schema:
+ properties:
+ webhook_id:
+ $ref: '#/components/schemas/webhook_id'
+ required:
+ - webhook_id
+ type: object
+ description: Success
+ '400':
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/errors_bolt_api_response'
+ description: BAD REQUEST. Request is malformed or invalid values are detected.
+ '403':
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/errors_bolt_api_response'
+ description: FORBIDDEN. Not authorized to create a webhook for this entity.
+ '422':
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/errors_bolt_api_response'
+ description: UNPROCESSABLE ENTITY. Not allowed to receive duplicate notifications. This is to safeguard a webhook listener from receiving duplicate events. Use GET /v1/webhooks and DELETE /v1/webhooks to check for and delete duplicate webhooks.
+ security:
+ - X-API-Key: []
+ summary: Create Bolt Webhook
+ tags:
+ - Webhooks
+ /v1/webhooks/{webhook_id}:
+ delete:
+ description: Delete a Bolt webhook. Provide an authorized X-API-Key to perform this action.
+ operationId: deleteWebhook
+ parameters:
+ - description: Webhook ID
+ in: path
+ name: webhook_id
+ required: true
+ schema:
+ $ref: '#/components/schemas/webhook_id'
+ responses:
+ '200':
+ description: Success
+ '400':
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/errors_bolt_api_response'
+ description: BAD REQUEST. Request is malformed or invalid values are detected.
+ '403':
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/errors_bolt_api_response'
+ description: FORBIDDEN. Not authorized to perform the operation on this resource.
+ '404':
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/errors_bolt_api_response'
+ description: NOT FOUND. Unable to find webhook.
+ security:
+ - X-API-Key: []
+ summary: Delete a Bolt Webhook
+ tags:
+ - Webhooks
+ get:
+ description: Get Webhook information by its Webhook ID. Results only include webhooks authorized by the X-API-Key.
+ operationId: getWebhook
+ parameters:
+ - description: Webhook ID
+ in: path
+ name: webhook_id
+ required: true
+ schema:
+ $ref: '#/components/schemas/webhook_id'
+ responses:
+ '200':
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/webhook'
+ description: Success
+ '400':
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/errors_bolt_api_response'
+ description: BAD REQUEST. Request is malformed or invalid values are detected.
+ '403':
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/errors_bolt_api_response'
+ description: FORBIDDEN. Not authorized to perform the operation on this resource.
+ '404':
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/errors_bolt_api_response'
+ description: NOT FOUND. Unable to find webhook.
+ security:
+ - X-API-Key: []
+ summary: Get Webhook
+ tags:
+ - Webhooks
+ /v1/testing/shopper/create:
+ post:
+ description: Create a Bolt shopper account for testing purposes. Available for sandbox use only and the created account will be recycled after a certain time.
+ operationId: createTestingShopperAccount
+ parameters:
+ - $ref: '#/components/parameters/x-publishable-key'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/testing_account_request'
+ responses:
+ '200':
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/testing_account_details'
+ description: Testing Account Created
+ security:
+ - X-API-Key: []
+ summary: Create Testing Shopper Account
+ tags:
+ - Testing
+ /v1/testing/card_token:
+ get:
+ description: This endpoint fetches a new credit card token for Bolt's universal test credit card number `4111 1111 1111 1004`. This is for testing and is available only in sandbox.
+ operationId: getTestCreditCardToken
+ responses:
+ '200':
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ token:
+ description: The newly generated credit card token.
+ type: string
+ example: 7i8322df93jsor663bsf02be798e672afd9360a81d203rc97778ff4bddedertg
+ expiry:
+ description: The date at which the token expires. A token must be used within 15 minutes of creation.
+ type: integer
+ example: 1671140825305
+ last4:
+ description: The last 4 digits of the card number.
+ type: string
+ example: '1004'
+ bin:
+ description: The credit card bin.
+ type: string
+ example: '411111'
+ network:
+ description: The credit card network.
+ type: string
+ example: visa
+ description: Successfully Fetched Credit Card Token
+ security:
+ - X-API-Key: []
+ summary: Fetch a Test Credit Card Token
+ tags:
+ - Testing
+components:
+ parameters:
+ x-publishable-key:
+ description: The publicly viewable identifier used to identify a merchant division. This key is found in the Developer > API section of the Bolt Merchant Dashboard [RECOMMENDED].
+ in: header
+ name: X-Publishable-Key
+ required: false
+ schema:
type: string
- description: You can add your own metadata.
- example: This is metadata.
- type: object
- cart:
- properties:
- billing_address:
- $ref: '#/components/schemas/address'
- billing_address_id:
- $ref: '#/components/schemas/billing_address_id'
- items:
- $ref: '#/components/schemas/items'
- tax_amount:
- $ref: '#/components/schemas/tax_amount'
- total_amount:
- $ref: '#/components/schemas/total_amount'
- display_id:
- $ref: '#/components/schemas/display_id'
- order_reference:
- $ref: '#/components/schemas/order_reference'
- metadata:
- $ref: '#/components/schemas/metadata'
- type: object
- shipping_address:
- properties:
- company:
- $ref: '#/components/schemas/company'
- country:
- $ref: '#/components/schemas/country'
- country_code:
- $ref: '#/components/schemas/country_code'
- email:
- $ref: '#/components/schemas/email'
- first_name:
- $ref: '#/components/schemas/first_name'
- id:
- $ref: '#/components/schemas/shipping_address_id'
- last_name:
- $ref: '#/components/schemas/last_name'
- locality:
- $ref: '#/components/schemas/locality'
- name:
- $ref: '#/components/schemas/name_person'
- phone:
- $ref: '#/components/schemas/phone'
- postal_code:
- $ref: '#/components/schemas/postal_code'
- region:
- $ref: '#/components/schemas/region'
- street_address1:
- $ref: '#/components/schemas/street_address'
- street_address2:
- $ref: '#/components/schemas/street_address'
- street_address3:
- $ref: '#/components/schemas/street_address'
- street_address4:
- $ref: '#/components/schemas/street_address'
- type: object
- currency:
- properties:
- currency:
- $ref: '#/components/schemas/currency_iso'
- currency_symbol:
- $ref: '#/components/schemas/currency_symbol'
- type: object
- discount_code:
- description: The discount code input by a shopper.
- example: SUMMERFUN15
- type: string
- discount_codes:
- description: A list of discount codes.
- items:
- $ref: '#/components/schemas/discount_code'
- type: array
- cart_shipments:
- description: A list of shipments.
- items:
- $ref: '#/components/schemas/cart_shipment'
- type: array
- cart_discounts:
- properties:
- billing_address:
- $ref: '#/components/schemas/shipping_address'
- currency:
- $ref: '#/components/schemas/currency'
- discount_amount:
- $ref: '#/components/schemas/amounts'
- discounts:
- $ref: '#/components/schemas/discount_codes'
- display_id:
- $ref: '#/components/schemas/display_id'
- items:
- $ref: '#/components/schemas/items'
- order_reference:
- $ref: '#/components/schemas/order_reference'
- shipments:
- $ref: '#/components/schemas/cart_shipments'
- shipping_amount:
- $ref: '#/components/schemas/amounts'
- subtotal_amount:
- $ref: '#/components/schemas/amounts'
- tax_amount:
- $ref: '#/components/schemas/amounts'
- total_amount:
- $ref: '#/components/schemas/amounts'
- type: object
- cart_limited:
- description: Limited cart view.
- properties:
- billing_address:
- $ref: '#/components/schemas/shipping_address'
- display_id:
- $ref: '#/components/schemas/display_id'
- order_reference:
- $ref: '#/components/schemas/order_reference'
- shipments:
- $ref: '#/components/schemas/cart_shipment'
- type: object
- cart_url:
- description: The URL for the cart.
- example: https://boltswagstore.com/orders/123456765432
- type: string
- discount_description:
- description: The discount code's description.
- example: Take 15% off of your order.
- type: string
- discount_uri:
- description: The discount's URI.
- example: https://boltswagstore.com/discounts/#12345
- type: string
- discount_category:
- description: The discount's category.
- enum:
- - coupon
- - gift_card
- - managed_giftcard
- - store_credit
- - automatic_promotion
- - membership_discount
- - membership_giftcard
- - subscription_discount
- - rewards_discount
- - unknown
- example: coupon
- type: string
- is_free_shipping:
- example: false
- type: boolean
- maximum_cost_allowed:
- example: 100
- type: integer
- discount_free_shipping:
- description: Contains free shipping settings and limitations.
- properties:
- is_free_shipping:
- $ref: '#/components/schemas/is_free_shipping'
- maximum_cost_allowed:
- $ref: '#/components/schemas/maximum_cost_allowed'
- type: object
- discounts:
- description: A list of discounts.
- items:
- properties:
- amount:
- $ref: '#/components/schemas/amounts'
- code:
- $ref: '#/components/schemas/discount_code'
- description:
- $ref: '#/components/schemas/discount_description'
- details_url:
- $ref: '#/components/schemas/discount_uri'
- discount_category:
- $ref: '#/components/schemas/discount_category'
- free_shipping:
- $ref: '#/components/schemas/discount_free_shipping'
- reference:
- $ref: '#/components/schemas/discount_code'
- type: object
- type: array
- in_store_shipments:
- items:
- $ref: '#/components/schemas/in_store_shipment2'
- type: array
- order_url:
- example: https://example.com/orders/2345678
+ idempotency_key:
+ description: A key created by merchants that ensures `POST` and `PATCH` requests are only performed once. [Read more about Idempotent Requests here](/developers/references/idempotency/).
+ in: header
+ name: Idempotency-Key
+ required: false
+ schema:
+ type: string
+ shopper_address_id_path_param:
+ description: The ID for an address in the shopper's Address Book.
+ in: path
+ name: id
+ required: true
+ schema:
+ type: string
+ email:
+ description: The shopper's email address is the primary mechanism for detecting an account. You **must** provide either a value for this parameter or for `sha256_email`.
+ in: query
+ name: email
+ required: false
+ schema:
+ type: string
+ sha256_email:
+ description: The sha256 hash of the shopper's normalized email address can be used to detect an account instead of `email`.
+ in: query
+ name: sha256_email
+ required: false
+ schema:
+ type: string
+ phone:
+ description: The shopper's phone number. Includes country code (e.g. +1); does not include dashes or spaces. Can be used to detect an account instead of `sha256_email` or `email`.
+ in: query
+ name: phone
+ required: false
+ schema:
+ type: string
+ x_publishable_key_required:
+ description: The publicly viewable identifier used to identify a merchant division. This key is found in the Developer > API section of the Bolt Merchant Dashboard.
+ in: header
+ name: X-Publishable-Key
+ required: true
+ schema:
+ type: string
+ shopper_payment_method_id_path_param:
+ description: The ID for a payment method in the shopper's Bolt account Wallet. This ID can be obtained using [Get Account Details](#tag/Account/operation/GetAccountDetails).
+ in: path
+ name: payment_method_id
+ required: true
+ schema:
+ type: string
+ division_id:
+ description: The unique ID associated to the merchant's Bolt Account division; Merchants can have different divisions to suit multiple use cases (storefronts, pay-by-link, phone order processing). You can view and switch between these divisions from the Bolt Merchant Dashboard.
+ in: query
+ name: division_id
+ required: true
+ schema:
+ type: string
+ transaction_reference_path_param:
+ description: This is the Bolt transaction reference. (ex. N7Y3-NFKC-VFRF)
+ in: path
+ name: REFERENCE
+ required: true
+ schema:
+ type: string
+ bolt-consumer-shopper-login-device-token:
+ description: The Shopper's OAuth Token from their current active session.
+ in: header
+ name: bolt_consumer_shopper_login_device_token
+ required: true
+ schema:
+ type: string
+ bolt_hmac_param:
+ description: Bolt sends a signed HMAC for hook verification
+ in: header
+ name: X-Bolt-Hmac-Sha256
+ schema:
+ type: string
+ bolt_product_id:
+ description: Bolt's unique identifier for a given product.
+ in: query
+ name: bolt_product_id
+ required: false
+ schema:
+ type: string
+ code:
+ description: A temporary authorization code that must be exchanged for an ID token obtained from Bolt's `/oauth/token` endpoint.
+ in: query
+ name: code
+ required: true
+ schema:
+ type: string
+ cursor:
+ description: The url of the next product variant to load when multiple variants are returned and paginated.
+ in: query
+ name: cursor
+ required: false
+ schema:
+ type: string
+ limit:
+ description: The maximum number of product results returned.
+ in: query
+ name: limit
+ required: false
+ schema:
+ type: string
+ merchant-division-id:
+ description: The public ID for a given merchant division of your Bolt account.
+ in: query
+ name: MerchantDivisionPublicID
+ required: true
+ schema:
+ type: string
+ merchant-id:
+ description: The public ID of the merchant.
+ in: query
+ name: MerchantID
+ required: false
+ schema:
+ type: string
+ merchant_product_id:
+ description: A merchant's unique ID for a given product.
+ in: query
+ name: merchant_product_id
+ schema:
+ type: string
+ order_id:
+ description: The order token associated to the shopper logging into a Bolt Account.
+ in: query
+ name: order_id
+ required: true
+ schema:
+ type: string
+ scope:
+ description: Set to `openid`.
+ in: query
+ name: scope
+ required: true
+ schema:
+ type: string
+ sku:
+ description: A product's sku.
+ in: query
+ name: sku
+ required: false
+ schema:
+ type: string
+ state:
+ description: A randomly generated 8-character string.
+ in: query
+ name: state
+ required: true
+ schema:
+ type: string
+ x-authorization-signature:
+ description: Generated signature after using the signing secret and nonce by the publisher.
+ in: header
+ name: X-Authorization-Signature
+ required: true
+ schema:
+ type: string
+ x-publisher-key:
+ description: Unique identifier for the publisher.
+ in: header
+ name: X-Publisher-Key
+ required: true
+ schema:
+ type: string
+ x_authorization_signature:
+ description: Generated signature after using the signing secret and nonce by the publisher.
+ in: header
+ name: X-Authorization-Signature
+ required: true
+ schema:
+ type: string
+ x_nonce_param:
+ description: Unique 12-16 digit for a publisher or product catalog request.
+ in: header
+ name: X-Nonce
+ required: true
+ schema:
+ format: uuid
+ type: string
+ x_publishable_key:
+ description: The publicly viewable identifier used to identify a merchant division. This key is found in the Developer > API section of the Bolt Merchant Dashboard [RECOMMENDED].
+ in: header
+ name: X-Publishable-Key
+ required: false
+ schema:
+ type: string
+ x_publisher_key:
+ description: Unique identifier for the publisher.
+ in: header
+ name: X-Publisher-Key
+ required: true
+ schema:
+ type: string
+ schemas:
+ door_code:
+ description: The building door code or community gate code.
+ example: '123456'
+ maxLength: 1024
+ nullable: true
type: string
- shipment:
- description: A cart that is being prepared for shipment
- properties:
- carrier:
- $ref: '#/components/schemas/carrier'
- cost:
- $ref: '#/components/schemas/amounts'
- default:
- $ref: '#/components/schemas/default'
- estimated_delivery_date:
- $ref: '#/components/schemas/estimated_delivery_date'
- expedited:
- $ref: '#/components/schemas/expedited'
- gift_options:
- $ref: '#/components/schemas/gift_options'
- id:
- $ref: '#/components/schemas/shipping_address_id'
- package_dimension:
- $ref: '#/components/schemas/package_dimension'
- package_type:
- $ref: '#/components/schemas/package_type'
- package_weights:
- $ref: '#/components/schemas/package_weights'
- reference:
- $ref: '#/components/schemas/reference'
- service:
- $ref: '#/components/schemas/service'
- shipping_address:
- $ref: '#/components/schemas/consumer_billing_address'
- shipping_method:
- $ref: '#/components/schemas/shipping_method'
- signature:
- $ref: '#/components/schemas/signature'
- tax_amount:
- $ref: '#/components/schemas/amounts'
- total_weight:
- $ref: '#/components/schemas/total_weight'
- type: object
- shipments2:
- items:
- $ref: '#/components/schemas/shipment'
- type: array
- cart_order:
- properties:
- billing_address:
- $ref: '#/components/schemas/consumer_billing_address'
- cart_url:
- $ref: '#/components/schemas/cart_url'
- currency:
- properties:
- currency:
- $ref: '#/components/schemas/currency_iso'
- currency_symbol:
- $ref: '#/components/schemas/currency_symbol'
- type: object
- discount_amount:
- $ref: '#/components/schemas/amounts'
- discounts:
- $ref: '#/components/schemas/discounts'
- display_id:
- $ref: '#/components/schemas/display_id'
- in_store_shipments:
- $ref: '#/components/schemas/in_store_shipments'
- items:
- $ref: '#/components/schemas/items'
- merchant_order_url:
- $ref: '#/components/schemas/order_url'
- metadata:
- $ref: '#/components/schemas/metadata_component'
- order_description:
- example: string
- type: string
- order_reference:
- $ref: '#/components/schemas/order_reference'
- shipments:
- $ref: '#/components/schemas/shipments2'
- shipping_amount:
- $ref: '#/components/schemas/amounts'
- subtotal_amount:
- $ref: '#/components/schemas/amounts'
- tax_amount:
- $ref: '#/components/schemas/amounts'
- total_amount:
- $ref: '#/components/schemas/amounts'
- transaction_reference:
- $ref: '#/components/schemas/transaction_reference'
- required:
- - currency
- - subtotal_amount
- - total_amount
- type: object
- order_display_id:
- description: The order reference.
- example: order-12345
+ email:
+ description: An email address.
+ example: alan.watts@example.com
+ format: email
type: string
- cart_order_generated:
- properties:
- discounts:
- $ref: '#/components/schemas/discounts'
- display_id:
- $ref: '#/components/schemas/order_display_id'
- items:
- $ref: '#/components/schemas/items'
- order_reference:
- $ref: '#/components/schemas/order_reference'
- total_amount:
- $ref: '#/components/schemas/amounts'
- type: object
- product_name_id:
- description: The product's unique ID associated to the `product.properties.name_id` from the Get Inventory call.
- example: hat-123
+ maxLength: 255
+ phone:
+ description: A phone number following E164 standards, in its globalized format, i.e. prepended with a plus sign.
+ example: '+12125550199'
+ maxLength: 16
type: string
- product_value_id:
- description: The product's unique value ID associated to the `product.properties.value_id` from the Get Inventory call.
- example: 4770234
- type: integer
- publisher_properties:
- description: Properties associated to the item.
- properties:
- NameID:
- $ref: '#/components/schemas/product_name_id'
- ValueID:
- $ref: '#/components/schemas/product_value_id'
- type: object
- publisher_item:
- description: An item with properties.
- properties:
- BoltProductID:
- $ref: '#/components/schemas/bolt_product_id'
- SKU:
- $ref: '#/components/schemas/sku'
- Properties:
- $ref: '#/components/schemas/publisher_properties'
- Quantity:
- $ref: '#/components/schemas/quantity'
- type: object
- publisher_items:
- description: A list of items.
- items:
- $ref: '#/components/schemas/publisher_item'
- type: array
- cart_publisher:
- properties:
- Items:
- $ref: '#/components/schemas/publisher_items'
- type: object
- cart_shipment_combined:
- description: A cart that is being prepared for shipment
- properties:
- currency:
- $ref: '#/components/schemas/currency_iso'
- display_id:
- $ref: '#/components/schemas/display_id'
- items:
- $ref: '#/components/schemas/items'
- metadata:
- $ref: '#/components/schemas/metadata_component'
- order_reference:
- $ref: '#/components/schemas/order_reference'
- total_amount:
- $ref: '#/components/schemas/total_amount'
- type: object
- discounts_transaction_authorize:
- description: A list of discounts.
- items:
- properties:
- amount:
- $ref: '#/components/schemas/amount'
- code:
- $ref: '#/components/schemas/discount_code'
- description:
- $ref: '#/components/schemas/discount_description'
- details_url:
- $ref: '#/components/schemas/discount_uri'
- discount_category:
- $ref: '#/components/schemas/discount_category'
- free_shipping:
- $ref: '#/components/schemas/discount_free_shipping'
- reference:
- $ref: '#/components/schemas/discount_code'
- type: object
- type: array
- cart_transaction_authorize:
- properties:
- billing_address:
- $ref: '#/components/schemas/consumer_billing_address'
- currency:
- $ref: '#/components/schemas/currency_iso'
- discounts:
- $ref: '#/components/schemas/discounts_transaction_authorize'
- items:
- $ref: '#/components/schemas/items'
- order_reference:
- $ref: '#/components/schemas/order_reference'
- shipments:
- $ref: '#/components/schemas/shipments2'
- tax_amount:
- $ref: '#/components/schemas/amount'
- total_amount:
- $ref: '#/components/schemas/amount'
- type: object
- cart_transaction_recharge:
- properties:
- currency:
- $ref: '#/components/schemas/currency_iso'
- order_reference:
- $ref: '#/components/schemas/order_reference'
- total_amount:
- $ref: '#/components/schemas/amount'
- type: object
- product_identifiers_view:
- properties:
- GTIN:
- description: The Global Trade Item Number for this product; GTINs are used as barcodes.
- type: string
- MerchantDivisionID:
- description: The unique ID associated to the merchant's Bolt Account division; Merchants can have different divisions to suit multiple use cases (storefronts, pay-by-link, phone order processing). You can view and switch between these divisions from the Bolt Merchant Dashboard.
- example: 3X9aPQ67-YrB
- type: string
- MerchantProductID:
- example: 1ab11ad1111ada1ad11
- type: string
- MerchantVariantID:
- example: 2ab22ad2222ada2ad22
- type: string
- SKU:
- description: Used to define the alpha-numberic Stock Keeping Unit associated with the item as it is mapped to your internal product catalogue.
- example: BOLT-SKU_100
- maxLength: 1024
- nullable: true
- type: string
- type: object
- product_view:
+ address_view:
+ description: The address object returned in the response.
properties:
- Availability:
- enum:
- - in_stock
- - out_of_stock
- - pre_order
- type: string
- AvailabilityCount:
- format: int64
- type: number
- BoltID:
- example: b6452ff5-14d2-526d-a187-e2b3ebc40e76
- type: string
- Brand:
+ company:
+ description: The company name associated with this address.
example: Bolt
type: string
- Description:
- example: The softest tee you'll ever see.
+ country:
+ description: The name of the country associated with this address.
+ example: United States
type: string
- Identifiers:
- $ref: '#/components/schemas/product_identifiers_view'
- Multimedia:
- properties:
- Identifiers:
- $ref: '#/components/schemas/product_identifiers_view'
- ImageURLs:
- items:
- example: https://my-site.com/catalogue/product/image.png
- type: string
- type: array
- Properties:
- items:
- properties:
- Name:
- type: string
- NameID:
- type: string
- Value:
- type: string
- ValueID:
- format: int64
- type: number
- type: object
- type: array
- type: object
- Name:
- example: Bolt Collective T-Shirt
+ country_code:
+ description: The ISO 3166-1 alpha-2 country code associated with this address.
+ example: US
type: string
- Prices:
- items:
- properties:
- Currency:
- example: USD
- type: string
- UnitPriceInCents:
- format: int64
- type: number
- type: object
- type: array
- type: object
- property_metadata_view:
- properties:
- ImageURL:
- example: https://my-site.com/catalogue/product/image.png
+ door_code:
+ $ref: '#/components/schemas/door_code'
+ email_address:
+ description: The email address associated with this address.
+ $ref: '#/components/schemas/email'
+ first_name:
+ description: The given name of the person associated with this address.
+ example: Alan
type: string
- Position:
- format: int
- type: number
- TextLabel:
+ id:
+ description: The unique Bolt ID associated with this address.
type: string
- type: object
- property_value_view:
- properties:
- Metadata:
- $ref: '#/components/schemas/property_metadata_view'
- Value:
+ last_name:
+ description: The surname of the person associated with this address.
+ example: Watts
type: string
- ValueID:
+ locality:
+ description: The city name details associated with this address.
+ example: Brooklyn
type: string
- type: object
- product_properties_map_view:
- description: The map of this product's properties.
- properties:
name:
+ description: The given and surname of the person associated with this address.
+ example: Alan Watts
type: string
- nameID:
+ phone_number:
+ description: The phone number associated with this address.
+ $ref: '#/components/schemas/phone'
+ postal_code:
+ description: The postal or zip code associated with this address.
+ example: '10044'
+ maxLength: 32
type: string
- values:
- $ref: '#/components/schemas/property_value_view'
- type: object
- product_inventory_view:
- properties:
- Current:
- $ref: '#/components/schemas/product_view'
- NextCursor:
+ priority:
+ description: The shopper-indicated priority of this address compared to other addresses on their account.
+ example: primary
+ nullable: true
+ type: string
+ enum:
+ - primary
+ - listed
+ region:
+ description: The region details such as state or province associated with this address.
+ example: NY
+ type: string
+ region_code:
+ description: The the ISO 3166-2 region code associated with this address.
+ example: NY
+ nullable: true
type: string
- Parent:
- $ref: '#/components/schemas/product_view'
- Properties:
- items:
- $ref: '#/components/schemas/product_properties_map_view'
- type: array
- Variants:
- items:
- $ref: '#/components/schemas/product_view'
- type: array
- type: object
- catalog_view:
- properties:
- Catalog:
- items:
- $ref: '#/components/schemas/product_inventory_view'
- type: array
- Cursor:
+ street_address1:
+ description: The street number and street name of the address.
+ example: 888 main street
type: string
- type: object
- chargeback_event_content:
- description: The context for the chargeback.
- example: First Chargeback
- type: string
- chargeback_event_time:
- description: The time this single chargeback event ocurred.
- example: 1485997169003
- type: integer
- consumer_email_verified:
- description: True if Bolt has verified this email in the past. **Nullable** for Transactions Details.
- example: true
- type: boolean
- consumer_platform_account_status:
- description: Used internally for Bolt. Does not display information externally.
- enum:
- - 1
- - 2
- - 3
- type: integer
- credit_card_credit:
- properties:
- Async:
- type: boolean
- CaptureID:
- format: int64
- type: number
- Credit:
+ street_address2:
+ description: Any apartment, floor, or unit details.
+ example: apt 3021
type: string
- CreditCardSettlementID:
- format: int64
- type: number
- CreditCardTransactionID:
- format: int64
- type: number
- MultirefundCreditID:
- format: int64
- type: number
- Status:
- $ref: '#/components/schemas/credit_card_credit_status'
- type: object
- funding_instrument_id:
- description: ID of the funding instrument used.
- format: int64
- type: integer
- credit_card_transaction_stage:
- description: |
- Stage of the credit card transaction:
- * `1` - Auth
- * `2` - Capture
- * `3` - Void
- * `4` - Credit
- * `5` - Legacy value: auth_capture
- * `6` - Submission
- * `7` - Settlement
- enum:
- - 1
- - 2
- - 3
- - 4
- - 5
- - 6
- - 7
- type: integer
- credit_card_transaction:
- description: Details about the credit card transaction.
- properties:
- BaseModel:
- $ref: '#/components/schemas/base_model'
- funding_instrument_id:
- $ref: '#/components/schemas/funding_instrument_id'
- ledger_id:
- description: The ID of the ledger.
- format: int64
+ street_address3:
+ description: Any additional street address details.
+ example: c/o Alicia Watts
nullable: true
- type: integer
- ledger_time:
- description: the time of the ledger.
- format: date-time
+ type: string
+ street_address4:
+ description: Any additional street address details.
+ example: Bridge Street Apartment Building B
nullable: true
- type: integer
- stage:
- $ref: '#/components/schemas/credit_card_transaction_stage'
- transaction_id:
- $ref: '#/components/schemas/transaction_id'
- type: object
- credit_status:
- properties:
- status:
- description: This is the status of the refund.
- enum:
- - succeeded
- - declined
- - error
- - pending
type: string
type: object
- custom_fields2:
- items:
- $ref: '#/components/schemas/custom_fields'
- type: array
- data:
- description: Generic wrapper used by Bolt.
- type: object
- reason:
- description: The reason for the error.
- example: '(cataloginventory): This product is out of stock.'
- type: string
- data_error:
- description: The JSON object with string key, and value any JSON object.
+ shopper_metadata:
+ description: |
+ A key-value pair object that allows users to store arbitrary information associated with an object. For any individual account object, we allow up to 50 keys. Keys can be up to 40 characters long and values can be up to 500 characters long. Metadata should not contain any sensitive customer information, like PII (Personally Identifiable Information). For more information about metadata, see our [documentation](https://help.bolt.com/developers/references/embedded-metadata/).
+ nullable: true
+ example:
+ customer_id: 234
properties:
- reason:
- $ref: '#/components/schemas/reason'
+ additionalProperties:
+ type: string
type: object
- date:
- description: The date.
- example: '1621887799738'
- type: integer
- description:
- description: The product's description.
- example: Very beautiful and chic.
- type: string
- discount_reference:
- description: The discount's reference.
- example: discount-1234
+ account_details_address_view:
+ description: The address object returned in the response.
+ allOf:
+ - $ref: '#/components/schemas/address_view'
+ - type: object
+ properties:
+ default:
+ description: The default shipping address chosen by the shopper.
+ type: boolean
+ metadata:
+ $ref: '#/components/schemas/shopper_metadata'
+ card_last4:
+ description: The card's last 4 digits. **Nullable** for Transactions Details.
+ example: '4021'
+ maxLength: 4
+ minLength: 4
type: string
- discount_type:
- description: The type of discount.
+ card_network:
+ description: |
+ The card's network code. **Nullable** for Transactions Details. Note: LEGACY diners_club_us_ca now tagged as mastercard
enum:
- - fixed_amount
- - percentage
- - free_shipping
- example: percentage
- type: string
- discounts_order_generate:
- description: A list of discounts.
- items:
- properties:
- amount:
- $ref: '#/components/schemas/amount'
- code:
- $ref: '#/components/schemas/discount_code'
- description:
- $ref: '#/components/schemas/discount_description'
- details_url:
- $ref: '#/components/schemas/discount_uri'
- discount_category:
- $ref: '#/components/schemas/discount_category'
- free_shipping:
- $ref: '#/components/schemas/discount_free_shipping'
- reference:
- $ref: '#/components/schemas/discount_code'
- type: object
- type: array
- distance:
- description: The distance as a number.
- example: 2
- type: integer
- distance_unit:
- description: The distance unit.
- example: miles
+ - visa
+ - mastercard
+ - amex
+ - discover
+ - dinersclub
+ - jcb
+ - unionpay
+ - alliancedata
+ - citiplcc
+ - unknown
+ example: visa
type: string
- error:
+ saved_credit_card_view:
properties:
- code:
- $ref: '#/components/schemas/code'
- message:
- $ref: '#/components/schemas/message'
+ billing_address:
+ $ref: '#/components/schemas/address_view'
+ id:
+ description: The ID of the payment method associated with the Shopper's account.
+ type: string
+ last4:
+ $ref: '#/components/schemas/card_last4'
+ exp_month:
+ description: The expiration month of the credit card.
+ example: 11
+ maxLength: 2
+ minLength: 1
+ type: integer
+ exp_year:
+ description: The expiration year of the credit card.
+ example: 2024
+ maxLength: 4
+ minLength: 4
+ type: integer
+ network:
+ $ref: '#/components/schemas/card_network'
+ default:
+ description: The default card payment method chosen by the shopper.
+ type: boolean
+ type:
+ description: The payment method type. If empty, the property defaults to `card`.
+ enum:
+ - card
+ - paypal
+ type: string
+ description:
+ description: The APM account identifier; usually the email address.
+ type: string
+ metadata:
+ $ref: '#/components/schemas/shopper_metadata'
type: object
- event:
- description: The kind of event.
- enum:
- - order.create
- - order.shipping_and_tax
- - cart.create
- - cart.update
- - discounts.code.apply
- - example.see.enums
- example: example.see.enums
- type: string
- error_base_response:
+ description: Saved Credit Card Detail
+ saved_paypal_account_view:
properties:
- error:
- $ref: '#/components/schemas/error'
- event:
- $ref: '#/components/schemas/event'
- status:
+ id:
+ description: The ID of the payment method associated with the Shopper's account.
+ type: string
+ type:
+ description: Type field indicates this is a saved PayPal to differentiate it from a saved card.
enum:
- - failure
+ - paypal
type: string
+ description:
+ description: The email associated with a shopper's saved PayPal account.
+ type: string
+ metadata:
+ $ref: '#/components/schemas/shopper_metadata'
type: object
- errors:
- items:
- $ref: '#/components/schemas/error'
- type: array
- errors_base_response:
+ description: Saved PayPal account details.
+ profile_view:
+ description: The shopper's account profile.
properties:
- errors:
- items:
- $ref: '#/components/schemas/error'
- type: array
- event:
- $ref: '#/components/schemas/event'
- status:
- enum:
- - failure
+ email:
+ $ref: '#/components/schemas/email'
+ first_name:
+ description: The given name of the person associated with this record.
+ example: Alan
+ type: string
+ last_name:
+ description: The surname of the person associated with this record.
+ example: Watts
+ type: string
+ metadata:
+ $ref: '#/components/schemas/shopper_metadata'
+ name:
+ description: The given and surname of the person associated with this address.
+ example: Alan Watts
type: string
+ phone:
+ $ref: '#/components/schemas/phone'
type: object
- shopify:
- description: Data externalized from shopify.
- example: VIP shopper
- type: string
- external_data:
- description: For Shopify users only; otherwise, is empty.
+ account_details:
properties:
- shopify:
- $ref: '#/components/schemas/shopify'
+ addresses:
+ description: A list of all addresses associated to the shopper's account.
+ items:
+ $ref: '#/components/schemas/account_details_address_view'
+ type: array
+ has_bolt_account:
+ description: Used to determine whether a Bolt Account exists with this shopper's account details.
+ type: boolean
+ payment_methods:
+ description: A list of all payment methods associated to the shopper's account.
+ items:
+ oneOf:
+ - $ref: '#/components/schemas/saved_credit_card_view'
+ - $ref: '#/components/schemas/saved_paypal_account_view'
+ type: array
+ profile:
+ $ref: '#/components/schemas/profile_view'
type: object
- from_consumer:
- description: The credit card user. **Nullable** for Transactions Details.
+ address:
+ description: The Address object is used for billing, shipping, and physical store address use cases.
properties:
- email_verified:
- $ref: '#/components/schemas/consumer_email_verified'
- emails:
- $ref: '#/components/schemas/emails'
+ company:
+ description: The company name associated with this address.
+ example: Bolt
+ maxLength: 1024
+ type: string
+ country:
+ description: The name of the country associated with this address.
+ example: United States
+ maxLength: 1024
+ type: string
+ country_code:
+ description: The ISO 3166-1 alpha-2 country code associated with this address.
+ example: US
+ maxLength: 2
+ minLength: 2
+ type: string
+ default:
+ description: Whether the added address is now the default address.
+ example: true
+ type: boolean
+ door_code:
+ $ref: '#/components/schemas/door_code'
+ email:
+ description: The email address associated with this address.
+ $ref: '#/components/schemas/email'
first_name:
- $ref: '#/components/schemas/first_name'
- id:
- description: The card-holder's ID. **Nullable** for Transactions Details.
- example: AB3rJKam5DhYE
+ description: The given name of the person associated with this address.
+ example: Alan
+ maxLength: 1024
type: string
last_name:
- $ref: '#/components/schemas/last_name'
- phones:
- $ref: '#/components/schemas/phones_with_country_code'
- platform_account_status:
- $ref: '#/components/schemas/consumer_platform_account_status'
- user_membership:
- $ref: '#/components/schemas/consumer_user_membership'
+ description: The surname of the person associated with this address.
+ example: Watts
+ maxLength: 1024
+ type: string
+ locality:
+ description: The city name details associated with this address.
+ example: Brooklyn
+ maxLength: 1024
+ type: string
+ name:
+ description: The given and surname of the person associated with this address.
+ example: Alan Watts
+ maxLength: 1024
+ type: string
+ phone:
+ description: The phone number associated with this address.
+ $ref: '#/components/schemas/phone'
+ postal_code:
+ description: The the postal or zip code associated with this address.
+ example: '10044'
+ maxLength: 32
+ type: string
+ region:
+ description: '**Not Required for NON US addresses**. The region details such as state or province associated with this address.'
+ example: NY
+ maxLength: 1024
+ type: string
+ region_code:
+ description: |
+ The ISO 3166-2 region code associated with this address.
+ - * If specified, value must be valid for the `country`.
+ - * If null, value is inferred from the `region`.
+ example: NY
+ maxLength: 1024
+ nullable: true
+ type: string
+ street_address1:
+ description: The street number and street name of the address.
+ example: 888 main street
+ maxLength: 1024
+ type: string
+ street_address2:
+ description: Any apartment, floor, or unit details.
+ example: apt 3021
+ maxLength: 1024
+ type: string
+ street_address3:
+ description: Any additional street address details.
+ example: c/o Alicia Watts
+ maxLength: 1024
+ nullable: true
+ type: string
+ street_address4:
+ description: Any additional street address details.
+ example: Bridge Street Apartment Building B
+ maxLength: 1024
+ nullable: true
+ type: string
required:
- - id
- - emails
- - email_verified
- - user_membership
+ - street_address1
+ - locality
+ - region
+ - country_code
+ - postal_code
+ - email
+ - first_name
+ - last_name
type: object
- from_credit_card:
- description: A credit card.
+ address_account:
+ allOf:
+ - $ref: '#/components/schemas/address'
+ - properties:
+ default:
+ description: Set this to true to make this the default shipping address. There can be only one address with default set to true.
+ type: boolean
+ metadata:
+ $ref: '#/components/schemas/shopper_metadata'
+ type: object
+ type: object
+ credit_card_account:
+ description: |
+ The `credit_card` object is used to to pay for guest checkout transactions or save payment method details to an account. Once saved, you can reference the credit card with the associated `credit_card_id` for future transactions.
properties:
billing_address:
- $ref: '#/components/schemas/consumer_billing_address'
+ $ref: '#/components/schemas/address'
+ billing_address_id:
+ description: |
+ The unique Bolt ID associated with a saved shopper address. This can be obtained by accessing a shopper's account details. If you use this field, you do not need to use `billing_address`.
+ example: null
+ nullable: true
+ type: string
bin:
- $ref: '#/components/schemas/card_bin'
- display_network:
- $ref: '#/components/schemas/card_network'
- expiration:
- $ref: '#/components/schemas/card_expiration'
- icon_asset_path:
- $ref: '#/components/schemas/icon_asset_path'
- id:
- $ref: '#/components/schemas/card_id'
+ description: The Bank Identification Number for the credit card. This is typically the first 4-6 digits of the credit card number.
+ maxLength: 6
+ minLength: 4
+ type: string
+ example: 411111
+ cryptogram:
+ type: string
+ eci:
+ type: string
+ expiration:
+ description: The expiration date of the credit card.
+ example: 2025-11
+ type: string
last4:
- $ref: '#/components/schemas/card_last4'
+ description: The last 4 digits of the credit card number.
+ example: '1234'
+ maxLength: 4
+ minLength: 4
+ type: string
+ metadata:
+ $ref: '#/components/schemas/shopper_metadata'
network:
- $ref: '#/components/schemas/card_network'
+ enum:
+ - visa
+ - mastercard
+ - amex
+ - discover
+ - dinersclub
+ - jcb
+ - unionpay
+ - alliancedata
+ - citiplcc
+ - unknown
+ type: string
+ number:
+ description: Used to provide ApplePay DPAN or private label credit card PAN when applicable. Required when charging a private label credit card.
+ type: string
+ postal_code:
+ description: Used for the postal or zip code associated with the credit card.
+ example: '10044'
+ maxLength: 32
+ type: string
priority:
- $ref: '#/components/schemas/priority'
- status:
- $ref: '#/components/schemas/card_status'
+ description: |
+ Used to indicate the card's priority. '1' indicates primary, while '2' indicates a secondary card.
+ enum:
+ - 1
+ - 2
+ type: integer
+ save:
+ description: |
+ Determines whether or not the credit card will be saved to the shopper's account. Defaults to `true`.
+ type: boolean
+ token:
+ description: The Bolt token associated to the credit card.
+ example: a1B2c3D4e5F6G7H8i9J0k1L2m3N4o5P6Q7r8S9t0
+ type: string
token_type:
- $ref: '#/components/schemas/card_token_type'
+ description: |
+ Used to define which payment processor generated the token for this credit card. For those using Bolt's tokenizer, the value must be `bolt`.
+ enum:
+ - vantiv
+ - applepay
+ - bolt
+ - stripe
+ - plcc
+ example: bolt
+ type: string
required:
- - id
- - last4
- - bin
+ - token
- expiration
- - network
- - token_type
- - priority
- - display_network
- - icon_asset_path
- - status
+ - billing_address
type: object
- gtin:
- description: The product's GTIN.
- example: AB3rJKam5DhYE
- type: string
- has_bolt_account:
- description: Determines if user has a Bolt account using their e-mail address or phone number.
- example: true
- type: boolean
- has_dynamic_price:
- description: Determines if item has dynamic price.
- example: true
- type: boolean
- hide_apm:
- description: Hides alternative payment methods from checkout.
- enum:
- - amazonpay
- - affirm
- - afterpay
- - paypal
- - klarna
- - radialpaypal
- type: string
- hide_apms:
- items:
- $ref: '#/components/schemas/hide_apm'
- type: array
- i_store_shipment_view:
+ payment_method_account:
allOf:
- - $ref: '#/components/schemas/i_cart_shipment_view'
+ - $ref: '#/components/schemas/credit_card_account'
- properties:
- address:
- $ref: '#/components/schemas/address_view'
- distance:
- format: int64
- type: number
- pickup_window_close:
- format: date
- type: integer
- pickup_window_open:
- format: date
- type: integer
- reference:
- type: string
- signature:
- type: string
- store_name:
- example: Bolt Collective
- type: string
- type: object
- i_delivery_options:
- properties:
- dynamicContent:
- $ref: '#/components/schemas/i_order_dynamic_content'
- inStorePickupOptions:
- items:
- $ref: '#/components/schemas/i_store_shipment_view'
- type: array
- shipToStoreOptions:
- items:
- $ref: '#/components/schemas/i_store_shipment_view'
- type: array
- shippingOptions:
- items:
- $ref: '#/components/schemas/i_cart_shipment_view'
- type: array
- type: object
- i_remote_order_create:
- properties:
- cart:
- properties:
- items:
- items:
- description: An array of product items.
- properties:
- bolt_product_id:
- type: string
- sku:
- type: string
- properties:
- items:
- properties:
- name_id:
- format: int64
- type: number
- value_id:
- format: int64
- type: number
- type: object
- type: array
- quantity:
- format: int64
- type: number
- required:
- - bolt_product_id
- - quantity
- type: object
- type: array
+ default:
+ description: Set this to true to make this the default payment method. There can be only one payment method with default set to true.
+ type: boolean
type: object
- merchant_division_id:
- description: The unique ID associated to the merchant's Bolt Account division; Merchants can have different divisions to suit multiple use cases (storefronts, pay-by-link, phone order processing). You can view and switch between these divisions from the Bolt Merchant Dashboard.
- example: 3X9aPQ67-YrB
- type: string
- platform_user_id:
- description: (Currently for creating remote orders in SFCC). A registered customer's ID / number to be on the order.
- type: string
- required:
- - merchant_division_id
- - cart
type: object
- i_remote_order_result:
+ profile:
+ description: The first name, last name, email address, and phone number of a shopper.
properties:
- token:
+ email:
+ description: The email of the person associated with this profile.
+ $ref: '#/components/schemas/email'
+ first_name:
+ description: The given name of the person associated with this record.
+ example: Alan
type: string
- type: object
- i_subscription_frequency_view:
- properties:
- type:
- enum:
- - weekly
- - monthly
+ last_name:
+ description: The surname of the person associated with this record.
+ example: Watts
type: string
- value:
- format: int64
- type: number
- type: object
- indemnification_decision:
- description: Determines indemnification coverage.
- enum:
- - unknown
- - indemnified
- - not_indemnified
- example: indemnified
- type: string
- indemnification_reason:
- description: Determines indemnification coverage reason.
- enum:
- - checkout
- - virtual_terminal
- - merchant_back_office
- - merchant_force_approved
- - reversibly_rejected
- - irreversibly_rejected
- - risk_engine_approved
- - analyst_approved
- - auth_verification
- - paypal
- - afterpay
- - direct_payments
- - whitelist
- - external_review
- example: checkout
- type: string
- price:
- description: The price of an item.
- example: 991
- type: integer
- product_id:
- description: The product's unique id.
- example: hat-123
- type: string
- item_add:
- properties:
- currency:
- $ref: '#/components/schemas/currency_iso'
- price:
- $ref: '#/components/schemas/price'
- product_id:
- $ref: '#/components/schemas/product_id'
- quantity:
- $ref: '#/components/schemas/quantity'
+ metadata:
+ $ref: '#/components/schemas/shopper_metadata'
+ phone:
+ description: The phone number of the person associated with this profile.
+ $ref: '#/components/schemas/phone'
+ required:
+ - first_name
+ - last_name
+ - email
type: object
- item_remove:
+ create_account_input:
+ description: The details needed to create a Bolt account.
properties:
- product_id:
- $ref: '#/components/schemas/product_id'
- quantity:
- $ref: '#/components/schemas/quantity'
+ addresses:
+ description: A list of physical shipping addresses associated with this account.
+ items:
+ $ref: '#/components/schemas/address_account'
+ type: array
+ payment_methods:
+ description: A list of payment methods associated with this account.
+ items:
+ $ref: '#/components/schemas/payment_method_account'
+ type: array
+ profile:
+ $ref: '#/components/schemas/profile'
+ required:
+ - profile
type: object
- items_add:
- description: A list of items to add to the cart.
- items:
- $ref: '#/components/schemas/item_add'
- type: array
- items_remove:
- description: A list of items to remove from the cart.
- items:
- $ref: '#/components/schemas/item_remove'
- type: array
- magento_payment_request:
+ update_profile:
+ description: The profile fields that can be updated for a shopper.
properties:
- card:
- $ref: '#/components/schemas/credit_card'
- consumer_id:
- description: The unique ID associated with the shopper. Leave `null` for guest checkout payment authorizations.
- example: EDbh7RpKrqABC
- type: string
- credit_card_id:
- description: The unique ID associated to a saved credit card in the account's wallet. Leave `null` if inputting a new, unsaved card.
- example: SAeEcU1hpMobc
+ first_name:
+ description: The given name of the person associated with this record.
+ example: Alan
type: string
- order_token:
+ last_name:
+ description: The surname of the person associated with this record.
+ example: Watts
type: string
+ metadata:
+ $ref: '#/components/schemas/shopper_metadata'
type: object
- manual_disputes_array:
- items:
- $ref: '#/components/schemas/manual_disputes'
- type: array
- product_media_audio:
- description: The URL for an image, video, or audio clip. For Property URLs, this can be used for color and pattern swatches to represent your product variants.
- example: https//boltswagstore.com/myjam.mp3
- type: string
- media_audios:
- description: List of URLs
- items:
- $ref: '#/components/schemas/product_media_audio'
- type: array
- product_media_url:
- description: The URL for an image, video, or audio clip. For Property URLs, this can be used for color and pattern swatches to represent your product variants.
- example: https//boltswagstore.com/image.png
- type: string
- media_urls:
- description: List of URLs
- items:
- $ref: '#/components/schemas/product_media_url'
- type: array
- product_media_video:
- description: The URL for an image, video, or audio clip. For Property URLs, this can be used for color and pattern swatches to represent your product variants.
- example: https//boltswagstore.com/jurassic-park.mov
+ address_view_account:
+ description: The address object returned in the response.
+ allOf:
+ - $ref: '#/components/schemas/address_view'
+ - properties:
+ metadata:
+ $ref: '#/components/schemas/shopper_metadata'
+ type: object
+ v1_accounts_view:
+ properties:
+ has_bolt_account:
+ type: boolean
+ type: object
+ code:
+ description: Custom-defined Bolt error code. This can be used to programmatically react to specific errors.
+ example: 2001005
+ format: int64
+ type: integer
+ message:
+ description: Human-readable description of the error for developers. Should not be shown to users and is not localized.
+ example: The input is missing a required parameter.
type: string
- media_videos:
- description: List of URLs
+ error_bolt_api:
+ properties:
+ code:
+ $ref: '#/components/schemas/code'
+ message:
+ $ref: '#/components/schemas/message'
+ type: object
+ description: Error object containing custom error information
+ errors_bolt_api:
items:
- $ref: '#/components/schemas/product_media_video'
+ $ref: '#/components/schemas/error_bolt_api'
type: array
- merchant_create_order_url:
- description: The endpoint URL provided by the merchant to Bolt for order creation.
- example: https://example.com/api/v1/order_create
- type: string
- merchant_processor_linked:
- description: Indicates if the merchant account has set up their processor with Bolt.
- example: true
+ request_failed:
+ example: false
type: boolean
- merchant_view:
+ description: Indicates that the request failed. This value is always false.
+ request_result:
+ description: Custom-defined Bolt result object.
properties:
- created_at:
- type: string
- description:
- type: string
- processor:
- enum:
- - vantiv
- - adyen_payfac
- - adyen_gateway
- - stripe
- - braintree
- - cybersource
- - nmi
- - authorize_net
- - radial
- - shopify_payments
- - rocketgate
- type: string
+ success:
+ $ref: '#/components/schemas/request_failed'
type: object
- multimedia:
- description: Type of media.
- example: Sound
- type: string
- name_store:
- description: The name of the store.
- example: 'Bolt Swag Store #47'
- type: string
- order_token:
- description: The token for the order.
- example: a2b3dDc4cA5e6fg78Bg9hj0kl
- type: string
- user_note:
- description: Notes from the shopper.
- example: This item is a gift.
+ errors_bolt_api_response:
+ properties:
+ errors:
+ $ref: '#/components/schemas/errors_bolt_api'
+ result:
+ $ref: '#/components/schemas/request_result'
+ type: object
+ merchant_callback_url_type:
+ description: Bolt merchant division callback URL type
+ enum:
+ - oauth_redirect
+ - oauth_logout
+ - get_account
+ - create_order
+ - universal_merchant_api
+ - shipping
+ - tax
+ - update_cart
+ - debug
+ - remote_api
+ - product_info
+ - support_page
+ - account_page
+ - mobile_app_domain
+ - validate_additional_account_data
+ - terms_of_service
+ - privacy_policy
+ - base_domain
+ - confirmation_redirect
type: string
- order:
+ merchant_callbacks_view:
properties:
- cart:
- $ref: '#/components/schemas/cart_order'
- dynamic_content:
- description: Contains all dynamic content fields.
- properties:
- custom_fields:
- $ref: '#/components/schemas/custom_fields2'
- gift_option_view:
- $ref: '#/components/schemas/gift_option_view'
- hide_apm:
- $ref: '#/components/schemas/hide_apms'
- order_notice:
- example: A Notice Message
- type: string
- payment_notice:
- example: A Notice Message
- type: string
- shipping_info_notice:
- example: A Notice Message
- type: string
- shipping_notice:
- example: A Notice Message
- type: string
- type: object
- external_data:
- $ref: '#/components/schemas/external_data'
- token:
- $ref: '#/components/schemas/order_token'
- user_note:
- $ref: '#/components/schemas/user_note'
+ callback_urls:
+ description: List of callback URLs retrieved
+ example:
+ - type: oauth_redirect
+ url: https://example.com/1
+ - type: oauth_logout
+ url: https://example.com/2
+ - type: get_account
+ url: https://example.com/3
+ items:
+ properties:
+ type:
+ $ref: '#/components/schemas/merchant_callback_url_type'
+ url:
+ description: The full callback URL.
+ type: string
+ type: object
+ type: array
type: object
- order_create_cart:
+ merchant_callbacks_input:
properties:
- cart_url:
- $ref: '#/components/schemas/cart_url'
- currency:
- $ref: '#/components/schemas/currency_iso'
- discounts:
- $ref: '#/components/schemas/discounts'
- display_id:
- $ref: '#/components/schemas/display_id'
- items:
- $ref: '#/components/schemas/items'
- metadata:
+ callback_urls:
+ description: List of callback URLs to configure
+ example:
+ - type: oauth_redirect
+ url: https://example.com/1
+ - type: oauth_logout
+ url: https://example.com/2
+ - type: get_account
+ url: https://example.com/3
items:
properties:
- key1:
- example: value 1
+ type:
+ $ref: '#/components/schemas/merchant_callback_url_type'
+ url:
+ description: The full callback URL.
type: string
+ required:
+ - url
+ - type
type: object
type: array
- order_reference:
- $ref: '#/components/schemas/order_reference'
- total_amount:
- $ref: '#/components/schemas/total_amount'
- type: object
- order_generate_cart:
- description: The cart associated to the order token.
- properties:
- cart_url:
- $ref: '#/components/schemas/cart_url'
- currency:
- $ref: '#/components/schemas/currency_iso'
- discounts:
- $ref: '#/components/schemas/discounts_order_generate'
- items:
- $ref: '#/components/schemas/items'
- metadata:
- $ref: '#/components/schemas/metadata_component'
- order_reference:
- $ref: '#/components/schemas/order_reference'
- total_amount:
- $ref: '#/components/schemas/amount'
- type: object
- order_publisher_cart_shipment:
- description: A cart that is being prepared for shipment
- properties:
- cost:
- $ref: '#/components/schemas/cost'
- reference:
- $ref: '#/components/schemas/reference'
- service:
- $ref: '#/components/schemas/service'
- shipping_address:
- properties:
- company:
- $ref: '#/components/schemas/company'
- country:
- $ref: '#/components/schemas/country'
- country_code:
- $ref: '#/components/schemas/country_code'
- email_address:
- $ref: '#/components/schemas/email'
- first_name:
- $ref: '#/components/schemas/first_name'
- id:
- $ref: '#/components/schemas/shipping_address_id'
- last_name:
- $ref: '#/components/schemas/last_name'
- locality:
- $ref: '#/components/schemas/locality'
- name:
- $ref: '#/components/schemas/name_person'
- phone_number:
- $ref: '#/components/schemas/phone'
- postal_code:
- $ref: '#/components/schemas/postal_code'
- region:
- $ref: '#/components/schemas/region'
- street_address1:
- $ref: '#/components/schemas/street_address'
- street_address2:
- $ref: '#/components/schemas/street_address'
- street_address3:
- $ref: '#/components/schemas/street_address'
- street_address4:
- $ref: '#/components/schemas/street_address'
- type: object
- shipping_method:
- $ref: '#/components/schemas/shipping_method'
- tax_amount:
- $ref: '#/components/schemas/amounts'
+ division_id:
+ description: The unique ID associated to the merchant's Bolt Account division; Merchants can have different divisions to suit multiple use cases (storefronts, pay-by-link, phone order processing). Use the Bolt Merchant Dashboard to switch between divisions and find the division ID under `Merchant Division Public ID`.
+ example: 3X9aPQ67-YrB
+ type: string
+ required:
+ - division_id
+ - callback_urls
type: object
- order_publisher_cart_shipments:
- description: A list of shipments.
+ merchant_divisions_identifiers_view:
items:
- $ref: '#/components/schemas/order_publisher_cart_shipment'
+ properties:
+ division_id:
+ description: The public ID of this division.
+ example: IraJdeIgmdsO
+ type: string
+ publishable_key:
+ description: The publishable key tied to this division.
+ example: 8fd9diIy59sj.IraJdeIgmdsO.fd233434fg2c616cgo932aa6e1e4fc627a9385045gr395222a127gi93c595rg4
+ type: string
+ type: object
type: array
- properties:
+ merchant_identifiers_view:
properties:
- property1:
- example: metallic
+ merchant_divisions:
+ $ref: '#/components/schemas/merchant_divisions_identifiers_view'
+ merchant_id:
+ description: The public ID of this merchant.
+ example: 8fd9diIy59sj
type: string
- property2:
- example: rust-resistant
+ signing_secret:
+ description: Bolt generates one secret key per merchant and uses it to securely sign requests.
+ example: xf833434fg2cffos92632aa6e1e4fc627a9385045gdj937fg2a127gi93cgos873
type: string
type: object
- order_publisher_item:
- description: An item with properties.
+ cart_add_on:
+ description: A list of up to 3 add-ons that are displayed to the shopper.
properties:
- bolt_product_id:
- $ref: '#/components/schemas/bolt_product_id'
description:
- $ref: '#/components/schemas/description'
- image_url:
- $ref: '#/components/schemas/image_url'
+ description: The description of the product being displayed as an add on.
+ maxLength: 256
+ type: string
+ imageUrl:
+ description: The URL of the image displayed for the add on product.
+ maxLength: 1024
+ type: string
name:
- $ref: '#/components/schemas/name_item'
- properties:
- $ref: '#/components/schemas/properties'
- quantity:
- $ref: '#/components/schemas/quantity'
- reference:
- $ref: '#/components/schemas/reference'
- sku:
- $ref: '#/components/schemas/sku'
- tax_amount:
- $ref: '#/components/schemas/tax_amount'
- taxable:
- $ref: '#/components/schemas/taxable'
- total_amount:
- $ref: '#/components/schemas/amounts'
- type:
- $ref: '#/components/schemas/type'
- unit_price:
- $ref: '#/components/schemas/amounts'
- type: object
- order_publisher_items:
- description: A list of items.
- items:
- $ref: '#/components/schemas/order_publisher_item'
- type: array
- order_received_url:
- description: This is a URL used to redirect the shopper when the order is created (optional).
- example: https://***.com/confirmation/O-100104040
- type: string
- order_status_details:
- description: The details that contextualize the order's status.
- example: The order left the post office at 10am today and is out for delivery by 9pm.
- type: string
- order_status_type:
- description: The type of order webhook.
- enum:
- - error
- - pre_transit
- - in_transit
- - out_for_delivery
- - delivered
- - available_for_pickup
- - return_to_sender
- - shipping_failure
- - cancelled
- - unknown
- example: out_for_delivery
- type: string
- publisher_order_metadata:
- description: This is a map that can contain several objects indexed by different keys. You can use this to track conversions.
- properties:
- key:
- description: Map Item.
- properties:
- property_1:
- description: The first property.
- type: string
- property_2:
- description: The second property.
- type: string
- type: object
- type: object
- order_webhook:
- properties:
- cart:
- properties:
- discount_amount:
- $ref: '#/components/schemas/amounts'
- display_id:
- $ref: '#/components/schemas/display_id'
- items:
- $ref: '#/components/schemas/order_publisher_items'
- metadata:
- properties:
- immutable_quote_id:
- description: The immutable quote ID.
- example: '377'
- type: integer
- type: object
- order_reference:
- $ref: '#/components/schemas/order_reference'
- shipments:
- $ref: '#/components/schemas/order_publisher_cart_shipments'
- shipping_amount:
- $ref: '#/components/schemas/amounts'
- subtotal_amount:
- $ref: '#/components/schemas/amounts'
- tax_amount:
- $ref: '#/components/schemas/amounts'
- total_amount:
- $ref: '#/components/schemas/amounts'
- type: object
- metadata:
- $ref: '#/components/schemas/publisher_order_metadata'
- status:
- $ref: '#/components/schemas/order_status_type'
- type: object
- order_webhook_metadata:
- properties:
- immutable_quote_id:
- description: The immutable quote ID.
- example: '377'
- type: integer
+ description: The name of the product being displayed as an add on.
+ maxLength: 256
+ type: string
+ price:
+ description: The price of the product add on in cents (1/100).
+ format: int64
+ type: number
+ productId:
+ description: The the ID of the product being displayed as an add on.
+ maxLength: 256
+ type: string
+ productPageUrl:
+ description: The URL to the product page of the product being displayed as an add on.
+ maxLength: 1024
+ type: string
+ required:
+ - name
+ - productId
+ - price
type: object
- payment_method:
+ cart_discount:
properties:
- payment_method_data:
- anyOf:
- - $ref: '#/components/schemas/alliance_data_info'
- - $ref: '#/components/schemas/magento_payment_request'
- payment_method_provider:
+ amount:
+ example: 100
+ type: number
+ code:
+ example: SUMMER10DISCOUNT
+ maxLength: 1024
+ type: string
+ description:
+ description: Used to define the discount offering.
+ example: 10% off our summer collection
+ maxLength: 1024
+ type: string
+ details_url:
+ description: Used to provide a link to additional details, such as a landing page, associated with the discount offering.
+ example: https://boltswagstore.com/SUMMERSALE
+ maxLength: 8192
+ type: string
+ discount_category:
enum:
- - alliance_data
- - magento_payment
+ - coupon
+ - giftcard
+ - managed_giftcard
+ - store_credit
+ - automatic_promotion
+ - membership_discount
+ - membership_giftcard
+ - subscription_discount
+ - rewards_discount
+ - shipping_discount
+ - unknown
+ type: string
+ reference:
+ description: Used to define the reference ID associated with the discount available.
+ example: DISC-1234
+ maxLength: 1024
+ type: string
+ type:
+ description: The type of discount.
+ enum:
+ - fixed_amount
+ - percentage
+ - free_shipping
+ example: percentage
type: string
type: object
- initialize_paypal_payment_input:
- type: object
+ cart_fee:
properties:
- payment_method:
- type: object
- properties:
- type:
- type: string
- enum:
- - paypal
- - saved_payment_method
- description: The type of the payment attempt
- example: paypal
- payment_data:
- description: Initialize payment for a new PayPal order.
- type: object
- properties:
- success:
- type: string
- description: Redirect URL for successful PayPal transaction.
- cancel:
- type: string
- description: Redirect URL for canceled PayPal transaction.
- required:
- - payment_data
- - type
+ reference:
+ description: Unique reference used to identify the fee.
+ example: ItemFee
+ maxLength: 1024
+ nullable: false
+ type: string
+ name:
+ description: Name of the fee that will appear in the order ledger.
+ example: Item Fee
+ maxLength: 1024
+ nullable: true
+ type: string
+ description:
+ description: Description of the fee that will appear in the tooltip if the mouse hovers over the fee.
+ example: Item Fee
+ maxLength: 1024
+ nullable: true
+ type: string
+ unit_price:
+ format: int64
+ nullable: false
+ type: number
+ unit_tax_amount:
+ format: int64
+ nullable: false
+ type: number
+ quantity:
+ format: int64
+ nullable: false
+ type: number
required:
- - payment_method
- update_paypal_payment_input:
- type: object
- properties:
- payment_method:
- type: object
- properties:
- type:
- type: string
- enum:
- - paypal
- - saved_payment_method
- description: The type of the payment attempt
- example: paypal
- payment_data:
- description: Initialize payment for a new PayPal order.
- type: object
- properties:
- success:
- type: string
- description: Redirect URL for successful PayPal transaction.
- cancel:
- type: string
- description: Redirect URL for canceled PayPal transaction.
- paypal_payment_view:
+ - reference
+ - name
+ - unit_price
+ - unit_tax_amount
+ - quantity
type: object
- properties:
- action:
- description: Action after initializing payment
- type: object
- properties:
- type:
- type: string
- description: action type
- example: redirect
- url:
- type: string
- description: action URL
- example: paypal.com/checkout/redirect
- method:
- type: string
- description: action method
- example: GET
- phones:
- description: A list of phone numbers.
+ collection:
+ example: summer
+ type: string
+ collections:
items:
- $ref: '#/components/schemas/phones_with_country_code'
+ $ref: '#/components/schemas/collection'
type: array
- pickup_address:
+ cart_item_customization:
properties:
- country:
- $ref: '#/components/schemas/country'
- country_code:
- $ref: '#/components/schemas/country_code'
- locality:
- $ref: '#/components/schemas/locality'
- postal_code:
- $ref: '#/components/schemas/postal_code'
- region:
- $ref: '#/components/schemas/region'
- street_address1:
- $ref: '#/components/schemas/street_address'
- street_address2:
- $ref: '#/components/schemas/street_address'
- street_address3:
- $ref: '#/components/schemas/street_address'
- street_address4:
- $ref: '#/components/schemas/street_address'
+ attributes:
+ additionalProperties:
+ type: string
+ example:
+ key1: value1
+ key2: value2
+ type: object
+ name:
+ type: string
+ price:
+ example: 754
+ format: int64
+ type: number
type: object
- pickup_window_close:
- description: When a store not available for picking up orders.
- example: 1578904185
- type: integer
- pickup_window_open:
- description: When a store is available for picking up orders.
- example: 1578904185
- type: integer
- pickup_option:
- description: A pickup option.
+ i_cart_item_external_inputs:
properties:
- address:
- $ref: '#/components/schemas/pickup_address'
- cost:
- $ref: '#/components/schemas/cost'
- distance:
- $ref: '#/components/schemas/distance'
- distance_unit:
- $ref: '#/components/schemas/distance_unit'
- pickup_window_close:
- $ref: '#/components/schemas/pickup_window_close'
- pickup_window_open:
- $ref: '#/components/schemas/pickup_window_open'
- reference:
- $ref: '#/components/schemas/reference'
- signature:
- $ref: '#/components/schemas/signature'
- store_name:
- $ref: '#/components/schemas/name_store'
- tax_amount:
- $ref: '#/components/schemas/tax_amount'
- type: object
- pickup_options:
- description: A list of pickup options.
- items:
- $ref: '#/components/schemas/pickup_option'
- type: array
- previous_transaction_id:
- description: The ID of the shopper's last transaction.
- example: af1a32f3aga4f5dfa3
- type: string
- processor_card_token:
- description: The token associated with the shopper's credit card. This field is only populated for merchants using Adyen or Radial as their credit card processor.
- example: '8416276679724052'
- type: string
- processor_shopper_reference:
- description: The token associated with the shopper.
- example: 5446666484094287
+ shopify_line_item_reference:
+ format: int64
+ type: number
+ shopify_product_reference:
+ format: int64
+ type: number
+ shopify_product_variant_reference:
+ format: int64
+ type: number
+ type: object
+ cost:
+ description: The cost in cents.
+ example: 770
+ type: integer
+ merchant_product_id:
+ description: The merchant's unique ID for the product.
+ example: '881'
type: string
- processor_token_alias:
- description: The alias token for the processor used.
- example: ''
+ gift_options_message:
+ description: Includes the gift message written by the shopper.
+ example: Happy Anniversary, Smoochy Poo!
type: string
- product_identifiers:
- description: Identifiers for the product.
+ gift_options_wrap:
+ description: Defines whether gift wrapping was requested.
+ example: false
+ type: boolean
+ cart_item_gift_option:
+ description: Contains the gift option settings for wrapping and custom messages.
properties:
- GTIN:
- $ref: '#/components/schemas/gtin'
- MerchantDivisionID:
- $ref: '#/components/schemas/merchant_division_id'
- MerchantProductID:
+ cost:
+ $ref: '#/components/schemas/cost'
+ merchant_product_id:
$ref: '#/components/schemas/merchant_product_id'
- SKU:
- $ref: '#/components/schemas/sku'
+ message:
+ $ref: '#/components/schemas/gift_options_message'
+ wrap:
+ $ref: '#/components/schemas/gift_options_wrap'
type: object
- product_variant:
- description: The `bolt_product_ID` of the parent product. If the product is the parent, this ID is the same.
- example: mens-shoe-86.
+ merchant_variant_id:
+ description: A merchant's unique ID for a given product's specific variant.
+ example: '888'
type: string
- product_name:
- description: The product's readable name.
- example: Pullover Hoodie-XS-Purple
- type: integer
- product_price:
- description: The product's price in cents and currency.
+ cart_item_property:
properties:
- Currency:
- $ref: '#/components/schemas/currency_iso'
- UnitPriceInCents:
- $ref: '#/components/schemas/amount'
+ color:
+ maxLength: 1024
+ type: string
+ display:
+ type: boolean
+ name:
+ maxLength: 1024
+ type: string
+ name_id:
+ format: int64
+ type: number
+ value:
+ maxLength: 1024
+ type: string
+ value_id:
+ format: int64
+ type: number
type: object
- product_prices:
- description: List of product prices.
- items:
- $ref: '#/components/schemas/product_price'
- type: array
- product_property_position:
- description: Used to dictate the order of properties displayed (e.g., least > greatest).
- example: 1
+ carrier:
+ description: The name of the carrier selected.
+ example: FedEx
+ type: string
+ discount_membership:
+ description: Defines if shopper has a membership discount.
+ example: false
+ type: boolean
+ estimated_delivery_date:
+ description: The estimated delivery date.
+ example: 08-30-2022
+ type: string
+ expedited:
+ description: True if shipment is expedited.
+ example: false
+ type: boolean
+ depth:
+ description: The depth.
+ example: 90
type: integer
- product_property_text_label:
- description: The text label for the property.
- example: pattern
+ dimension_unit:
+ description: The unit of measurement for an item's dimensions.
+ example: cm
type: string
- product_metadata:
- description: Metadata for the product.
- properties:
- ImageURL:
- $ref: '#/components/schemas/product_media_url'
- Position:
- $ref: '#/components/schemas/product_property_position'
- TextLabel:
- $ref: '#/components/schemas/product_property_text_label'
- type: object
- product_property_name:
- description: The property's readable name.
- example: size
+ height:
+ description: The height.
+ example: 103
+ type: integer
+ package_type:
+ description: The type of package.
+ example: A big package.
type: string
- product_property_name_id:
- description: The property type's unique ID.
- example: 158
- format: int64
+ weight_unit:
+ description: The unit of measurement for an item's weight.
+ example: kg
+ type: string
+ width:
+ description: The width.
+ example: 222
type: integer
- product_property_value:
- description: The property's unique value. (e.g., `S` `M` `L` for size properties; `Red` `Green` `Blue` for color properties.)
- example: XS
+ service:
+ description: The service name.
+ example: Option 1
type: string
- product_property_value_id:
- description: The unique ID of the property's value.
- example: 166
- format: int64
+ shipping_address_id:
+ description: ID for billing address
+ example: address1
+ type: string
+ shipping_method:
+ description: The name of the shipping method.
+ example: unknown
+ type: string
+ signature:
+ description: The signature.
+ example: a1B2s3dC4f5g5D6hj6E7k8F9l0
+ type: string
+ tax_amount:
+ description: Tax amount in cents.
+ example: 230
type: integer
- product_properties:
- description: Properties associated to the product.
- items:
- description: Properties associated to the product.
- properties:
- Metadata:
- $ref: '#/components/schemas/product_metadata'
- Name:
- $ref: '#/components/schemas/product_property_name'
- NameID:
- $ref: '#/components/schemas/product_property_name_id'
- Value:
- $ref: '#/components/schemas/product_property_value'
- ValueID:
- $ref: '#/components/schemas/product_property_value_id'
- type: object
- type: array
- product:
- description: A product.
- properties:
- Availability:
- $ref: '#/components/schemas/availability'
- AvailabilityCount:
- $ref: '#/components/schemas/availability_count'
- BoltID:
- $ref: '#/components/schemas/bolt_product_id'
- Brand:
- $ref: '#/components/schemas/brand'
- Description:
- $ref: '#/components/schemas/description'
- Identifiers:
- $ref: '#/components/schemas/product_identifiers'
- IsVariantOf:
- $ref: '#/components/schemas/product_variant'
- ItemType:
- $ref: '#/components/schemas/type'
- Multimedia:
- description: The media files associated to the product.
- properties:
- AudioSamples:
- $ref: '#/components/schemas/media_audios'
- ImageURLs:
- $ref: '#/components/schemas/media_urls'
- VideoURLs:
- $ref: '#/components/schemas/media_videos'
- type: object
- Name:
- $ref: '#/components/schemas/product_name'
- Prices:
- $ref: '#/components/schemas/product_prices'
- Properties:
- $ref: '#/components/schemas/product_properties'
- Taxable:
- $ref: '#/components/schemas/taxable'
- type: object
- product_next_cursor:
- description: The ID of the next variant to link to when pagination is used.
- example: a456789-abadfa67890ada-abafda67890
+ tax_code:
+ description: The relevant tax code.
+ example: tax-12345
type: string
- products:
- description: The inventory available for a given product.
- items:
- $ref: '#/components/schemas/product'
- type: array
- product_inventory:
- description: The inventory available for a given product.
+ cart_shipment_type:
+ description: The type corresponding to this shipment, if applicable.
+ example: door_delivery
+ enum:
+ - door_delivery
+ - in_store_pickup
+ - ship_to_store
+ - ship_to_home_only
+ - unknown
+ type: string
+ cart_shipment:
+ description: A cart that is being prepared for shipment
properties:
- Current:
- $ref: '#/components/schemas/product'
- NextCursor:
- $ref: '#/components/schemas/product_next_cursor'
- Parent:
- $ref: '#/components/schemas/product'
- Variants:
- $ref: '#/components/schemas/products'
+ carrier:
+ $ref: '#/components/schemas/carrier'
+ cost:
+ $ref: '#/components/schemas/cost'
+ discounted_by_membership:
+ $ref: '#/components/schemas/discount_membership'
+ estimated_delivery_date:
+ $ref: '#/components/schemas/estimated_delivery_date'
+ expedited:
+ $ref: '#/components/schemas/expedited'
+ package_depth:
+ $ref: '#/components/schemas/depth'
+ package_dimension_unit:
+ $ref: '#/components/schemas/dimension_unit'
+ package_height:
+ $ref: '#/components/schemas/height'
+ package_type:
+ $ref: '#/components/schemas/package_type'
+ package_weight_unit:
+ $ref: '#/components/schemas/weight_unit'
+ package_width:
+ $ref: '#/components/schemas/width'
+ service:
+ $ref: '#/components/schemas/service'
+ shipping_address:
+ $ref: '#/components/schemas/address'
+ shipping_address_id:
+ $ref: '#/components/schemas/shipping_address_id'
+ shipping_method:
+ $ref: '#/components/schemas/shipping_method'
+ signature:
+ $ref: '#/components/schemas/signature'
+ tax_amount:
+ $ref: '#/components/schemas/tax_amount'
+ tax_code:
+ $ref: '#/components/schemas/tax_code'
+ total_weight:
+ description: The total weight.
+ example: 55
+ type: integer
+ total_weight_unit:
+ $ref: '#/components/schemas/weight_unit'
+ type:
+ $ref: '#/components/schemas/cart_shipment_type'
type: object
- product_value:
- description: The product's unique value ID associated to the `product.properties.value_id` from the Get Inventory call.
- example: value example
- type: string
- rate_shipping:
- description: The shipping rate amount in cents.
- example: 234
- type: integer
- rate_subtotal:
- description: The rate subtotal in cents.
- example: 300
- type: integer
- refundable_capture:
- description: Records details about a capture that is eligible to be refunded.
+ cart_item:
properties:
- amount:
- $ref: '#/components/schemas/amount'
- capture_id:
- $ref: '#/components/schemas/capture_id'
- currency:
- $ref: '#/components/schemas/currency_iso'
- external_capture_id:
- description: An external ID that can be sent to a third-party system.
+ brand:
+ example: Bolt
+ maxLength: 1024
+ nullable: true
type: string
- type: object
- transaction:
- allOf:
- - $ref: '#/components/schemas/base_model'
- - description: A list of transactions.
+ category:
+ description: Used to define a product category associated with the item.
+ example: bags
+ maxLength: 1024
+ nullable: true
+ type: string
+ collections:
+ $ref: '#/components/schemas/collections'
+ color:
+ description: Used to define the color of the item.
+ example: Bolt Blue
+ maxLength: 1024
+ nullable: true
+ type: string
+ customizations:
items:
- description: Details about the transaction.
- properties:
- Amount:
- $ref: '#/components/schemas/amount'
- Currency:
- $ref: '#/components/schemas/currency_symbol'
- FromConsumerID:
- $ref: '#/components/schemas/from_consumer'
- FromFundingInstrumentID:
- $ref: '#/components/schemas/funding_instrument_id'
- OrderID:
- description: The order token.
- format: int64
- type: number
- Processor:
- $ref: '#/components/schemas/transaction_processor'
- Reference:
- $ref: '#/components/schemas/transaction_reference'
- SourceTransactionID:
- $ref: '#/components/schemas/transaction_id'
- Status:
- $ref: '#/components/schemas/transaction_status'
- ToConsumerID:
- $ref: '#/components/schemas/from_consumer'
- ToFundingInstrumentID:
- $ref: '#/components/schemas/funding_instrument_id'
- Type:
- $ref: '#/components/schemas/transaction_type'
- type: object
+ $ref: '#/components/schemas/cart_item_customization'
type: array
- refund_results:
- description: Details about the refund.
- properties:
- capture_to_refund:
- $ref: '#/components/schemas/refundable_capture'
- cc_transaction:
- $ref: '#/components/schemas/credit_card_transaction'
- credit_status_to_update:
- $ref: '#/components/schemas/credit_card_credit_status'
- credit_to_refund:
- $ref: '#/components/schemas/credit_card_credit'
- error:
- $ref: '#/components/schemas/error'
- refund_id:
- $ref: '#/components/schemas/transaction_id'
- refund_transaction:
- $ref: '#/components/schemas/transaction'
- retriable:
- description: Specifies if the system can retry the refund upon encountering an error.
- example: true
+ description:
+ example: Large tote with Bolt logo.
+ nullable: true
+ type: string
+ details_url:
+ description: Used to provide a link to the item's product page.
+ example: https://boltswagstore.com/products/123456
+ maxLength: 8192
+ type: string
+ external_inputs:
+ $ref: '#/components/schemas/i_cart_item_external_inputs'
+ gift_option:
+ $ref: '#/components/schemas/cart_item_gift_option'
+ image_url:
+ description: Used to provide a link to the image associated with the item.
+ example: https://boltswagstore.com/products/123456/images/1.png
+ maxLength: 8192
+ type: string
+ isbn:
+ description: Used to define the International Standard Book Number associated with the book.
+ example: '9780091347314'
+ maxLength: 1024
+ nullable: true
+ type: string
+ item_group:
+ nullable: true
+ type: string
+ manufacturer:
+ description: Used to define the organization that manufactured the item.
+ example: Bolt Textiles USA
+ maxLength: 1024
+ nullable: true
+ type: string
+ merchant_product_id:
+ $ref: '#/components/schemas/merchant_product_id'
+ merchant_variant_id:
+ $ref: '#/components/schemas/merchant_variant_id'
+ msrp:
+ format: int64
+ nullable: true
+ type: number
+ name:
+ example: Bolt Swag Bag
+ maxLength: 1024
+ minLength: 1
+ type: string
+ options:
+ example: Special Edition
+ maxLength: 1024
+ nullable: true
+ type: string
+ properties:
+ items:
+ $ref: '#/components/schemas/cart_item_property'
+ type: array
+ quantity:
+ example: 1
+ format: int64
+ maximum: 15000
+ type: number
+ reference:
+ example: item_100
+ maxLength: 1024
+ type: string
+ shipment:
+ $ref: '#/components/schemas/cart_shipment'
+ shipment_type:
+ enum:
+ - unknown
+ - door_delivery
+ - ship_to_store
+ - in_store_pickup
+ type: string
+ size:
+ description: Used to define the size of the item.
+ example: Large
+ maxLength: 1024
+ nullable: true
+ type: string
+ sku:
+ description: Used to define the alpha-numberic Stock Keeping Unit associated with the item as it is mapped to your internal product catalogue.
+ example: BOLT-SKU_100
+ maxLength: 1024
+ nullable: true
+ type: string
+ source:
+ nullable: true
+ type: string
+ seller_id:
+ description: The unique identifier for the seller within the marketplace ecosystem. This field ensures deterministic multi-party payout calculations.
+ example: seller-1234
+ maxLength: 1024
+ nullable: true
+ type: string
+ tags:
+ description: Used to define a comma-separated list of tags associated with the item.
+ example: tote, blue, linen, eco-friendly
+ maxLength: 1024
+ nullable: true
+ type: string
+ tax_amount:
+ description: The tax amount for the item; this value should scale with the quantity of units selected.
+ example: 0
+ format: int64
+ nullable: true
+ type: number
+ tax_code:
+ maxLength: 32
+ nullable: true
+ type: string
+ taxable:
+ nullable: true
type: boolean
- type: object
- transaction_authorization:
- properties:
- auth:
- example: auth
+ total_amount:
+ description: The total amount, in cents, of the item including its taxes if applicable.
+ example: 1000
+ format: int64
+ type: number
+ type:
+ enum:
+ - unknown
+ - digital
+ - physical
+ - bundled
type: string
- avs_response:
- example: avs
+ unit_price:
+ description: The price of one unit of the item; for example, the price of one pack of socks.
+ example: 1000
+ format: int64
+ type: number
+ uom:
+ description: Used to define the unit of measure used to describe the item.
+ example: inches
+ maxLength: 1024
+ nullable: true
type: string
- cvv_response:
- example: cvv
+ upc:
+ description: Used to define the 12-digit Universal Product Code (a barcode) associated with the item worldwide.
+ example: '0825764603119'
+ maxLength: 1024
+ nullable: true
+ type: string
+ weight:
+ example: 10
+ format: int64
+ maximum: 10000
+ nullable: true
+ type: number
+ weight_unit:
+ example: pounds
+ maxLength: 1024
+ nullable: true
type: string
- metadata:
- description: The metadata associated with the authorization.
- properties:
- processor_card_token:
- $ref: '#/components/schemas/processor_card_token'
- processor_shopperReference:
- $ref: '#/components/schemas/processor_shopper_reference'
- processor_token_alias:
- $ref: '#/components/schemas/processor_token_alias'
- type: object
- processor:
- $ref: '#/components/schemas/transaction_processor'
- reason:
- $ref: '#/components/schemas/credit_card_authorization_reason'
- status:
- $ref: '#/components/schemas/credit_card_authorization_status'
required:
- - reason
- - status
+ - reference
+ - name
+ - total_amount
+ - unit_price
+ - quantity
type: object
- splits:
- description: A list of splits. **Nullable** for Transactions Details.
- items:
- description: A split of fees by type and amount.
- properties:
- amount:
- $ref: '#/components/schemas/amounts'
- type:
- description: |
- **Nullable** for Transactions Details.
- enum:
- - net
- - processing_fee
- - bolt_fee
- - adjustment
- - float
- - reserve
- example: processing_fee
- type: string
- required:
- - amount
- - type
- type: object
- type: array
- transaction_properties:
+ digital_delivery:
properties:
- avs_result:
- example: avs result
+ email:
type: string
- cvv_result:
- example: cvv result
+ phone:
type: string
type: object
- refund_transaction:
- properties:
- amount:
- $ref: '#/components/schemas/amounts'
- authorization:
- $ref: '#/components/schemas/transaction_authorization'
- capture:
- $ref: '#/components/schemas/capture'
- captures:
- $ref: '#/components/schemas/captures'
- credit:
- $ref: '#/components/schemas/credit_status'
- date:
- $ref: '#/components/schemas/transaction_date'
- from_consumer:
- $ref: '#/components/schemas/from_consumer'
- from_credit_card:
- $ref: '#/components/schemas/from_credit_card'
- id:
- $ref: '#/components/schemas/transaction_id'
- indemnification_decision:
- $ref: '#/components/schemas/transaction_indemnification_decision'
- indemnification_reason:
- $ref: '#/components/schemas/transaction_indemnification_reason'
- last4:
- $ref: '#/components/schemas/card_last4'
- last_viewed_utc:
- $ref: '#/components/schemas/last_viewed_utc'
- merchant:
- $ref: '#/components/schemas/merchant'
- merchant_division:
- $ref: '#/components/schemas/merchant_division'
- merchant_order_number:
- $ref: '#/components/schemas/merchant_order_number'
- order_decision:
- $ref: '#/components/schemas/order_decision'
- processor:
- $ref: '#/components/schemas/transaction_processor'
- reference:
- $ref: '#/components/schemas/transaction_reference'
- review_ticket:
- $ref: '#/components/schemas/review_ticket'
- risk_insights:
- $ref: '#/components/schemas/risk_insights.yml'
- splits:
- $ref: '#/components/schemas/splits'
- status:
- $ref: '#/components/schemas/transaction_status'
- to_consumer:
- $ref: '#/components/schemas/from_consumer'
- to_credit_card:
- $ref: '#/components/schemas/from_credit_card'
- transaction_properties:
- $ref: '#/components/schemas/transaction_properties'
- type:
- $ref: '#/components/schemas/transaction_type'
- type: object
- refund_transactions:
- description: |
- **Nullable** for Transactions Details.
- items:
- $ref: '#/components/schemas/refund_transaction'
- type: array
- request_source:
- description: The source of the request.
- example: checkout
- type: string
- risk_model_contribution:
+ in_store_cart_shipment:
properties:
- category:
- description: Internal categories for risk analysis.
- example: blacklist_email_in_blacklist
+ cart_shipment:
+ $ref: '#/components/schemas/cart_shipment'
+ description:
+ description: Shipment option description.
+ example: Pick up in-store at 123 Main St.
type: string
- weight:
- example: The weight
+ distance:
+ example: 3
+ format: float64
+ type: number
+ distance_unit:
+ enum:
+ - km
+ - mile
+ example: mile
+ type: string
+ in_store_pickup_address:
+ $ref: '#/components/schemas/address'
+ pickup_window_close:
+ format: date
+ type: integer
+ pickup_window_open:
+ format: date
+ type: integer
+ store_name:
+ description: The local store's name where the item can be picked up.
+ example: Bolt Collective
type: string
type: object
- risk_model_contributions:
- items:
- $ref: '#/components/schemas/risk_model_contribution'
- type: array
- risk_model_result:
- description: Contains the contributing factors Bolt's risk model used to make a decision.
+ fulfillment:
+ description: Defines the shipments associated with the cart items.
properties:
- contributions:
- $ref: '#/components/schemas/risk_model_contributions'
+ cart_items:
+ items:
+ $ref: '#/components/schemas/cart_item'
+ type: array
+ cart_shipment:
+ $ref: '#/components/schemas/cart_shipment'
+ digital_delivery:
+ $ref: '#/components/schemas/digital_delivery'
+ in_store_cart_shipment:
+ $ref: '#/components/schemas/in_store_cart_shipment'
+ type:
+ enum:
+ - physical_door_delivery
+ - physical_ship_to_store
+ - physical_in_store_pickup
+ - digital_download
+ - digital_no_delivery
+ type: string
type: object
- review:
+ cart_loyalty_rewards:
properties:
- date:
- example: 1485997169003
- type: integer
- decision:
- example: decision
+ amount:
+ description: The reward amount in cents (1/100).
+ format: int64
+ type: number
+ coupon_code:
+ description: The loyalty reward's coupon code.
type: string
- risk_model_result:
- $ref: '#/components/schemas/risk_model_result'
- source:
- example: internal
+ description:
+ description: A description of the loyalty reward that will be shown to the shopper.
type: string
- type: object
- risk_payment_instrument_factors.yml:
- description: Displays the result of the CVV and AVS checks returned at authorization.
- properties:
- avs:
- example: avs result
+ example: $5 off (100 Points)
+ details:
+ description: Internal-facing metadata for the Loyalty Rewards. Ideal for adding any other identifying information about the reward, including a duplication of the original loyalty reward json response from the loyalty provider as shown in the example provided. If you choose to use this field to hold json, enclose the content in single quotes to force a string value.
type: string
- cvv:
- example: cvv result
+ example: '{"id": 123456, "icon": "fa-dollar", "name": "$15.00 Off", "type": "Coupon", "amount": 100, "duration": "single_use", "cost_text": "150 Points", "description": "Get $15 off your next purchase for 150 points", "discount_type": "fixed_amount", "unrendered_name": "$15.00 Off", "discount_percentage": null, "discount_rate_cents": null, "discount_value_cents": null, "discount_amount_cents": 1500, "unrendered_description": "Get $15 off your next purchase for 150 points", "applies_to_product_type": "ALL"}'
+ points:
+ description: The number of points needed for this reward.
+ format: int64
+ type: number
+ source:
+ description: The loyalty rewards provider.
+ type: string
+ type:
+ description: The type of loyalty reward.
type: string
type: object
- initialize_saved_payment_input:
- type: object
+ base_cart:
+ description: The base_cart object contains the core details typically found in most cart objects, including items, discounts, amount totals, shipments, and in-store pickups.
properties:
- payment_method:
- type: object
- properties:
- type:
+ add_ons:
+ items:
+ $ref: '#/components/schemas/cart_add_on'
+ type: array
+ billing_address:
+ $ref: '#/components/schemas/address'
+ discounts:
+ items:
+ $ref: '#/components/schemas/cart_discount'
+ type: array
+ fees:
+ items:
+ $ref: '#/components/schemas/cart_fee'
+ type: array
+ fulfillments:
+ items:
+ $ref: '#/components/schemas/fulfillment'
+ type: array
+ in_store_cart_shipments:
+ items:
+ $ref: '#/components/schemas/in_store_cart_shipment'
+ type: array
+ items:
+ description: The list of items associated with the cart.
+ items:
+ $ref: '#/components/schemas/cart_item'
+ type: array
+ loyalty_rewards:
+ items:
+ $ref: '#/components/schemas/cart_loyalty_rewards'
+ type: array
+ shipments:
+ items:
+ $ref: '#/components/schemas/cart_shipment'
+ type: array
+ tax_amount:
+ description: The total tax amount for all of the items associated with the cart.
+ format: int64
+ type: number
+ total_amount:
+ description: The total amount, in cents, of the cart including its items and taxes (if applicable), e.g. $9.00 is 900. This total must match the sum of all other amounts.
+ example: 900
+ format: int64
+ type: number
+ required:
+ - total_amount
+ type: object
+ cart_create:
+ allOf:
+ - $ref: '#/components/schemas/base_cart'
+ - properties:
+ cart_url:
+ description: Used to provide a link to the cart ID.
+ example: https://boltswagstore.com/orders/123456765432
+ maxLength: 8192
type: string
- enum:
- - paypal
- - saved_payment_method
- description: The type of the payment attempt
- example: saved_payment_method
- payment_data:
- description: Initialize payment for a saved payment method
+ currency:
+ example: USD
+ type: string
+ display_id:
+ description: This field, although required, can be an empty string.
+ example: displayid_100
+ maxLength: 128
+ type: string
+ metadata:
+ additionalProperties:
+ type: string
+ description: Optional custom metadata.
+ example:
+ key1: value1
+ key2: value2
type: object
- properties:
- id:
- type: string
- description: Payment ID of the saved Bolt Payment method.
+ order_description:
+ description: Used optionally to pass additional information like order numbers or other IDs as needed.
+ example: 'Order #1234567890'
+ maxLength: 1024
+ type: string
+ order_reference:
+ description: This value is used by Bolt as an external reference to a given order. This reference must be unique per successful transaction.
+ example: order_100
+ type: string
required:
- - payment_data
- - type
+ - currency
+ - order_reference
+ type: object
+ i_order_metadata:
+ nullable: true
+ properties:
+ encrypted_user_id:
+ example: ID12345678
+ type: string
+ type: object
+ seller_split_amounts:
+ description: Defines the financial breakdown for a seller split, including subtotals, discounts, shipping, taxes, and the final gross amount.
+ properties:
+ merchant_subtotal:
+ description: The subtotal amount for the merchant's items in this split, in cents.
+ example: 5000
+ format: int64
+ type: number
+ discount_total:
+ description: The total discount amount applied to this seller split, in cents.
+ example: 500
+ format: int64
+ type: number
+ shipping_total:
+ description: The total shipping amount for this seller split, in cents.
+ example: 1000
+ format: int64
+ type: number
+ tax_total:
+ description: The total tax amount for this seller split, in cents.
+ example: 400
+ format: int64
+ type: number
+ gross_total:
+ description: The gross total amount for this seller split, in cents.
+ example: 5900
+ format: int64
+ type: number
required:
- - payment_method
- update_saved_payment_input:
+ - merchant_subtotal
+ - discount_total
+ - shipping_total
+ - tax_total
+ - gross_total
type: object
+ marketplace_commission_fee:
+ description: Configures the marketplace commission fee structure for a seller split, supporting both percentage-based and flat fee models.
properties:
- payment_method:
+ bps:
+ description: The commission fee expressed in basis points (1 bps = 0.01%). For example, 100 bps = 1%, 250 bps = 2.5%.
+ example: 250
+ format: int64
+ type: number
+ flat_cents:
+ description: The fixed commission fee amount in cents, applied regardless of transaction value.
+ example: 100
+ format: int64
+ type: number
+ metadata:
+ description: Additional contextual information about the commission fee, such as plan type, tier level, or other business rules.
+ additionalProperties:
+ type: string
+ example:
+ plan_type: pro
+ tier: premium
+ nullable: true
type: object
- properties:
- type:
- type: string
- enum:
- - paypal
- - saved_payment_method
- description: The type of the payment attempt
- example: saved_payment_method
- payment_data:
- description: Initialize payment for a saved payment method
- type: object
- properties:
- id:
- type: string
- description: Payment ID of the saved Bolt Payment method.
- saved_payment_view:
+ required:
+ - bps
+ - flat_cents
type: object
+ seller_split:
+ description: Defines a seller split configuration for marketplace orders, specifying which items and shipments belong to a seller and how amounts should be calculated and distributed.
properties:
- action:
- description: Action after initializing payment
- type: object
- properties:
- type:
- type: string
- description: action type
- example: finalize
- url:
- type: string
- description: action URL
- example: api.bolt.com/v1/payments/12345/finalize
- method:
- type: string
- description: action method
- example: POST
- shipments:
- description: A list of shipments.
- items:
- description: A cart that is being prepared for shipment
- properties:
- cost:
- $ref: '#/components/schemas/cost'
- reference:
- $ref: '#/components/schemas/reference'
- service:
- $ref: '#/components/schemas/service'
- shipping_address:
- $ref: '#/components/schemas/address'
- shipping_method:
- $ref: '#/components/schemas/shipping_method'
- tax_amount:
- $ref: '#/components/schemas/amounts'
- type: object
- type: array
- shipping_default:
- description: Defines if option is default or not.
- example: true
- type: boolean
- shipping_option_description:
- description: |
- Additional information about the service. Supports a maximum of 60 characters and the use of ``, with IDs to be used as tooltips.
- example: The most popular choice
- type: string
- shipping_option_description_tooltip_content:
- description: |
- The HTML content that the tooltip displays. Supports up to 120 characters and the following HTML elements: ``, ``, `
`, ``, `- `, and ``
- example: Timeline may vary depending on location.
- type: string
- shipping_option_description_tooltip_target:
- description: The ID of the span used to wrap the description's text. This ID is used to display the tooltip.
- example: 1
- type: integer
- shipping_option_description_tooltip:
- description: An optional tooltip for a shipping option that supports a maximum of 60 characters (does not include HTML). This tooltip is displayed beneath the shipping option.
+ seller_id:
+ description: The unique identifier for the seller within the marketplace ecosystem.
+ example: seller-1234
+ type: string
+ amounts:
+ $ref: '#/components/schemas/seller_split_amounts'
+ description: The declarative amounts for this seller split.
+ marketplace_commission_fee:
+ $ref: '#/components/schemas/marketplace_commission_fee'
+ description: The marketplace commission fee structure for this seller split.
+ required:
+ - seller_id
+ - amounts
+ - marketplace_commission_fee
+ type: object
+ order_create:
properties:
- html_content:
- $ref: '#/components/schemas/shipping_option_description_tooltip_content'
- target:
- $ref: '#/components/schemas/shipping_option_description_tooltip_target'
+ cart:
+ allOf:
+ - $ref: '#/components/schemas/cart_create'
+ - description: The cart_create object is a composite of the base_cart object and additional order details.
+ - required:
+ - order_reference
+ channel:
+ description: Used to determine the channel from which the order was created.
+ enum:
+ - browser
+ - mobile_app
+ type: string
+ create_cart_on_merchant_backend:
+ description: Used to determine whether the order is created on your backend platform. This should almost always be `false`.
+ example: false
+ nullable: true
+ type: boolean
+ metadata:
+ $ref: '#/components/schemas/i_order_metadata'
+ user_note:
+ description: Optionally used by shoppers to make extra requests or provide details for gift messages.
+ example: Happy Birthday to my best friend in the whole world. Enjoy!
+ maxLength: 1024
+ type: string
+ seller_splits:
+ description: Array of seller splits for marketplace orders. This enables marketplaces to dynamically configure commission fees and payment splits per seller. Each split contains seller identification, scoped line items and shipments, and declarative amount breakdowns.
+ items:
+ $ref: '#/components/schemas/seller_split'
+ nullable: true
+ type: array
+ required:
+ - cart
+ - channel
type: object
- shipping_option_description_tooltips:
- description: A list shipping tooltips.
- items:
- $ref: '#/components/schemas/shipping_option_description_tooltip'
- type: array
- shipping_option:
- description: A shipping option.
+ i_currency:
properties:
- cost:
- $ref: '#/components/schemas/cost'
- default:
- $ref: '#/components/schemas/shipping_default'
- description:
- $ref: '#/components/schemas/shipping_option_description'
- description_tooltips:
- $ref: '#/components/schemas/shipping_option_description_tooltips'
- discount_by_membership:
- $ref: '#/components/schemas/discount_membership'
- estimated_delivery_date:
- $ref: '#/components/schemas/estimated_delivery_date'
- reference:
- $ref: '#/components/schemas/reference'
- service:
- $ref: '#/components/schemas/service'
- signature:
- $ref: '#/components/schemas/signature'
- tax_amount:
- $ref: '#/components/schemas/tax_amount'
- tax_code:
- $ref: '#/components/schemas/tax_code'
+ currency:
+ example: USD
+ type: string
+ currency_symbol:
+ example: $
+ type: string
type: object
- shipping_option_combined:
- description: A shipping option.
+ amount_view:
properties:
- cost:
- $ref: '#/components/schemas/cost'
- estimated_delivery_date:
- $ref: '#/components/schemas/estimated_delivery_date'
- reference:
- $ref: '#/components/schemas/reference'
- service:
- $ref: '#/components/schemas/service'
- signature:
- $ref: '#/components/schemas/signature'
- tax_amount:
- $ref: '#/components/schemas/tax_amount'
- tax_code:
- $ref: '#/components/schemas/tax_code'
+ amount:
+ format: int64
+ example: 754
+ type: number
+ currency:
+ example: USD
+ type: string
+ currency_symbol:
+ example: $
+ type: string
type: object
- shipping_options:
- description: A list of shipping options.
- items:
- $ref: '#/components/schemas/shipping_option'
- type: array
- shipping_options_combined:
- description: A list of shipping options.
- items:
- $ref: '#/components/schemas/shipping_option_combined'
- type: array
- shipping_to_store_option:
- description: A shipping option.
+ i_free_shipping_discount_view:
properties:
- address:
- $ref: '#/components/schemas/address'
- cost:
- $ref: '#/components/schemas/cost'
- distance:
- $ref: '#/components/schemas/distance'
- distance_unit:
- $ref: '#/components/schemas/distance_unit'
- reference:
- $ref: '#/components/schemas/reference'
- service:
- $ref: '#/components/schemas/service'
- signature:
- $ref: '#/components/schemas/reference'
- store_name:
- $ref: '#/components/schemas/name_store'
- tax_amount:
- $ref: '#/components/schemas/tax_amount'
+ is_free_shipping:
+ type: boolean
+ maximum_cost_allowed:
+ format: int64
+ type: number
type: object
- shipping_to_store_options:
- description: A list of ship-to-store options.
- items:
- $ref: '#/components/schemas/shipping_to_store_option'
- type: array
- source:
- description: This is the originating source of the request
- enum:
- - direct_payments
- - virtual terminal
- example: direct_payments
- type: string
- source_transaction:
- description: |
- **Nullable** for Transactions Details.
+ i_cart_discount_view:
properties:
amount:
- $ref: '#/components/schemas/amounts'
- authorization:
- $ref: '#/components/schemas/transaction_authorization'
- capture:
- $ref: '#/components/schemas/capture'
- captures:
- $ref: '#/components/schemas/captures'
- credit:
- $ref: '#/components/schemas/credit_status'
- date:
- $ref: '#/components/schemas/transaction_date'
- from_consumer:
- $ref: '#/components/schemas/from_consumer'
- from_credit_card:
- $ref: '#/components/schemas/from_credit_card'
- indemnification_decision:
- $ref: '#/components/schemas/transaction_indemnification_decision'
- indemnification_reason:
- $ref: '#/components/schemas/transaction_indemnification_reason'
- merchant:
- $ref: '#/components/schemas/merchant'
- merchant_division:
- $ref: '#/components/schemas/merchant_division'
- merchant_order_number:
- $ref: '#/components/schemas/merchant_order_number'
- order_decision:
- $ref: '#/components/schemas/order_decision'
- processor:
- $ref: '#/components/schemas/transaction_processor'
+ $ref: '#/components/schemas/amount_view'
+ code:
+ description: Discount code used.
+ example: SUMMER10
+ type: string
+ description:
+ description: Used to define the discount offering.
+ example: 10% off our summer collection
+ maxLength: 1024
+ type: string
+ details_url:
+ description: Used to provide a link to additional details, such as a landing page, associated with the discount offering.
+ example: https://boltswagstore.com/SUMMERSALE
+ type: string
+ discount_category:
+ enum:
+ - coupon
+ - giftcard
+ - managed_giftcard
+ - store_credit
+ - automatic_promotion
+ - membership_discount
+ - membership_giftcard
+ - subscription_discount
+ - rewards_discount
+ - shipping_discount
+ - unknown
+ type: string
+ free_shipping:
+ $ref: '#/components/schemas/i_free_shipping_discount_view'
reference:
- $ref: '#/components/schemas/transaction_reference'
- review_ticket:
- $ref: '#/components/schemas/review_ticket'
- splits:
- $ref: '#/components/schemas/splits'
- status:
- $ref: '#/components/schemas/transaction_status'
- to_consumer:
- $ref: '#/components/schemas/from_consumer'
- to_credit_card:
- $ref: '#/components/schemas/from_credit_card'
- transaction_properties:
- $ref: '#/components/schemas/risk_payment_instrument_factors.yml'
- type:
- $ref: '#/components/schemas/transaction_type'
+ description: Used to define the reference ID associated with the discount available.
+ example: DISC-1234
+ type: string
+ type: object
+ i_cart_fee_view:
+ properties:
+ reference:
+ description: Unique reference used to identify the fee.
+ example: ItemFee
+ maxLength: 1024
+ nullable: false
+ type: string
+ name:
+ description: Name of the fee that will appear in the order ledger.
+ example: Item Fee
+ maxLength: 1024
+ nullable: true
+ type: string
+ description:
+ description: Description of the fee that will appear in the tooltip if the mouse hovers over the fee.
+ example: Item Fee
+ maxLength: 1024
+ nullable: true
+ type: string
+ unit_price:
+ $ref: '#/components/schemas/amount_view'
+ unit_tax_amount:
+ $ref: '#/components/schemas/amount_view'
+ quantity:
+ format: int64
+ nullable: false
+ type: number
type: object
- status:
- description: The status.
- enum:
- - success
- - failure
- example: success
- type: string
- tags:
- description: A list of tags.
- items:
- $ref: '#/components/schemas/tag'
- type: array
- tax_result:
+ gift_option_view:
+ description: Defines which gift options are hidden.
properties:
- items:
- $ref: '#/components/schemas/items'
- rate_shipping:
- $ref: '#/components/schemas/rate_shipping'
- rate_subtotal:
- $ref: '#/components/schemas/rate_subtotal'
- subtotal_amount:
- $ref: '#/components/schemas/amount'
+ hide_gift_message:
+ example: false
+ type: boolean
+ hide_gift_wrap:
+ example: false
+ type: boolean
type: object
- timeline_consumer:
- description: The consumer associated to the note.
+ cart_item_property_view:
properties:
- first_name:
- $ref: '#/components/schemas/first_name'
- id:
- $ref: '#/components/schemas/consumer_id'
- last_name:
- $ref: '#/components/schemas/last_name'
+ color:
+ type: string
+ display:
+ type: boolean
+ name:
+ type: string
+ value:
+ type: string
type: object
- timeline_date:
- description: timeline event view
- example: 1586480400000
- format: int64
- type: integer
- timeline_note:
- description: transaction timeline event note
- example: This is a note.
- type: string
- timeline_transaction:
+ subscription:
+ description: Describes a product added as a recurring subscription.
properties:
- amount:
- $ref: '#/components/schemas/amounts'
- authorization:
- $ref: '#/components/schemas/transaction_authorization'
- capture:
- $ref: '#/components/schemas/capture'
- captures:
- $ref: '#/components/schemas/captures'
- credit:
- $ref: '#/components/schemas/credit'
- date:
- $ref: '#/components/schemas/transaction_date'
- from_consumer:
- $ref: '#/components/schemas/from_consumer'
- from_credit_card:
- $ref: '#/components/schemas/from_credit_card'
- id:
- $ref: '#/components/schemas/transaction_id'
- indemnification_decision:
- $ref: '#/components/schemas/transaction_indemnification_decision'
- indemnification_reason:
- $ref: '#/components/schemas/transaction_indemnification_reason'
- last4:
- $ref: '#/components/schemas/card_last4'
- last_viewed_utc:
- $ref: '#/components/schemas/last_viewed_utc'
- merchant:
- $ref: '#/components/schemas/merchant'
- merchant_division:
- $ref: '#/components/schemas/merchant_division'
- merchant_order_number:
- $ref: '#/components/schemas/merchant_order_number'
- order_decision:
- $ref: '#/components/schemas/order_decision'
- processor:
- $ref: '#/components/schemas/transaction_processor'
+ frequency:
+ description: Describes how often the subscription recurs.
+ properties:
+ unit:
+ description: The unit for this subscription's frequency.
+ enum:
+ - day
+ - week
+ - month
+ - year
+ example: month
+ type: string
+ value:
+ description: The value applied to the unit frequency.
+ example: 2
+ type: integer
+ type: object
+ type: object
+ i_weight:
+ properties:
+ unit:
+ type: string
+ weight:
+ format: int64
+ type: number
+ type: object
+ i_cart_item_view:
+ properties:
+ bolt_product_id:
+ type: string
+ brand:
+ type: string
+ category:
+ description: Used to define a product category associated with the item.
+ example: bags
+ maxLength: 1024
+ nullable: true
+ type: string
+ collections:
+ $ref: '#/components/schemas/collections'
+ color:
+ description: Used to define the color of the item.
+ example: Bolt Blue
+ type: string
+ customizations:
+ items:
+ $ref: '#/components/schemas/cart_item_customization'
+ type: array
+ description:
+ type: string
+ details_url:
+ description: Used to provide a link to the item's product page.
+ example: https://boltswagstore.com/products/123456
+ type: string
+ gift_option:
+ $ref: '#/components/schemas/gift_option_view'
+ hide:
+ type: boolean
+ image_url:
+ description: Used to provide a link to the image associated with the item.
+ example: https://boltswagstore.com/products/123456/images/1.png
+ type: string
+ isbn:
+ description: Used to define the International Standard Book Number associated with the book.
+ example: 9780091347314
+ maxLength: 1024
+ nullable: true
+ type: string
+ item_group:
+ type: string
+ manufacturer:
+ description: Used to define the organization that manufactured the item.
+ example: Bolt Textiles USA
+ maxLength: 1024
+ nullable: true
+ type: string
+ merchant_product_id:
+ type: string
+ merchant_variant_id:
+ type: string
+ msrp:
+ $ref: '#/components/schemas/amount_view'
+ name:
+ type: string
+ options:
+ type: string
+ properties:
+ items:
+ $ref: '#/components/schemas/cart_item_property_view'
+ type: array
+ quantity:
+ example: 1
+ format: int64
+ type: number
reference:
- $ref: '#/components/schemas/transaction_reference'
- review_ticket:
- $ref: '#/components/schemas/review_ticket'
- risk_insights:
- $ref: '#/components/schemas/risk_insights.yml'
- splits:
- $ref: '#/components/schemas/splits'
- status:
- $ref: '#/components/schemas/transaction_status'
- to_consumer:
- $ref: '#/components/schemas/from_consumer'
- to_credit_card:
- $ref: '#/components/schemas/from_credit_card'
- transaction_properties:
- $ref: '#/components/schemas/transaction_properties'
+ type: string
+ shipment_id:
+ type: string
+ shipment_type:
+ enum:
+ - unknown
+ - door_delivery
+ - ship_to_store
+ - in_store_pickup
+ - ship_to_home_only
+ type: string
+ shopify_line_item_reference:
+ format: int64
+ type: number
+ shopify_product_reference:
+ format: int64
+ type: number
+ shopify_product_variant_reference:
+ format: int64
+ type: number
+ size:
+ description: Used to define the size of the item.
+ example: Large
+ type: string
+ sku:
+ description: Used to define an alpha-numeric Stock Keeping Unit associated with the item as it is mapped to your internal product catalogue.
+ example: BOLT-SKU_100
+ maxLength: 1024
+ nullable: true
+ type: string
+ subscription:
+ $ref: '#/components/schemas/subscription'
+ tags:
+ description: Used to define a comma-separated list of tags associated with the item.
+ example: tote, blue, linen, eco-friendly
+ type: string
+ tax_amount:
+ $ref: '#/components/schemas/amount_view'
+ taxable:
+ type: boolean
+ total_amount:
+ $ref: '#/components/schemas/amount_view'
type:
- $ref: '#/components/schemas/transaction_type'
+ enum:
+ - unknown
+ - digital
+ - physical
+ - bundled
+ type: string
+ unit_price:
+ $ref: '#/components/schemas/amount_view'
+ uom:
+ description: Used to define the unit of measure used to describe the product.
+ example: inches
+ maxLength: 1024
+ nullable: true
+ type: string
+ upc:
+ description: Used to define the 12-digit Universal Product Code (a barcode) associated with the item worldwide.
+ example: '0825764603119'
+ maxLength: 1024
+ nullable: true
+ type: string
+ weight:
+ $ref: '#/components/schemas/i_weight'
type: object
- timeline_type:
- description: transaction timeline event type.
- enum:
- - note
- - audit_entry
- - address_change
- type: string
- timeline_visibility:
- description: Defines who has permission to view the note added to the timeline.
- enum:
- - merchant
- - public
- example: merchant
- type: string
- timeline_event:
- description: One event on the timeline.
+ i_description_part:
properties:
- address_change:
- $ref: '#/components/schemas/address_change'
- amount:
- $ref: '#/components/schemas/amounts'
- consumer:
- $ref: '#/components/schemas/timeline_consumer'
- date:
- $ref: '#/components/schemas/timeline_date'
- note:
- $ref: '#/components/schemas/timeline_note'
- review:
- $ref: '#/components/schemas/review'
- transaction:
- $ref: '#/components/schemas/timeline_transaction'
- type:
- $ref: '#/components/schemas/timeline_type'
- visibility:
- $ref: '#/components/schemas/timeline_visibility'
+ content:
+ type: string
+ is_html:
+ type: boolean
type: object
- timeline:
- description: timeline of actions on a transaction
- items:
- $ref: '#/components/schemas/timeline_event'
- type: array
- transaction_auth_address:
- description: The Address object is used for billing, shipping, and physical store address use cases.
+ i_description_tooltip:
properties:
- company:
- description: The company name associated with this address.
- example: Bolt
- maxLength: 1024
+ html_content:
type: string
- country:
- description: The name of the country associated with this address.
- example: United States
+ target:
+ format: int64
+ type: number
+ type: object
+ i_cart_shipment_view:
+ properties:
+ carrier:
+ description: The carrier used to deliver the shipment.
+ example: USPS
maxLength: 1024
type: string
- country_code:
- description: The ISO 3166-1 alpha-2 country code associated with this address.
- example: US
- maxLength: 2
- minLength: 2
- type: string
+ cost:
+ $ref: '#/components/schemas/amount_view'
default:
- description: Whether the added address is now the default address.
- example: true
type: boolean
- email:
- description: The email of the person associated with this address.
- $ref: '#/components/schemas/email'
- first_name:
- description: The given name of the person associated with this address.
- example: Alan
- maxLength: 1024
+ description:
+ items:
+ $ref: '#/components/schemas/i_description_part'
+ type: array
+ description_tooltips:
+ items:
+ $ref: '#/components/schemas/i_description_tooltip'
+ type: array
+ estimated_delivery_date:
+ example: '2022-04-10 16:12:38.386000+00:00'
+ format: date-time
type: string
- last_name:
- description: The surname of the person associated with this address.
- example: Watts
- maxLength: 1024
+ expedited:
+ description: Used to determine whether a shipment has been expedited or not.
+ type: boolean
+ gift_options:
+ $ref: '#/components/schemas/gift_option_view'
+ id:
type: string
- locality:
- description: The city name details associated with this address.
- example: Brooklyn
- maxLength: 1024
+ package_dimension:
+ properties:
+ depth:
+ format: int64
+ type: number
+ height:
+ format: int64
+ type: number
+ unit:
+ type: string
+ width:
+ format: int64
+ type: number
+ type: object
+ package_type:
type: string
- name:
- description: The given and surname of the person associated with this address.
- example: Alan Watts
- maxLength: 1024
+ package_weight:
+ $ref: '#/components/schemas/i_weight'
+ reference:
type: string
- phone:
- description: The phone number associated with this address.
- $ref: '#/components/schemas/phone'
- postal_code:
- description: The postal or zip code associated with this address.
- example: '10044'
- maxLength: 32
+ service:
type: string
- region:
- description: '**Not Required for NON US addresses**. The region details such as state or province associated with this address.'
- example: NY
- maxLength: 1024
+ shipping_address:
+ $ref: '#/components/schemas/address_view'
+ shipping_method:
type: string
- region_code:
- description: |
- The ISO 3166-2 region code associated with this address.
- - * If specified, value must be valid for the `country`.
- - * If null, value is inferred from the `region`.
- example: NY
- maxLength: 1024
- nullable: true
+ signature:
type: string
- street_address1:
- description: The street number and street name of the address.
- example: 888 main street
- maxLength: 1024
+ tax_amount:
+ $ref: '#/components/schemas/amount_view'
+ total_weight:
+ $ref: '#/components/schemas/i_weight'
+ type:
type: string
- street_address2:
- description: Any apartment, floor, or unit details.
- example: apt 3021
+ type: object
+ i_cart_view:
+ description: This is the cart object returned in a successful response.
+ properties:
+ billing_address:
+ $ref: '#/components/schemas/address_view'
+ cart_url:
+ description: Used to provide a link to the cart ID.
+ example: https://boltswagstore.com/orders/123456765432
+ maxLength: 8192
+ type: string
+ currency:
+ $ref: '#/components/schemas/i_currency'
+ discount_amount:
+ $ref: '#/components/schemas/amount_view'
+ discounts:
+ items:
+ $ref: '#/components/schemas/i_cart_discount_view'
+ type: array
+ display_id:
+ example: displayid_100
+ type: string
+ fee_amount:
+ $ref: '#/components/schemas/amount_view'
+ fees:
+ items:
+ $ref: '#/components/schemas/i_cart_fee_view'
+ type: array
+ items:
+ items:
+ $ref: '#/components/schemas/i_cart_item_view'
+ type: array
+ merchant_order_url:
+ type: string
+ order_description:
+ description: Used optionally to pass additional information like order numbers or other IDs as needed.
+ example: 'Order #1234567890'
maxLength: 1024
type: string
- street_address3:
- description: Any additional street address details.
- example: c/o Alicia Watts
- maxLength: 1024
- nullable: true
+ order_reference:
+ description: This value is used by Bolt as an external reference to a given order. This reference must be unique per successful transaction.
+ example: order_100
+ type: string
+ shipments:
+ items:
+ $ref: '#/components/schemas/i_cart_shipment_view'
+ type: array
+ shipping_amount:
+ $ref: '#/components/schemas/amount_view'
+ subtotal_amount:
+ $ref: '#/components/schemas/amount_view'
+ tax_amount:
+ $ref: '#/components/schemas/amount_view'
+ total_amount:
+ $ref: '#/components/schemas/amount_view'
+ transaction_reference:
+ description: The 12 digit reference ID associated to a given transaction webhook for an order.
+ example: 6CEA-ZME1-DACE
+ maxLength: 12
+ minLength: 12
+ type: string
+ type: object
+ i_custom_field_view:
+ properties:
+ checkout_step:
+ enum:
+ - SHIPPING_STEP
+ - DELIVERY_STEP
+ - PAYMENT_STEP
+ - ACCOUNT_REGISTRATION_SSO
+ type: string
+ dynamic:
+ type: boolean
+ context:
+ enum:
+ - CHECKOUT
+ - SSO
+ type: string
+ external_id:
type: string
- street_address4:
- description: Any additional street address details.
- example: Bridge Street Apartment Building B
- maxLength: 1024
- nullable: true
+ field_setup:
type: string
- required:
- - country_code
- - first_name
- - last_name
- - street_address1
- - locality
- - region
- - postal_code
- - country
- type: object
- transaction_custom_fields:
- properties:
- field:
- $ref: '#/components/schemas/custom_fields'
- response:
- example: A response.
+ helper_text:
+ type: string
+ label:
+ type: string
+ position:
+ format: int64
+ type: number
+ public_id:
type: string
+ required:
+ type: boolean
+ subscribeToNewsletter:
+ type: boolean
type: object
- transaction_custom_fields_array:
- items:
- $ref: '#/components/schemas/transaction_custom_fields'
- type: array
- transaction_decision:
- description: The decision to approve or reject the transaction.
+ payment_service:
enum:
- - approve
- - reject
- example: approve
+ - affirm
+ - afterpay
+ - amazon_pay
+ - credova
+ - klarna
+ - paypal
+ - sezzle
+ - radial_klarna
+ - radial_paypal
+ - adyen_gateway
+ - alliance_data
+ - authorize_net
+ - braintree
+ - cardconnect
+ - checkout_com
+ - cybersource
+ - first_data
+ - nmi
+ - orbital
+ - paypal_payflow
+ - radial
+ - rocketgate
+ - shopify_payments
+ - stripe
+ - magentopayment
+ - adyen_payfac
+ - vantiv
+ - google_pay
+ - bolt
type: string
- transaction_from_credit_card:
+ eligible_payment_method:
properties:
- display_network:
- $ref: '#/components/schemas/card_network'
- id:
- $ref: '#/components/schemas/card_id'
- last4:
- $ref: '#/components/schemas/card_last4'
- network:
- $ref: '#/components/schemas/card_network'
+ eligible:
+ type: boolean
+ transaction_processor_type:
+ $ref: '#/components/schemas/payment_service'
type: object
- transaction_from_user:
+ i_gift_option_view:
properties:
- emails:
- $ref: '#/components/schemas/emails'
- first_name:
- $ref: '#/components/schemas/first_name'
- id:
- $ref: '#/components/schemas/transaction_id'
- last_name:
- $ref: '#/components/schemas/last_name'
- phones:
- $ref: '#/components/schemas/phones'
+ hide_gift_message:
+ type: boolean
+ hide_gift_wrap:
+ type: boolean
type: object
- transaction_indemnification_status:
- description: |
- Describes whether the indemnification decision and reason are up-to-date.
- * `1` - current
- * `2` - prior
- enum:
- - 1
- - 2
- example: 1
- type: integer
- transaction_publisher_from_credit_card.yml:
+ i_order_dynamic_content:
properties:
- display_network:
- $ref: '#/components/schemas/card_network'
- id:
- $ref: '#/components/schemas/card_id'
- last4:
- $ref: '#/components/schemas/card_last4'
- network:
- $ref: '#/components/schemas/card_network'
+ custom_fields:
+ items:
+ $ref: '#/components/schemas/i_custom_field_view'
+ type: array
+ eligible_payment_methods:
+ items:
+ $ref: '#/components/schemas/eligible_payment_method'
+ type: array
+ gift_option_view:
+ $ref: '#/components/schemas/i_gift_option_view'
+ hide_apm:
+ items:
+ enum:
+ - PAYPAL
+ - AFFIRM
+ - AFTERPAY
+ - AMAZONPAY
+ - KLARNA
+ - RADIALPAYPAL
+ - SEZZLE
+ - RADIALKLARNA
+ - CREDOVA
+ - GOOGLEPAY
+ type: string
+ type: array
+ order_notice:
+ type: string
+ payment_notice:
+ type: string
+ shipping_info_notice:
+ type: string
+ shipping_notice:
+ type: string
type: object
- transaction_publisher_item:
- description: An item with properties.
+ i_order_external_data:
properties:
- description:
- $ref: '#/components/schemas/description'
- image_url:
- $ref: '#/components/schemas/image_url'
- name:
- $ref: '#/components/schemas/name_item'
- properties:
- $ref: '#/components/schemas/properties'
- quantity:
- $ref: '#/components/schemas/quantity'
- reference:
- $ref: '#/components/schemas/reference'
- sku:
- $ref: '#/components/schemas/sku'
- taxable:
- $ref: '#/components/schemas/taxable'
- total_amount:
- $ref: '#/components/schemas/amounts'
- type:
- $ref: '#/components/schemas/type'
- unit_price:
- $ref: '#/components/schemas/amounts'
+ steam_id:
+ type: string
+ type: object
+ i_order_view:
+ properties:
+ cart:
+ $ref: '#/components/schemas/i_cart_view'
+ dynamic_content:
+ $ref: '#/components/schemas/i_order_dynamic_content'
+ external_data:
+ $ref: '#/components/schemas/i_order_external_data'
+ token:
+ type: string
+ user_note:
+ description: Used by shoppers to make extra requests or provide details for gift messages.
+ type: string
+ type: object
+ statements_date:
+ description: This is the date of the statement, in milliseconds since the Unix epoch time.
+ example: 1586480400000
+ type: integer
+ statements_file_type:
+ description: This is the type of the file. Currently, Bolt only supports CSV statements.
+ enum:
+ - csv
+ example: csv
+ type: string
+ statements_type:
+ description: |
+ The time period and statement type:
+ * [Funding details statement](https://help.bolt.com/operations/financials/export-funding-detail-statements/) with transactional events: Use `daily_transaction` or `monthly_transaction`
+ * [Bank transfer statement](https://help.bolt.com/operations/financials/export-bank-transfer-statements/) with settlement and funding events: Use `daily_funding`
+ * [Dispute statement](https://help.bolt.com/operations/disputes/dispute-statements/#how-to-read-dispute-statements): Use `monthly_dispute`
+ enum:
+ - daily_transaction
+ - monthly_transaction
+ - daily_funding
+ - monthly_dispute
+ example: daily_transaction
+ type: string
+ statements_url:
+ description: |
+ This is the pre-signed URL of the requested statement. The URL has an expiration period of 5 minutes.
+ Sharing the URL implies sharing the statement and its contents, please be careful.
+ example: https://bolt-statements-production.s3.us-west-2.amazonaws.com/00_daily_transaction_20200410.csv
+ type: string
+ shipping_carrier:
+ description: the name of the carrier used for shipment.
+ example: UPS
+ type: string
+ order_non_bolt:
+ description: Designates if the order was placed outside of Bolt checkout.
+ example: false
+ type: boolean
+ bolt_product_id:
+ description: Unique ID generated for a product via the products endpoint.
+ example: e2bb0e7e-5625-536f-8ad7-25a26537ee28
+ type: string
+ brand:
+ description: The name of a brand.
+ example: Bolt Swagstore
+ type: string
+ category:
+ description: A category.
+ example: hats
+ type: string
+ color:
+ description: The color.
+ example: Red
+ type: string
+ metadata_component:
+ properties:
+ key1:
+ example: value1
+ type: string
+ key2:
+ example: value2
+ type: string
type: object
- transaction_publisher_items:
- description: A list of items.
- items:
- $ref: '#/components/schemas/transaction_publisher_item'
- type: array
- transaction_publisher_refund_transactions:
- description: List of transaction IDs.
- items:
- $ref: '#/components/schemas/transaction_id'
- type: array
- transaction_recharged:
+ customizations_name:
+ description: The name of the customization.
+ example: Bedazzled
+ type: string
+ amount:
+ description: The amount in cents. **Nullable** for Transactions Details.
+ example: 754
+ type: integer
+ currency_iso:
+ description: The 3-digit ISO code for the currency. **Nullable** for Transactions Details.
+ example: USD
+ type: string
+ currency_symbol:
+ description: The currency symbol used for the amount. **Nullable** for Transactions Details.
+ example: $
+ type: string
+ amounts:
+ description: The amount. **Nullable** for Transactions Details.
properties:
amount:
- $ref: '#/components/schemas/amounts'
- authorization:
- $ref: '#/components/schemas/transaction_authorization'
- date:
- $ref: '#/components/schemas/transaction_date'
- from_consumer:
- $ref: '#/components/schemas/credit_card_user'
- from_credit_card:
- $ref: '#/components/schemas/credit_card'
- id:
- $ref: '#/components/schemas/transaction_id'
- indemnification_decision:
- $ref: '#/components/schemas/transaction_indemnification_decision'
- indemnification_reason:
- $ref: '#/components/schemas/transaction_indemnification_reason'
- merchant:
- $ref: '#/components/schemas/merchant'
- merchant_division:
- $ref: '#/components/schemas/merchant_division'
- processor:
- $ref: '#/components/schemas/transaction_processor'
- reference:
- $ref: '#/components/schemas/transaction_reference'
- splits:
- $ref: '#/components/schemas/splits'
- status:
- $ref: '#/components/schemas/transaction_status'
- to_consumer:
- $ref: '#/components/schemas/credit_card_user'
- type:
- $ref: '#/components/schemas/transaction_type'
+ $ref: '#/components/schemas/amount'
+ currency:
+ $ref: '#/components/schemas/currency_iso'
+ currency_symbol:
+ $ref: '#/components/schemas/currency_symbol'
+ required:
+ - amount
+ - currency
+ - currency_symbol
type: object
- transaction_reviewed:
+ item_description:
+ description: A description for the item added to the cart/order.
+ example: ' Large blue satin hat with initials embroidered.'
+ type: string
+ image_url:
+ description: The URL for the item's image.
+ example: https://boltswagstore.com/inventory/hats/red-hat.png
+ type: string
+ isbn:
+ description: A 13-digit identifier for a book item.
+ example: 12-345-678-90123
+ type: string
+ item_group:
+ description: Enables grouping in the checkout UI.
+ example: Ships Immediately
+ type: string
+ manufacturer:
+ description: The name of a manufacturer.
+ example: Bolt Factory
+ type: string
+ name_item:
+ description: The name of an item.
+ example: Blue Hat
+ type: string
+ options:
+ example: string option
+ type: string
+ item_property:
properties:
- amount:
- $ref: '#/components/schemas/amounts'
- authorization:
- $ref: '#/components/schemas/transaction_authorization'
- captures:
- description: A list of captures.
- items:
- description: A capture.
- properties:
- amount:
- $ref: '#/components/schemas/amounts'
- id:
- description: The capture's unique ID.
- example: afda45gfa3fa2
- type: string
- splits:
- $ref: '#/components/schemas/splits'
- status:
- $ref: '#/components/schemas/credit_card_authorization_status'
- type: object
- type: array
- date:
- $ref: '#/components/schemas/transaction_date'
- from_consumer:
- $ref: '#/components/schemas/credit_card_user'
- from_credit_card:
- $ref: '#/components/schemas/credit_card'
- id:
- $ref: '#/components/schemas/transaction_id'
- indemnification_decision:
- $ref: '#/components/schemas/transaction_indemnification_decision'
- indemnification_reason:
- $ref: '#/components/schemas/transaction_indemnification_reason'
- merchant:
- $ref: '#/components/schemas/merchant'
- merchant_division:
- $ref: '#/components/schemas/merchant_division'
- processor:
- $ref: '#/components/schemas/transaction_processor'
- reference:
- $ref: '#/components/schemas/transaction_reference'
- risk_insights:
- $ref: '#/components/schemas/risk_insights.yml'
- status:
- $ref: '#/components/schemas/transaction_status'
- to_consumer:
- $ref: '#/components/schemas/credit_card_user'
- type:
- $ref: '#/components/schemas/transaction_type'
+ name:
+ example: a-name
+ type: string
+ value:
+ example: a-value
+ type: string
type: object
- unit_price:
- description: Price per unit in cents.
- example: 500
- type: integer
- variants:
- description: A collection of product variations linked to the current product that can vary in size and color or other properties.
+ item_properties:
items:
- $ref: '#/components/schemas/product'
+ $ref: '#/components/schemas/item_property'
type: array
- webhooks_object:
- description: The type of webhook object.
- example: transaction
+ quantity:
+ description: The quantity of this item.
+ example: 3
+ type: integer
+ reference:
+ description: Reference for the object.
+ example: '1123'
type: string
- adjust_transaction:
- $ref: '#/components/schemas/transaction_view'
- discount_currency:
- $ref: '#/components/schemas/discount_codes'
- order_publisher_cart_order_shipping_address:
- $ref: '#/components/schemas/order_publisher_cart_shipments'
- paypal_payment_input_initialize:
- $ref: '#/components/schemas/initialize_paypal_payment_input'
- paypal_payment_input_update:
- $ref: '#/components/schemas/update_paypal_payment_input'
- product_properties_array:
- $ref: '#/components/schemas/product_properties'
- requested_refund_amount:
- $ref: '#/components/schemas/amount_view'
- saved_payment_input_initialize:
- $ref: '#/components/schemas/initialize_saved_payment_input'
- saved_payment_input_update:
- $ref: '#/components/schemas/update_saved_payment_input'
- total_refund_amount:
- $ref: '#/components/schemas/amount_view'
- responses:
- merchant_callbacks_error_400:
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/errors_bolt_api_response'
- description: BAD REQUEST. Request is malformed or invalid value types are detected. division_id could be invalid.
- merchant_callbacks_error_403:
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/errors_bolt_api_response'
- description: Invalid Merchant API Key
- merchant_identifier_error_403:
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/errors_bolt_api_response'
- description: Invalid Merchant API Key
- order_generate_error_400:
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/errors_bolt_api_response'
- description: Generic Error Schema
- order_generate_error_403:
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/errors_bolt_api_response'
- description: Generic Error Schema
- order_generate_error_422:
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/errors_bolt_api_response'
- description: Generic Error Schema
- statements_view:
- content:
- application/json:
- schema:
+ item_shipment_type:
+ description: The shipment type selected by the shopper.
+ enum:
+ - unknown
+ - door delivery
+ - in_store_pickup
+ - ship_to_store
+ type: string
+ size:
+ description: The size.
+ example: XXL
+ type: string
+ sku:
+ description: The SKU identifier for this item or service.
+ example: SKU-11021
+ type: string
+ tag:
+ description: A tag
+ example: red
+ type: string
+ taxable:
+ description: Determines if item is taxable.
+ example: true
+ type: boolean
+ type:
+ description: Determines if item is a physical, digital, or bundled good, or if the good type is unknown.
+ enum:
+ - bundled
+ - digital
+ - physical
+ - unknown
+ example: physical
+ type: string
+ weight:
+ description: The weight of an item.
+ example: 22
+ type: integer
+ total_weight:
+ properties:
+ unit:
+ $ref: '#/components/schemas/weight_unit'
+ weight:
+ $ref: '#/components/schemas/weight'
+ type: object
+ item:
+ description: An item with properties.
+ properties:
+ bolt_product_id:
+ $ref: '#/components/schemas/bolt_product_id'
+ brand:
+ $ref: '#/components/schemas/brand'
+ category:
+ $ref: '#/components/schemas/category'
+ collections:
+ $ref: '#/components/schemas/collections'
+ color:
+ $ref: '#/components/schemas/color'
+ customizations:
+ items:
properties:
- url:
- $ref: '#/components/schemas/statements_url'
- required:
- - url
- type: object
- description: Statements Fetch Successful
- statements_view_error_403:
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/errors_bolt_api_response'
- description: Generic Error Schema
- statements_view_error_404:
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/errors_bolt_api_response'
- description: Generic Error Schema
- statements_view_error_422:
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/errors_bolt_api_response'
- description: Generic Error Schema
- order_track:
- content:
- application/json:
- schema:
+ attributes:
+ $ref: '#/components/schemas/metadata_component'
+ name:
+ $ref: '#/components/schemas/customizations_name'
+ price:
+ $ref: '#/components/schemas/amounts'
required:
- - url
- type: object
- description: Order Tracking Successful
- order_track_error_400:
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/errors_bolt_api_response'
- description: Generic Error Schema
- transaction_capture_error_403:
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/errors_bolt_api_response'
- description: Generic Error Schema
- transaction_capture_error_404:
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/errors_bolt_api_response'
- description: Generic Error Schema
- transaction_review_error_403:
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/errors_bolt_api_response'
- description: Generic Error Schema
- transaction_review_error_404:
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/errors_bolt_api_response'
- description: The requested entity was not found. transaction_id not found
- transaction_review_error_422:
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/errors_bolt_api_response'
- description: Generic Error Schema
- transaction_void_error_403:
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/errors_bolt_api_response'
- description: Generic Error Schema
- transaction_void_error_404:
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/errors_bolt_api_response'
- description: Generic Error Schema
- transaction_details:
- content:
- application/json:
- schema:
- properties:
- address_change_request_metadata:
- $ref: '#/components/schemas/address_change_request_metadata_view'
- adjust_transactions:
- $ref: '#/components/schemas/adjust_transactions'
- amount:
- $ref: '#/components/schemas/amount_view'
- auth_verification_status:
- $ref: '#/components/schemas/authorization_verification_status'
- authorization:
- $ref: '#/components/schemas/credit_card_authorization_view'
- authorization_id:
- $ref: '#/components/schemas/authorization_id'
- capture:
- $ref: '#/components/schemas/capture_view'
- captures:
- $ref: '#/components/schemas/captures_view'
- chargeback_details:
- $ref: '#/components/schemas/chargeback_details'
- credit:
- $ref: '#/components/schemas/credit'
- custom_fields:
- $ref: '#/components/schemas/custom_fields'
- customer_list_status:
- $ref: '#/components/schemas/customer_list_status'
- date:
- $ref: '#/components/schemas/transaction_date'
- from_consumer:
- $ref: '#/components/schemas/credit_card_user'
- from_consumer_membership_users:
- $ref: '#/components/schemas/consumer_user_membership'
- from_credit_card:
- $ref: '#/components/schemas/credit_card_view'
- id:
- $ref: '#/components/schemas/transaction_id'
- indemnification_decision:
- $ref: '#/components/schemas/transaction_indemnification_decision'
- indemnification_reason:
- $ref: '#/components/schemas/transaction_indemnification_reason'
- last_viewed_utc:
- $ref: '#/components/schemas/last_viewed_utc'
- last4:
- $ref: '#/components/schemas/card_last4'
- manual_disputes:
- $ref: '#/components/schemas/manual_disputes'
- merchant:
- $ref: '#/components/schemas/merchant'
- merchant_division:
- $ref: '#/components/schemas/merchant_division'
- merchant_order_number:
- $ref: '#/components/schemas/merchant_order_number'
- order:
- $ref: '#/components/schemas/order_view'
- order_decision:
- $ref: '#/components/schemas/order_decision'
- platform_metadata:
- additionalProperties:
- type: string
- type: object
- processor:
- $ref: '#/components/schemas/transaction_processor'
- reference:
- $ref: '#/components/schemas/transaction_reference'
- refund_transaction_ids:
- $ref: '#/components/schemas/refund_transaction_ids'
- refund_transactions:
- $ref: '#/components/schemas/refund_transactions_view'
- refunded_amount:
- $ref: '#/components/schemas/amount_view'
- review_ticket:
- $ref: '#/components/schemas/review_ticket'
- risk_insights:
- $ref: '#/components/schemas/risk_insights.yml'
- risk_review_status:
- $ref: '#/components/schemas/risk_review_status'
- risk_score:
- type: integer
- source_transaction:
- $ref: '#/components/schemas/transaction_view'
- splits:
- $ref: '#/components/schemas/splits_view'
- status:
- $ref: '#/components/schemas/transaction_status'
- timeline:
- $ref: '#/components/schemas/transaction_timeline_view'
- to_consumer:
- $ref: '#/components/schemas/consumer_self_view'
- to_credit_card:
- $ref: '#/components/schemas/credit_card_view'
- transaction_properties:
- additionalProperties:
- type: string
- type: object
- transaction_rejection_details:
- $ref: '#/components/schemas/transaction_rejection_details_view'
- type:
- $ref: '#/components/schemas/transaction_type'
- view_status:
- type: string
- void:
- $ref: '#/components/schemas/credit_card_void_view'
- void_cause:
- type: string
+ - name
+ - price
+ - attributes
type: object
+ type: array
+ description:
+ $ref: '#/components/schemas/item_description'
+ details_url:
+ description: The URL for the item's details.
+ example: https://boltswagstore.com/inventory/hats/red-hat.png
+ type: string
+ image_url:
+ $ref: '#/components/schemas/image_url'
+ isbn:
+ $ref: '#/components/schemas/isbn'
+ item_group:
+ $ref: '#/components/schemas/item_group'
+ manufacturer:
+ $ref: '#/components/schemas/manufacturer'
+ name:
+ $ref: '#/components/schemas/name_item'
+ options:
+ $ref: '#/components/schemas/options'
+ properties:
+ $ref: '#/components/schemas/item_properties'
+ quantity:
+ $ref: '#/components/schemas/quantity'
+ reference:
+ $ref: '#/components/schemas/reference'
+ shipment_type:
+ $ref: '#/components/schemas/item_shipment_type'
+ size:
+ $ref: '#/components/schemas/size'
+ sku:
+ $ref: '#/components/schemas/sku'
+ tags:
+ $ref: '#/components/schemas/tag'
+ tax_amount:
+ $ref: '#/components/schemas/amounts'
+ taxable:
+ $ref: '#/components/schemas/taxable'
+ total_amount:
+ $ref: '#/components/schemas/amounts'
+ type:
+ $ref: '#/components/schemas/type'
+ unit_price:
+ $ref: '#/components/schemas/amounts'
+ uom:
+ example: string
+ type: string
+ upc:
+ example: string
+ type: string
+ weight:
+ $ref: '#/components/schemas/total_weight'
+ required:
+ - reference
+ - name
+ - total_amount
+ - unit_price
+ - quantity
+ type: object
+ items:
+ description: A list of items.
+ items:
+ $ref: '#/components/schemas/item'
+ type: array
+ order_tracking_number:
+ description: The carrier's tracking number for the shipment.
+ example: EZ1000000001
+ type: string
+ transaction_reference:
+ description: The transaction's 12-digit Bolt reference ID. **Nullable** for Transactions Details.
+ example: LBLJ-TWW7-R9VC
+ maxLength: 12
+ minLength: 12
+ type: string
+ credit_card:
+ description: The credit_card object is used to to pay for guest-checkout transactions or save payment method details to an account. Once saved, you can reference the credit card with the associated `credit_card_id` for future transactions. Add `billing_address` to this if storing a billing address for a returning shopper.
+ properties:
+ billing_address:
+ $ref: '#/components/schemas/address'
+ bin:
+ description: The Bank Identification Number for the credit card; this is typically the first 4-6 digits of the credit card number.
+ maxLength: 6
+ minLength: 4
+ type: string
+ example: '411111'
+ expiration:
+ description: The expiration date of the credit card.
+ example: 2025-11
+ type: string
+ last4:
+ description: The last 4 digits of the credit card number.
+ example: '1234'
+ maxLength: 4
+ minLength: 4
+ type: string
+ postal_code:
+ description: Used for the postal or zip code associated with the credit card.
+ example: '10044'
+ maxLength: 32
+ type: string
+ priority:
+ description: Used to indicate the card's priority. '1' indicates primary, while '2' indicates a secondary card.
+ enum:
+ - 1
+ - 2
+ type: integer
+ save:
+ description: Determines whether or not the credit card will be saved to the shopper's account. Defaults to `true`.
+ type: boolean
+ token:
+ description: The Bolt token associated to the credit card.
+ example: a1B2c3D4e5F6G7H8i9J0k1L2m3N4o5P6Q7r8S9t0
+ type: string
+ token_type:
+ description: Used to define which payment processor generated the token for this credit card; for those using Bolt's tokenizer, the value must be `bolt`.
+ enum:
+ - bolt
+ example: bolt
+ type: string
+ required:
+ - token
+ - last4
+ - bin
+ - expiration
+ - postal_code
+ - token_type
+ type: object
+ transaction_merchant_event_id:
+ description: The reference ID associated with a transaction event (auth, capture, refund, void). This is an arbitrary identifier created by the merchant. Bolt does not enforce any uniqueness constraints on this ID. It is up to the merchant to generate identifiers that properly fulfill its needs.
+ example: dbe0cd5d-3261-41d9-ba61-49e5b9d07567
+ type: string
+ previous_subscription_id:
+ description: The unique ID associated with to the shopper's previous subscription-based transaction. Leave `null` for standard, non-subscription transactions.
+ example: null
+ nullable: true
+ type: string
+ user_identifier:
+ description: The object containing key lookup IDs associated with the shopper's account, such as the unique email address and phone number.
+ properties:
+ artifact:
+ example: null
+ type: string
+ email:
+ description: The Shopper's email address that is used as a unique ID for the account. This email can be used to detect an account using the `/v1/account/exists` endpoint.
+ $ref: '#/components/schemas/email'
+ email_id:
+ description: The ID associated with the identifying email address for this account.
+ example: null
+ type: string
+ phone:
+ description: The Shopper's phone number that is used to help identify the account owner. This can be passed with the `user_identifier.email` to find and match accounts.
+ $ref: '#/components/schemas/phone'
+ phone_id:
+ description: The ID associated with the identifying phone number for this account.
+ example: null
+ type: string
+ required:
+ - phone
+ type: object
+ first_name:
+ description: The person's first name.
+ example: Charlotte
+ type: string
+ last_name:
+ description: The person's last name.
+ example: Charles
+ type: string
+ user_identity:
+ properties:
+ first_name:
+ $ref: '#/components/schemas/first_name'
+ last_name:
+ $ref: '#/components/schemas/last_name'
+ type: object
+ merchant_credit_card_authorization:
+ description: This request is used for authorizing a new, unsaved card.
+ properties:
+ auto_capture:
+ type: boolean
+ description: This property determines how the transaction is processed after authorization. If set to `true`, the transaction is placed in a queue for automatic capture. This process is asynchronous, meaning the transaction may not immediately appear as captured after the authorization request. This is because the transaction is in a transitional state as it moves from authorization to capture. If `auto_capture` is set to `false`, the transaction is only authorized and must be manually captured.
+ cart:
+ allOf:
+ - $ref: '#/components/schemas/cart_create'
+ - description: The cart_create object is a composite of the base_cart object and additional order details.
+ create_bolt_account:
+ description: If `true`, the guest shopper is provided a Bolt Account using their email address as its unique ID; if `false`, no information is saved at checkout.
+ type: boolean
+ credit_card:
+ $ref: '#/components/schemas/credit_card'
+ division_id:
+ description: The unique ID associated to the merchant's Bolt Account division; Merchants can have different divisions to suit multiple use cases (storefronts, pay-by-link, phone order processing). Use the Bolt Merchant Dashboard to switch between divisions and find the division ID under `Merchant Division Public ID`.
+ example: 3X9aPQ67-YrB
+ type: string
+ merchant_event_id:
+ $ref: '#/components/schemas/transaction_merchant_event_id'
+ previous_transaction_id:
+ $ref: '#/components/schemas/previous_subscription_id'
+ processing_initiator:
+ description: |
+ Determines who initiated the transaction (e.g. shopper, merchant) and how they did it (e.g. recurring subscription, on-file card).
+
+ * `initial_card_on_file` - The first transaction made for a card. The system then saves this card for future transactions.
+ * `initial_recurring` - The first time any card is used to pay for a recurring charge. For example, a subscription.
+ * `stored_cardholder_initiated` - The subsequent (second, third, etc.) transactions a shopper initiates with a stored card. This includes every situation during which a cardholder requests a charge, for example if the cardholder requests a merchant charge their card.
+ * `stored_merchant_initiated` - The subsequent (second, third, etc.) transactions a merchant initiates with a stored card only when the cardholder does not request the charge. For example, when a customer service representative buys on behalf of a shopper or when a business adds funds to a public transit card.
+ * `following_recurring` - The subsequent (second, third, etc.) transactions a card is used to pay for a recurring charge. For example, a subscription.
+ * `cardholder_initiated` - When a cardholder begins a transaction that isn’t stored in Bolt and won’t be stored in Bolt for future transactions.
+ * `recurring` - Any time a card is used to pay for a recurring charge (for example, a subscription). Only use this value when you don’t know if it’s the first recurring charge.
+ enum:
+ - initial_card_on_file
+ - initial_recurring
+ - stored_cardholder_initiated
+ - stored_merchant_initiated
+ - following_recurring
+ - cardholder_initiated
+ - recurring
+ type: string
+ shipping_address:
+ $ref: '#/components/schemas/address'
+ source:
+ enum:
+ - direct_payments
+ type: string
+ user_identifier:
+ $ref: '#/components/schemas/user_identifier'
+ user_identity:
+ $ref: '#/components/schemas/user_identity'
+ required:
+ - cart
+ - credit_card
+ - division_id
+ - source
+ - user_identifier
+ - user_identity
+ - create_bolt_account
+ type: object
+ processing_initiator:
+ description: Defines which payment method was used to initiate the transaction.
+ enum:
+ - initial_card_on_file
+ - initial_recurring
+ - stored_cardholder_initiated
+ - stored_merchant_initiated
+ - following_recurring
+ - cardholder_initiated
+ - recurring
+ example: stored_cardholder_initiated
+ type: string
+ merchant_credit_card_authorization_recharge:
+ description: This request is used for authorizing an existing, saved card associated with the account.
+ properties:
+ auto_capture:
+ type: boolean
+ description: This property determines how the transaction is processed after authorization. If set to `true`, the transaction is placed in a queue for automatic capture. This process is asynchronous, meaning the transaction may not immediately appear as captured after the authorization request. This is because the transaction is in a transitional state as it moves from authorization to capture. If `auto_capture` is set to `false`, the transaction is only authorized and must be manually captured.
+ cart:
+ allOf:
+ - $ref: '#/components/schemas/cart_create'
+ - description: The cart_create object is a composite of the base_cart object and additional order details.
+ credit_card_id:
+ description: The unique ID associated to the saved credit card in the account's wallet.
+ example: SAeEcU1hpMobc
+ type: string
+ division_id:
+ description: The unique ID associated to the merchant's Bolt Account division; Merchants can have different divisions to suit multiple use cases (storefronts, pay-by-link, phone order processing). Use the Bolt Merchant Dashboard to switch between divisions and find the division ID under `Merchant Division Public ID`.
+ example: 3X9aPQ67-YrB
+ type: string
+ merchant_event_id:
+ $ref: '#/components/schemas/transaction_merchant_event_id'
+ previous_transaction_id:
+ $ref: '#/components/schemas/previous_subscription_id'
+ processing_initiator:
+ $ref: '#/components/schemas/processing_initiator'
+ shipping_address:
+ $ref: '#/components/schemas/address'
+ source:
+ enum:
+ - direct_payments
+ type: string
+ user_identifier:
+ $ref: '#/components/schemas/user_identifier'
+ user_identity:
+ $ref: '#/components/schemas/user_identity'
+ required:
+ - cart
+ - credit_card_id
+ - division_id
+ - source
+ - user_identifier
+ - user_identity
+ type: object
+ credit_card_authorization_reason:
description: |
- Transaction Details Retrieved
- transaction_details_error_403:
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/errors_bolt_api_response'
- description: Generic Error Schema
- transaction_details_error_422:
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/errors_bolt_api_response'
- description: Generic Error Schema
- transaction_details_error_404:
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/errors_bolt_api_response'
- description: Generic Error Schema
- oauth_400:
- content:
- application/json:
- examples:
- invalid_request:
- value:
- error: invalid_request
- error_description: The request is missing a required parameter, includes an invalid parameter value, includes a parameter more than once, or is otherwise malformed.
- invalid_scope:
- value:
- error: invalid_scope
- error_description: The request scope is invalid, unknown, or malformed.
- schema:
- $ref: '#/components/schemas/errors_oauth_server_response'
- description: Invalid request to OAuth Token.
- oauth_403:
- content:
- application/json:
- examples:
- request_forbidden:
- value:
- error: request_forbidden
- error_description: The request is forbidden. You are not allowed to perform this action.
- unsupported_grant_type:
- value:
- error: unsupported_grant_type
- error_description: The grant type is not supported by Bolt’s authorization server.
- schema:
- $ref: '#/components/schemas/errors_oauth_server_response'
- description: Forbidden request to OAuth Token.
- oauth_422:
- content:
- application/json:
- example:
- error: invalid _grant
- error_description: The provided authorization grant (e.g., authorization code, resource owner credentials) or refresh token is invalid, expired, revoked, does not match the redirection URI used in the authorization request, or was issued to another client.
- schema:
- $ref: '#/components/schemas/errors_oauth_server_response'
- description: Unprocessable request to OAuth Token.
- check_account:
- content:
- application/json:
- schema:
- properties:
- has_bolt_account:
- $ref: '#/components/schemas/has_bolt_account'
- type: object
- description: Success
- check_account_error:
- content:
- application/json:
- schema:
- properties:
- code:
- $ref: '#/components/schemas/1005_code'
- message:
- $ref: '#/components/schemas/1005_message'
- type: object
- description: No Bolt account discovered.
- order_create:
- content:
- application/json:
- schema:
- properties:
- token:
- $ref: '#/components/schemas/order_token'
- type: object
- description: Order Created Successfully
- order_create_error:
- content:
- application/json:
- schema:
+ The reason code explaining the authorization status.
+ * `1` - none
+ * `2` - invalid_amount
+ * `3` - invalid_cvv
+ * `4` - invalid_cc_number
+ * `5` - expired
+ * `6` - risk
+ * `7` - lost_stolen
+ * `8` - call_issuer
+ * `9` - invalid_merchant_for_card
+ * `10` - unsupported_payment_method
+ enum:
+ - none
+ - invalid_amount
+ - invalid_cvv
+ - invalid_cc_number
+ - expired
+ - risk
+ - lost_stolen
+ - call_issuer
+ - invalid_merchant_for_card
+ - unsupported_payment_method
+ - processor_server_error
+ type: string
+ credit_card_authorization_status:
+ description: |
+ The status of the authorization request.
+ * `1` - succeeded
+ * `2` - declined
+ * `3` - error
+ enum:
+ - succeeded
+ - declined
+ - error
+ example: succeeded
+ type: string
+ credit_card_authorization_view:
+ properties:
+ auth:
+ type: string
+ avs_response:
+ enum:
+ - '00'
+ - '01'
+ - '02'
+ - '10'
+ - '11'
+ - '12'
+ - '13'
+ - '14'
+ - '20'
+ - '30'
+ - '31'
+ - '32'
+ - '33'
+ - '34'
+ - '40'
+ - adyen_
+ - adyen_A
+ - adyen_N
+ - adyen_U
+ - adyen_S
+ - adyen_R
+ - adyen_W
+ - adyen_T
+ - adyen_Z
+ - adyen_D
+ - adyen_F
+ - adyen_M
+ - adyen_X
+ - adyen_Y
+ - adyen_B
+ - adyen_P
+ - adyen_C
+ - adyen_G
+ - adyen_I
+ - adyen_K
+ type: string
+ cvv_response:
+ enum:
+ - M
+ - 'N'
+ - P
+ - S
+ - U
+ - D
+ - X
+ - 'Y'
+ - '1'
+ - '2'
+ - '3'
+ - pass
+ - fail
+ - unavailable
+ - unchecked
+ - braintree_M
+ - braintree_N
+ - braintree_U
+ - braintree_B
+ - braintree_A
+ - braintree_I
+ - braintree_S
+ - CVV2
+ type: string
+ merchant_event_id:
+ $ref: '#/components/schemas/transaction_merchant_event_id'
+ metadata:
+ additionalProperties:
+ type: string
+ type: object
+ processor:
+ enum:
+ - vantiv
+ - adyen_payfac
+ - adyen_gateway
+ - stripe
+ - braintree
+ - cybersource
+ - nmi
+ - authorize_net
+ - radial
+ - shopify_payments
+ - rocketgate
+ type: string
+ reason:
+ $ref: '#/components/schemas/credit_card_authorization_reason'
+ status:
+ $ref: '#/components/schemas/credit_card_authorization_status'
+ type: object
+ capture_id:
+ description: The unique ID for the capture. **Nullable** for Transactions Details.
+ example: BcDE4fafd2a4
+ type: string
+ capture_status:
+ description: The status of the capture. **Nullable** for Transactions Details.
+ enum:
+ - succeeded
+ - declined
+ - error
+ example: succeeded
+ type: string
+ capture_view:
+ description: Deprecated. Use `captures`.
+ properties:
+ amount:
+ $ref: '#/components/schemas/amount_view'
+ id:
+ $ref: '#/components/schemas/capture_id'
+ merchant_event_id:
+ $ref: '#/components/schemas/transaction_merchant_event_id'
+ metadata:
+ description: Additional information about the capture. For example, the processor capture ID. **Nullable** for Transactions Details.
+ additionalProperties:
+ type: string
+ type: object
+ splits:
+ description: A split of fees by type and amount. **Nullable** for Transactions Details.
+ items:
+ description: A split of fees by type and amount.
properties:
- error:
- $ref: '#/components/schemas/error'
- event:
- enum:
- - orders
- type: string
- status:
+ amount:
+ $ref: '#/components/schemas/amount_view'
+ type:
+ description: |
+ Fee type options. **Nullable** for Transactions Details.
enum:
- - failure
+ - net
+ - processing_fee
+ - risk_fee
+ - apm_fee
+ - network_fee
+ - platform_fee
+ - bolt_account_fee
+ example: processing_fee
type: string
type: object
- description: Order Creation Failed
- order_generate:
- content:
- application/json:
- schema:
- properties:
- cart:
- $ref: '#/components/schemas/cart_order_generated'
- token:
- $ref: '#/components/schemas/order_token'
- user_note:
- $ref: '#/components/schemas/user_note'
- type: object
- description: Token Generation Successful
- transaction_capture:
- content:
- application/json:
- schema:
- properties:
- captures:
- $ref: '#/components/schemas/captures'
- id:
- $ref: '#/components/schemas/transaction_id'
- type: object
- description: Capture Successful
- transaction_capture_error_422:
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/errors_bolt_api_response'
- description: Generic Error Schema
- transaction_recharge:
- content:
- application/json:
- schema:
- properties:
- transaction:
- $ref: '#/components/schemas/transaction_recharged'
- type: object
- description: Recharge Successful
- transaction_review:
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/transaction_reviewed'
- description: Review Successful
- securitySchemes:
- OAuth:
+ type: array
+ status:
+ $ref: '#/components/schemas/capture_status'
+ type: object
+ transaction_splits_view:
+ properties:
+ amount:
+ $ref: '#/components/schemas/amount_view'
+ type:
+ enum:
+ - net
+ - processing_fee
+ - float
+ - reserve
+ - adjustment
+ - bolt_fee
+ type: string
+ type: object
+ credit_card_capture_view:
+ properties:
+ amount:
+ $ref: '#/components/schemas/amount_view'
+ id:
+ $ref: '#/components/schemas/capture_id'
+ merchant_event_id:
+ $ref: '#/components/schemas/transaction_merchant_event_id'
+ metadata:
+ additionalProperties:
+ example:
+ key1: value1
+ key2: value2
+ type: string
+ type: object
+ splits:
+ $ref: '#/components/schemas/transaction_splits_view'
+ status:
+ $ref: '#/components/schemas/capture_status'
+ type: object
+ credit_card_credit_status:
+ properties:
+ status:
+ description: The status of the refund to a card.
+ enum:
+ - succeeded
+ - declined
+ - error
+ - pending
+ - in progress
+ example: succeeded
+ type: string
+ type: object
+ credit_card_credit_view:
+ allOf:
+ - $ref: '#/components/schemas/credit_card_credit_status'
+ - properties:
+ merchant_event_id:
+ $ref: '#/components/schemas/transaction_merchant_event_id'
+ transaction_date:
+ description: Transaction date. **Nullable** for Transactions Details.
+ example: 1615407159447
+ type: integer
+ consumer_summary_view:
+ properties:
+ first_name:
+ description: The given name of the person associated with this record.
+ example: Alan
+ type: string
+ id:
+ type: string
+ last_name:
+ description: The surname of the person associated with this record.
+ example: Watts
+ type: string
+ type: object
+ login_view:
+ properties:
+ actions:
+ items:
+ enum:
+ - set_password
+ - rotate_password
+ type: string
+ type: array
+ methods:
+ items:
+ enum:
+ - code
+ - code_password
+ - password
+ - rotate_password
+ type: string
+ type: array
+ sso_authorization_url:
+ type: string
+ type: object
+ priority:
description: |
- Bolt utilizes the OAuth flow that developers can use to attain access to Bolt Account data via APIs.
- For all APIs that require authorization, please provide your `access_token` returned from `/v1/oauth/token` via the basic auth bearer header `Authorization: bearer ${TOKEN}`.
- [Read more about the OAuth token endpoint.](/api-bolt/#tag/OAuth)
- flows:
- authorizationCode:
- authorizationUrl: https://api.bolt.com/v1/oauth/authorize
- refreshUrl: https://api.bolt.com/v1/oauth/token
- scopes:
- bolt.account.manage: This scope grants permissions to perform read/edit/delete actions on Bolt Account data
- bolt.account.view: This scope grants permissions to perform read only actions on Bolt Account data
- openid: This scope grants permissions that enable Bolt SSO by granting an id token JWT that stores account data. Not used in v1/account endpoints
- tokenUrl: https://api.bolt.com/v1/oauth/token
- type: oauth2
- X-API-Key:
- description: Admins and Developers can obtain their Bolt API key from the Bolt Merchant Dashboard.
- in: header
- name: X-API-Key
- type: apiKey
- requestBodies:
- statements_view:
- content:
- application/json:
- schema:
- properties:
- date:
- $ref: '#/components/schemas/statements_date'
- file_type:
- $ref: '#/components/schemas/statements_file_type'
- type:
- $ref: '#/components/schemas/statements_type'
- required:
- - type
- - file_type
- - date
- type: object
- description: View Statements
- order_track:
- content:
- application/json:
- schema:
- properties:
- carrier:
- $ref: '#/components/schemas/shipping_carrier'
- is_non_bolt_order:
- $ref: '#/components/schemas/order_non_bolt'
+ Describes the card's priority.
+ enum:
+ - primary
+ - listed
+ example: primary
+ type: string
+ email_view:
+ properties:
+ address:
+ type: string
+ id:
+ type: string
+ priority:
+ $ref: '#/components/schemas/priority'
+ status:
+ type: string
+ type: object
+ phone_view:
+ properties:
+ country_code:
+ description: Used for the 2-digit ISO 3166-1 alpha 2 country code associated with this address.
+ example: US
+ type: string
+ id:
+ type: string
+ number:
+ type: string
+ priority:
+ enum:
+ - primary
+ - listed
+ type: string
+ status:
+ type: string
+ type: object
+ consumer_self_view:
+ allOf:
+ - $ref: '#/components/schemas/consumer_summary_view'
+ - properties:
+ authentication:
+ $ref: '#/components/schemas/login_view'
+ email_verified:
+ type: boolean
+ emails:
items:
- $ref: '#/components/schemas/items'
- tracking_number:
- $ref: '#/components/schemas/order_tracking_number'
- transaction_reference:
- $ref: '#/components/schemas/transaction_reference'
- required:
- - transaction_reference
- - tracking_number
- - carrier
- - items
- type: object
- description: Send order tracking details.
- capture_transaction:
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/capture_transaction_with_reference'
- description: Capture a Transaction
- order_create:
- content:
- application/json:
- schema:
- properties:
- Cart:
- $ref: '#/components/schemas/cart_publisher'
- MerchantDivisionID:
- $ref: '#/components/schemas/merchant_division_id'
- Metadata:
- $ref: '#/components/schemas/publisher_order_metadata'
- required:
- - event
- - data
- type: object
- order_generate:
- content:
- application/json:
- schema:
- properties:
- cart:
- $ref: '#/components/schemas/order_generate_cart'
- user_note:
- $ref: '#/components/schemas/user_note'
- required:
- - cart
- type: object
- description: Generate Order Token
- transaction_recharge:
- content:
- application/json:
- schema:
- properties:
- cart:
- $ref: '#/components/schemas/cart_transaction_recharge'
- consumer_id:
- $ref: '#/components/schemas/consumer_id'
- credit_card_id:
- $ref: '#/components/schemas/card_id'
- source:
- $ref: '#/components/schemas/source'
- required:
- - cart
- - source
- type: object
- description: Authorize a Transaction
- transaction_review:
- content:
- application/json:
- schema:
- properties:
- decision:
- $ref: '#/components/schemas/transaction_decision'
- transaction_reference:
- $ref: '#/components/schemas/transaction_reference'
- required:
- - decision
- type: object
- description: Review a Transaction
- transaction_void:
- content:
- application/json:
- schema:
- properties:
- skip_hook_notification:
- $ref: '#/components/schemas/transaction_skip_hook_notification'
- transaction_id:
- $ref: '#/components/schemas/transaction_id'
- transaction_reference:
- $ref: '#/components/schemas/transaction_reference'
- type: object
- description: Void a Transaction
-paths:
- /v1/account:
- get:
- description: Fetch a shopper's account details to pre-fill checkout fields. This request must come from your backend for security purposes, as it requires the use of your private key to authenticate. For PCI compliance, only limited information is returned for each credit card available in the shopper’s wallet.
- operationId: getAccount
- parameters:
- - $ref: '#/components/parameters/x-publishable-key'
- responses:
- '200':
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/account_details'
- description: Account Details Fetched
- security:
- - OAuth:
- - bolt.account.manage
- - bolt.account.view
- X-API-Key: []
- summary: Get Account Details
- tags:
- - Account
- post:
- description: Create a Bolt shopping account.
- operationId: createAccount
- parameters:
- - $ref: '#/components/parameters/x-publishable-key'
- - $ref: '#/components/parameters/idempotency_key'
- requestBody:
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/create_account_input'
- responses:
- '200':
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/account_details'
- description: Account Created
- security:
- - X-API-Key: []
- summary: Create Bolt Account
- tags:
- - Account
- /v1/account/profile:
- patch:
- description: Update the identifiers for a shopper's profile (first name or last name).
- operationId: updateAccountProfile
- parameters:
- - $ref: '#/components/parameters/x-publishable-key'
- requestBody:
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/update_profile'
- responses:
- '200':
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/profile_view'
- description: Profile Updated
- security:
- - OAuth:
- - bolt.account.manage
- X-API-Key: []
- summary: Update Profile
- tags:
- - Account
- /v1/account/addresses:
- post:
- description: Add an address to a shopper's account address book.
- operationId: addAddress
- parameters:
- - $ref: '#/components/parameters/x-publishable-key'
- - $ref: '#/components/parameters/idempotency_key'
- requestBody:
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/address_account'
- responses:
- '200':
- content:
- application/json:
- schema:
- allOf:
- - $ref: '#/components/schemas/address_view_account'
- - properties:
- default:
- type: boolean
- type: object
- description: Address Added Successfully
- security:
- - OAuth:
- - bolt.account.manage
- X-API-Key: []
- summary: Add Address
- tags:
- - Account
- /v1/account/addresses/{id}:
- delete:
+ $ref: '#/components/schemas/email_view'
+ type: array
+ first_name:
+ type: string
+ id:
+ type: string
+ last_name:
+ type: string
+ phones:
+ items:
+ $ref: '#/components/schemas/phone_view'
+ type: array
+ platform_account_status:
+ enum:
+ - none
+ - linked
+ - unlinked
+ type: string
+ type: object
+ card_bin:
+ description: The Bank Identification Number for the credit card; this is typically the first 4-6 digits of the credit card number. **Nullable** for Transactions Details.
+ example: '402201'
+ maxLength: 6
+ minLength: 4
+ type: string
+ card_display_network:
+ description: The card's network. **Nullable** for Transactions Details.
+ enum:
+ - Credit Card
+ - American Express
+ - Diners Club
+ - Discover
+ - JCB
+ - MasterCard
+ - Union Pay
+ - Visa
+ example: Visa
+ type: string
+ card_expiration:
+ description: The card's expiration. **Nullable** for Transactions Details.
+ example: 1654041600000
+ type: integer
+ icon_asset_path:
+ description: The asset link for displayed icons. This link varies depending on payment method used. **Nullable** for Transactions Details.
+ example: img/issuer-logos/visa.png
+ type: string
+ card_id:
+ description: The card's ID. **Nullable** for Transactions Details.
+ example: AB3rJKam5DhYE
+ type: string
+ card_status:
+ description: The card's status. **Nullable** for Transactions Details.
+ enum:
+ - active
+ - created
+ - inactive
+ - transient
+ example: active
+ type: string
+ card_token:
+ description: The Bolt token associated to the credit card. Required for new, unsaved cards.
+ example: a1B2c3D4e5F6G7H8i9J0k1L2m3N4o5P6Q7r8S9t0
+ type: string
+ card_token_type:
description: |
- Deletes an existing address in a shopper's address book.
- operationId: deleteAddress
- parameters:
- - $ref: '#/components/parameters/shopper_address_id_path_param'
- - $ref: '#/components/parameters/x-publishable-key'
- responses:
- '200':
- description: Address Successfully Deleted
- security:
- - OAuth:
- - bolt.account.manage
- X-API-Key: []
- summary: Delete Address
- tags:
- - Account
- post:
+ Used to define which payment processor generated the token for this credit card.
+ enum:
+ - vantiv
+ - applepay
+ - bolt
+ - stripe
+ - plcc
+ - applepay_encrypted_blob
+ example: bolt
+ type: string
+ credit_card_view:
+ description: Contains details about the credit card transaction.
+ properties:
+ billing_address:
+ $ref: '#/components/schemas/address_view'
+ bin:
+ $ref: '#/components/schemas/card_bin'
+ display_network:
+ $ref: '#/components/schemas/card_display_network'
+ expiration:
+ $ref: '#/components/schemas/card_expiration'
+ icon_asset_path:
+ $ref: '#/components/schemas/icon_asset_path'
+ id:
+ $ref: '#/components/schemas/card_id'
+ last4:
+ $ref: '#/components/schemas/card_last4'
+ network:
+ $ref: '#/components/schemas/card_network'
+ priority:
+ $ref: '#/components/schemas/priority'
+ status:
+ $ref: '#/components/schemas/card_status'
+ token:
+ $ref: '#/components/schemas/card_token'
+ token_type:
+ $ref: '#/components/schemas/card_token_type'
+ type: object
+ transaction_id:
+ description: The unique ID associated with the transaction. **Nullable** for Transactions Details.
+ example: T1c3p4yBuVYJ9
+ type: string
+ transaction_indemnification_decision:
description: |
- Replace an existing address in a shopper's address book.
- These changes delete the existing address and create a new one.
- operationId: replaceAddress
- parameters:
- - $ref: '#/components/parameters/shopper_address_id_path_param'
- - $ref: '#/components/parameters/x-publishable-key'
- - $ref: '#/components/parameters/idempotency_key'
- requestBody:
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/address_account'
- responses:
- '200':
- content:
- application/json:
- schema:
- allOf:
- - $ref: '#/components/schemas/address_view_account'
- - properties:
- default:
- type: boolean
- type: object
- description: Address Updated Successfully
- security:
- - OAuth:
- - bolt.account.manage
- X-API-Key: []
- summary: Replace Address
- tags:
- - Account
- put:
+ Describes whether the transaction is indemnified by Bolt for fraud.
+ enum:
+ - unknown
+ - indemnified
+ - not_indemnified
+ example: indemnified
+ type: string
+ transaction_indemnification_reason:
description: |
- Edit an existing address in a shopper's address book.
- This endpoint fully replaces the information for an existing address while retaining the same address ID.
- operationId: editAddress
- parameters:
- - $ref: '#/components/parameters/shopper_address_id_path_param'
- - $ref: '#/components/parameters/x-publishable-key'
- requestBody:
+ Describes the reason that the transaction is or is not indemnified by Bolt for fraud.
+ enum:
+ - unknown
+ - checkout
+ - virtual_terminal
+ - merchant_back_office
+ - merchant_force_approved
+ - reversibly_rejected
+ - irreversibly_rejected
+ - risk_engine_approved
+ - analyst_approved
+ - auth_verification
+ - paypal
+ - afterpay
+ - direct_payments
+ - whitelist
+ - external_review
+ - affirm
+ - merchant_ip_address
+ - amazon_pay
+ - apple_pay
+ - phone_order
+ - klarna
+ - cardholder_authentication
+ - address_change_rejected
+ - indemnify_direct_payments
+ - indemnify_virtual_terminal
+ - membership_subscription
+ - embedded_guest_checkout
+ - risk_assessment_only
+ - sezzle
+ - credova
+ - subscription
+ - indemnify_apm_transaction
+ example: merchant_force_approved
+ type: string
+ merchant_division_logo_view:
+ properties:
+ domain:
+ type: string
+ resource:
+ type: string
+ type: object
+ merchant_division_summary_view:
+ properties:
+ account_page_url:
+ type: string
+ api_base_domain_url:
+ type: string
+ base_domain_url:
+ type: string
+ confirmation_redirect_url:
+ type: string
+ create_order_url:
+ type: string
+ debug_url:
+ type: string
+ description:
+ type: string
+ display_name:
+ type: string
+ get_account_url:
+ type: string
+ shopper_custom_fields_updated_url:
+ type: string
+ hook_type:
+ enum:
+ - '1'
+ - '2'
+ - '3'
+ - '4'
+ - '5'
+ - '6'
+ type: string
+ hook_url:
+ type: string
+ id:
+ type: string
+ is_universal_merchant_api:
+ type: boolean
+ is_webhooks_v2:
+ type: boolean
+ logo:
+ $ref: '#/components/schemas/merchant_division_logo_view'
+ logo_dashboard:
+ $ref: '#/components/schemas/merchant_division_logo_view'
+ merchant_id:
+ type: string
+ mobile_app_domain_url:
+ type: string
+ oauth_logout_url:
+ type: string
+ oauth_redirect_url:
+ type: string
+ platform:
+ type: string
+ plugin_config_url:
+ type: string
+ privacy_policy_url:
+ type: string
+ product_info_url:
+ type: string
+ public_id:
+ type: string
+ remote_apiurl:
+ type: string
+ shipping_and_tax_url:
+ type: string
+ shipping_url:
+ type: string
+ status:
+ type: string
+ tax_url:
+ type: string
+ terms_of_service_url:
+ type: string
+ universal_merchant_api_url:
+ type: string
+ update_cart_url:
+ type: string
+ use_async_refunds_amazon_pay:
+ type: boolean
+ use_async_refunds_paypal:
+ type: boolean
+ validate_additional_account_data_url:
+ type: string
+ merchant_password_login_url:
+ description: (Optional) Link shoppers can use to log into a merchant store via the Bolt SSO modal.
+ example: https://www.example.com/login
+ type: string
+ type: object
+ order_decision_details_view:
+ properties:
+ decision_factors:
+ items:
+ type: string
+ type: array
+ score:
+ format: int64
+ type: number
+ type: object
+ transaction_processor:
+ description: The processor used. **Nullable** for Transactions Details.
+ enum:
+ - adyen_gateway
+ - adyen_payfac
+ - affirm
+ - afterpay
+ - alliance_data
+ - amazon_pay
+ - authorize_net
+ - braintree
+ - checkout_com
+ - cybersource
+ - first_data
+ - klarna
+ - nmi
+ - orbital
+ - paypal
+ - radial
+ - radial_klarna
+ - radial_paypal
+ - rocketgate
+ - sezzle
+ - shopify_payments
+ - stripe
+ - vantiv
+ example: adyen_gateway
+ type: string
+ review_ticket_view:
+ properties:
+ id:
+ type: string
+ request_deadline:
+ format: int64
+ type: number
+ status:
+ type: string
+ type: object
+ risk_model_external_result_view:
+ properties:
+ available:
+ type: boolean
+ decision_factors:
+ description: Used to list a total of up to 5 decision factors used by the risk model to determine the risk analysis result.
+ items:
+ type: string
+ type: array
+ fraud_probability:
+ format: int
+ type: number
+ payment_instrument_factors:
+ additionalProperties:
+ example:
+ factor1: factor1
+ factor2: factor2
+ type: string
+ type: object
+ type: object
+ risk_review_status:
+ description: Describes the current Risk Review status. A transaction could be unreviewed, reviewed, or pending manual review by the Bolt team.
+ enum:
+ - unknown
+ - needs_review
+ - reviewed
+ example: reviewed
+ type: string
+ transaction_status:
+ description: The transaction's status.
+ enum:
+ - in_progress
+ - completed
+ - cancelled
+ - failed
+ - pending
+ - created
+ - authorized
+ - rejected_reversible
+ - rejected_irreversible
+ example: cancelled
+ type: string
+ transaction_type:
+ description: The type of transaction.
+ enum:
+ - cc_payment
+ - cc_credit
+ - funding_transfer
+ - processing_fee_transfer
+ - reserve_transfer
+ - float_transfer
+ - merchant_credit
+ - merchant_debit
+ - funding_withdrawal
+ - processing_fee_withdrawal
+ - zero_amount
+ - bolt_fee_transfer
+ - bolt_fee_withdrawal
+ - bank_account_verification
+ - authorization_verification
+ - paypal_payment
+ - paypal_refund
+ - apm_payment
+ - apm_refund
+ - zero_amount_verification
+ example: cc_payment
+ type: string
+ credit_card_void_cause:
+ description: Specifies why this particular transaction is voided.
+ enum:
+ - merchant_action
+ - paypal_sync
+ - amazon_pay_sync
+ - irreversible_reject
+ - auth_expire
+ - auth_verification_expired
+ - payment_method_updater
+ - null
+ type: string
+ credit_card_void_status:
+ description: The status of the void request.
+ enum:
+ - succeeded
+ - declined
+ - error
+ example: succeeded
+ type: string
+ credit_card_void_view:
+ properties:
+ cause:
+ $ref: '#/components/schemas/credit_card_void_cause'
+ merchant_event_id:
+ $ref: '#/components/schemas/transaction_merchant_event_id'
+ status:
+ $ref: '#/components/schemas/credit_card_void_status'
+ void:
+ description: The void ID returned from the payment processor.
+ type: string
+ example: '123456'
+ type: object
+ transaction_view:
+ properties:
+ amount:
+ $ref: '#/components/schemas/amount_view'
+ authorization:
+ $ref: '#/components/schemas/credit_card_authorization_view'
+ capture:
+ $ref: '#/components/schemas/capture_view'
+ captures:
+ items:
+ $ref: '#/components/schemas/credit_card_capture_view'
+ type: array
+ credit:
+ $ref: '#/components/schemas/credit_card_credit_view'
+ date:
+ $ref: '#/components/schemas/transaction_date'
+ from_consumer:
+ $ref: '#/components/schemas/consumer_self_view'
+ from_credit_card:
+ $ref: '#/components/schemas/credit_card_view'
+ id:
+ $ref: '#/components/schemas/transaction_id'
+ indemnification_decision:
+ $ref: '#/components/schemas/transaction_indemnification_decision'
+ indemnification_reason:
+ $ref: '#/components/schemas/transaction_indemnification_reason'
+ last4:
+ $ref: '#/components/schemas/card_last4'
+ last_viewed_utc:
+ format: int64
+ type: number
+ merchant_division:
+ $ref: '#/components/schemas/merchant_division_summary_view'
+ merchant_order_number:
+ type: string
+ order_decision:
+ $ref: '#/components/schemas/order_decision_details_view'
+ processor:
+ $ref: '#/components/schemas/transaction_processor'
+ reference:
+ $ref: '#/components/schemas/transaction_reference'
+ review_ticket:
+ $ref: '#/components/schemas/review_ticket_view'
+ risk_insights:
+ $ref: '#/components/schemas/risk_model_external_result_view'
+ risk_review_status:
+ $ref: '#/components/schemas/risk_review_status'
+ risk_score:
+ format: int64
+ type: integer
+ splits:
+ items:
+ $ref: '#/components/schemas/transaction_splits_view'
+ type: array
+ status:
+ $ref: '#/components/schemas/transaction_status'
+ to_consumer:
+ $ref: '#/components/schemas/consumer_self_view'
+ to_credit_card:
+ $ref: '#/components/schemas/credit_card_view'
+ transaction_properties:
+ additionalProperties:
+ example:
+ key1: value1
+ key2: value2
+ type: string
+ type: object
+ type:
+ $ref: '#/components/schemas/transaction_type'
+ void:
+ $ref: '#/components/schemas/credit_card_void_view'
+ view_status:
+ enum:
+ - not_viewed
+ - viewed
+ - viewing
+ type: string
+ type: object
+ i_authorize_result_view:
+ properties:
+ did_create_bolt_account:
+ type: boolean
+ order_number:
+ type: string
+ transaction:
+ $ref: '#/components/schemas/transaction_view'
+ type: object
+ transaction_skip_hook_notification:
+ description: Set to `true` to skip receiving a webhook notification from Bolt that is triggered by this update to the transaction.
+ example: false
+ type: boolean
+ capture_transaction_with_reference:
+ properties:
+ amount:
+ $ref: '#/components/schemas/amount'
+ currency:
+ $ref: '#/components/schemas/currency_iso'
+ merchant_event_id:
+ $ref: '#/components/schemas/transaction_merchant_event_id'
+ skip_hook_notification:
+ $ref: '#/components/schemas/transaction_skip_hook_notification'
+ transaction_reference:
+ $ref: '#/components/schemas/transaction_reference'
+ required:
+ - transaction_reference
+ - amount
+ - currency
+ type: object
+ transaction_credit:
+ properties:
+ amount:
+ $ref: '#/components/schemas/amount'
+ currency:
+ $ref: '#/components/schemas/currency_iso'
+ merchant_event_id:
+ $ref: '#/components/schemas/transaction_merchant_event_id'
+ skip_hook_notification:
+ $ref: '#/components/schemas/transaction_skip_hook_notification'
+ transaction_reference:
+ $ref: '#/components/schemas/transaction_reference'
+ required:
+ - transaction_reference
+ - amount
+ - currency
+ type: object
+ merchant_credit_card_review:
+ properties:
+ decision:
+ enum:
+ - approve
+ - reject
+ type: string
+ transaction_reference:
+ $ref: '#/components/schemas/transaction_reference'
+ required:
+ - decision
+ - transaction_reference
+ type: object
+ address_change_request_metadata_view:
+ properties:
+ can_change_shipping_address:
+ type: boolean
+ id:
+ type: string
+ status:
+ type: string
+ ticket_id:
+ type: string
+ ticket_status:
+ type: string
+ type: object
+ chargeback_event_view:
+ properties:
content:
- application/json:
- schema:
- $ref: '#/components/schemas/address_account'
- responses:
- '200':
- content:
- application/json:
- schema:
- allOf:
- - $ref: '#/components/schemas/address_view_account'
- - properties:
- default:
- type: boolean
- type: object
- description: Address Updated Successfully
- security:
- - OAuth:
- - bolt.account.manage
- X-API-Key: []
- summary: Edit Address
- tags:
- - Account
- /v1/account/exists:
- get:
- description: Check whether an account exists using one of `email`, `phone`, or `sha256_email` as the unique identifier.
- operationId: detectAccount
- parameters:
- - $ref: '#/components/parameters/email'
- - $ref: '#/components/parameters/sha256_email'
- - $ref: '#/components/parameters/phone'
- - $ref: '#/components/parameters/x_publishable_key_required'
- responses:
- '200':
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/v1_accounts_view'
- description: Has Bolt Account
- '422':
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/errors_bolt_api_response'
- description: Missing Query Parameter
- summary: Detect Account
- tags:
- - Account
- security: []
- /v1/account/payment_methods:
- post:
+ type: string
+ time:
+ type: number
+ type: object
+ chargeback_details_view:
+ properties:
+ amt_won:
+ allOf:
+ - $ref: '#/components/schemas/amount_view'
+ - description: The total representment amount IF the merchant won the chargeback case.
+ chargeback_amt:
+ allOf:
+ - $ref: '#/components/schemas/amount_view'
+ - description: The total amount of dispute debits and credits related to this chargeback case.
+ chargeback_fee:
+ allOf:
+ - $ref: '#/components/schemas/amount_view'
+ - description: The total amount of dispute fee debits and credits related to this chargeback case.
+ chargeback_id:
+ type: string
+ event_views:
+ items:
+ $ref: '#/components/schemas/chargeback_event_view'
+ type: array
+ net_amt:
+ allOf:
+ - $ref: '#/components/schemas/amount_view'
+ - description: The total sum of the fields `chargeback_amt` and `chargeback_fee`.
+ reason:
+ type: string
+ reason_code:
+ type: string
+ representment_reply_by_date:
+ description: The reply-by date of the dispute in UnixMillis format.
+ format: int64
+ type: number
+ representment_result:
+ enum:
+ - none
+ - open
+ - lost
+ - won
+ type: string
+ type: object
+ custom_field_view:
+ properties:
+ checkout_step:
+ enum:
+ - SHIPPING_STEP
+ - DELIVERY_STEP
+ - PAYMENT_STEP
+ - ACCOUNT_REGISTRATION_SSO
+ type: string
+ dynamic:
+ type: boolean
+ context:
+ enum:
+ - CHECKOUT
+ - SSO
+ type: string
+ external_id:
+ type: string
+ field_setup:
+ type: string
+ label:
+ type: string
+ position:
+ format: int64
+ type: number
+ public_id:
+ type: string
+ required:
+ type: boolean
+ subscribeToNewsletter:
+ type: boolean
+ type: object
+ custom_field_response_view:
+ properties:
+ response:
+ oneOf:
+ - type: string
+ - type: boolean
+ type: object
+ custom_field_full_response_view:
+ properties:
+ field:
+ $ref: '#/components/schemas/custom_field_view'
+ response:
+ $ref: '#/components/schemas/custom_field_response_view'
+ type: object
+ customer_list_status:
+ properties:
+ auto_approved:
+ type: boolean
+ block_listed:
+ type: boolean
+ type: object
+ manual_dispute_view:
+ properties:
+ amount:
+ format: int64
+ type: number
+ currency:
+ example: USD
+ type: string
+ delivery_evidence:
+ type: string
+ delivery_link:
+ type: string
+ dispute_evidence:
+ type: string
+ dispute_link:
+ type: string
+ other_evidence:
+ items:
+ type: string
+ type: array
+ other_link:
+ items:
+ type: string
+ type: array
+ reason:
+ type: string
+ status:
+ enum:
+ - pending
+ - approved
+ - denied
+ type: string
+ type: object
+ default:
+ example: false
+ type: boolean
+ gift_options:
+ description: Contains the gift option settings for wrapping and custom messages.
+ properties:
+ message:
+ $ref: '#/components/schemas/gift_options_message'
+ wrap:
+ $ref: '#/components/schemas/gift_options_wrap'
+ type: object
+ package_dimension:
+ description: Contains the package's width, eight, depth, and unit details.
+ properties:
+ depth:
+ $ref: '#/components/schemas/depth'
+ height:
+ $ref: '#/components/schemas/height'
+ unit:
+ $ref: '#/components/schemas/dimension_unit'
+ width:
+ $ref: '#/components/schemas/width'
+ type: object
+ package_weights:
+ properties:
+ unit:
+ $ref: '#/components/schemas/weight_unit'
+ weight:
+ $ref: '#/components/schemas/weight'
+ type: object
+ company:
+ description: The company's name
+ example: ACME Corp.
+ type: string
+ country:
+ description: The country's name.
+ example: Canada
+ type: string
+ country_code:
+ description: The 2-digit country code.
+ example: US
+ type: string
+ billing_address_id:
+ description: The unique Bolt ID associated with a previously saved billing address. Not applicable to new, unsaved addresses.
+ example: address-1
+ nullable: true
+ type: string
+ locality:
+ description: A locale such as county, district, etc.
+ example: Wayne County
+ type: string
+ name_person:
+ description: The first and last name together as a string.
+ example: Charlotte Charles
+ type: string
+ postal_code:
+ description: The postal code.
+ example: '11209'
+ type: string
+ region:
+ description: A state, province, or similar region type.
+ example: Quebec
+ type: string
+ street_address:
+ description: You can use up to 4 street address fields.
+ example: 42 Wallaby Way
+ type: string
+ consumer_billing_address:
+ properties:
+ company:
+ $ref: '#/components/schemas/company'
+ country:
+ $ref: '#/components/schemas/country'
+ country_code:
+ $ref: '#/components/schemas/country_code'
+ email_address:
+ $ref: '#/components/schemas/email'
+ first_name:
+ $ref: '#/components/schemas/first_name'
+ id:
+ $ref: '#/components/schemas/billing_address_id'
+ last_name:
+ $ref: '#/components/schemas/last_name'
+ locality:
+ $ref: '#/components/schemas/locality'
+ name:
+ $ref: '#/components/schemas/name_person'
+ phone_number:
+ $ref: '#/components/schemas/phone'
+ postal_code:
+ $ref: '#/components/schemas/postal_code'
+ region:
+ $ref: '#/components/schemas/region'
+ street_address1:
+ $ref: '#/components/schemas/street_address'
+ street_address2:
+ $ref: '#/components/schemas/street_address'
+ street_address3:
+ $ref: '#/components/schemas/street_address'
+ street_address4:
+ $ref: '#/components/schemas/street_address'
+ required:
+ - street_address1
+ - locality
+ - region
+ - postal_code
+ type: object
+ in_store_shipment:
+ description: A cart that is being prepared for shipment
+ properties:
+ carrier:
+ $ref: '#/components/schemas/carrier'
+ cost:
+ $ref: '#/components/schemas/amounts'
+ default:
+ $ref: '#/components/schemas/default'
+ estimated_delivery_date:
+ $ref: '#/components/schemas/estimated_delivery_date'
+ expedited:
+ $ref: '#/components/schemas/expedited'
+ gift_options:
+ $ref: '#/components/schemas/gift_options'
+ id:
+ $ref: '#/components/schemas/shipping_address_id'
+ package_dimension:
+ $ref: '#/components/schemas/package_dimension'
+ package_type:
+ $ref: '#/components/schemas/package_type'
+ package_weights:
+ $ref: '#/components/schemas/package_weights'
+ reference:
+ $ref: '#/components/schemas/reference'
+ service:
+ $ref: '#/components/schemas/service'
+ shipping_address:
+ $ref: '#/components/schemas/consumer_billing_address'
+ shipping_method:
+ $ref: '#/components/schemas/shipping_method'
+ signature:
+ $ref: '#/components/schemas/signature'
+ tax_amount:
+ $ref: '#/components/schemas/amounts'
+ total_weight:
+ $ref: '#/components/schemas/total_weight'
+ type: object
+ in_store_shipment2:
+ description: A cart that is being prepared for shipment
+ properties:
+ address:
+ $ref: '#/components/schemas/address_view'
+ distance:
+ example: 1.2
+ type: number
+ distance_unit:
+ enum:
+ - mile
+ - km
+ type: string
+ shipment:
+ $ref: '#/components/schemas/in_store_shipment'
+ store_name:
+ example: My Store
+ type: string
+ type: object
+ fulfillment_view:
+ properties:
+ cart_shipment:
+ $ref: '#/components/schemas/i_cart_shipment_view'
+ fulfillment_type:
+ type: string
+ id:
+ type: string
+ in_store_cart_shipment:
+ $ref: '#/components/schemas/in_store_shipment2'
+ items:
+ items:
+ $ref: '#/components/schemas/i_cart_item_view'
+ type: array
+ type: object
+ cart_loyalty_rewards_view:
+ properties:
+ amount:
+ $ref: '#/components/schemas/amount_view'
+ coupon_code:
+ type: string
+ description:
+ type: string
+ details:
+ type: string
+ points:
+ format: int64
+ type: integer
+ source:
+ type: string
+ type:
+ type: string
+ type: object
+ cart_view:
+ description: This is the cart object returned in a successful response.
+ properties:
+ billing_address:
+ $ref: '#/components/schemas/address_view'
+ cart_url:
+ description: Used to provide a link to the cart ID.
+ example: https://boltswagstore.com/orders/123456765432
+ maxLength: 8192
+ type: string
+ currency:
+ $ref: '#/components/schemas/i_currency'
+ discount_amount:
+ $ref: '#/components/schemas/amount_view'
+ discounts:
+ items:
+ $ref: '#/components/schemas/i_cart_discount_view'
+ type: array
+ display_id:
+ example: displayid_100
+ type: string
+ fee_amount:
+ $ref: '#/components/schemas/amount_view'
+ fees:
+ items:
+ $ref: '#/components/schemas/i_cart_item_view'
+ type: array
+ fulfillments:
+ items:
+ $ref: '#/components/schemas/fulfillment_view'
+ type: array
+ in_store_shipments:
+ $ref: '#/components/schemas/in_store_shipment2'
+ items:
+ items:
+ $ref: '#/components/schemas/i_cart_item_view'
+ type: array
+ loyalty_rewards:
+ items:
+ $ref: '#/components/schemas/cart_loyalty_rewards_view'
+ type: array
+ loyalty_rewards_amount:
+ $ref: '#/components/schemas/amount_view'
+ merchant_order_url:
+ type: string
+ metadata:
+ additionalProperties:
+ type: string
+ type: object
+ msrp:
+ $ref: '#/components/schemas/amount_view'
+ order_description:
+ description: Used optionally to pass additional information like order numbers or other IDs as needed.
+ example: 'Order #1234567890'
+ maxLength: 1024
+ type: string
+ order_reference:
+ description: This value is used by Bolt as an external reference to a given order. This reference must be unique per successful transaction.
+ example: order_100
+ type: string
+ shipments:
+ items:
+ $ref: '#/components/schemas/i_cart_shipment_view'
+ type: array
+ shipping_amount:
+ $ref: '#/components/schemas/amount_view'
+ subtotal_amount:
+ $ref: '#/components/schemas/amount_view'
+ tax_amount:
+ $ref: '#/components/schemas/amount_view'
+ total_amount:
+ $ref: '#/components/schemas/amount_view'
+ transaction_reference:
+ description: The 12 digit reference ID associated to a given transaction webhook for an order.
+ example: 6CEA-ZME1-DACE
+ maxLength: 12
+ minLength: 12
+ type: string
+ type: object
+ order_external_data_view:
+ properties:
+ shopify:
+ type: string
+ type: object
+ order_view:
+ properties:
+ cart:
+ $ref: '#/components/schemas/cart_view'
+ dynamic_content:
+ $ref: '#/components/schemas/i_order_dynamic_content'
+ external_data:
+ $ref: '#/components/schemas/order_external_data_view'
+ platform_user_id:
+ type: string
+ requires_action:
+ type: string
+ token:
+ type: string
+ user_note:
+ description: Used by shoppers to make extra requests or provide details for gift messages.
+ type: string
+ type: object
+ refund_transactions_view:
description: |
- Add a payment method to a shopper's Bolt account Wallet. For security purposes, this request must come from your backend because authentication requires the use of your private key.
-
- **Note**: Before using this API, the credit card details must be tokenized using Bolt's JavaScript library function, which is documented in [Install the Bolt Tokenizer](https://help.bolt.com/developers/references/bolt-tokenizer).
- operationId: addPaymentMethod
- parameters:
- - $ref: '#/components/parameters/x-publishable-key'
- - $ref: '#/components/parameters/idempotency_key'
- requestBody:
- content:
- application/json:
- schema:
- allOf:
- - $ref: '#/components/schemas/credit_card_account'
- - properties:
- currency:
- description: This can be left empty. A 3-digit ISO code for currency that will be used in the credit card authorization.
- type: string
- example: USD
- type: object
- responses:
- '200':
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/saved_credit_card_view'
- description: Payment Method Added
- security:
- - OAuth:
- - bolt.account.manage
- X-API-Key: []
- summary: Add Payment Method
- tags:
- - Account
- /v1/account/payment_methods/{payment_method_id}:
- delete:
- description: Delete a saved payment method from a shopper's Bolt account Wallet.
- operationId: deletePaymentMethod
- parameters:
- - $ref: '#/components/parameters/shopper_payment_method_id_path_param'
- - $ref: '#/components/parameters/x-publishable-key'
- responses:
- '200':
- description: Success
- '403':
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/errors_bolt_api_response'
- description: Forbidden
- '404':
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/errors_bolt_api_response'
- description: Not Found
- security:
- - OAuth:
- - bolt.account.manage
- X-API-Key: []
- summary: Delete Payment Method
- tags:
- - Account
- /v1/merchant/callbacks:
- get:
- description: Retrieves callbacks URLs for a Bolt merchant division.
- operationId: getMerchantCallbacks
- parameters:
- - $ref: '#/components/parameters/division_id'
- responses:
- '200':
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/merchant_callbacks_view'
- description: Merchant Callbacks Retrieved
- '400':
- $ref: '#/components/responses/merchant_callbacks_error_400'
- '403':
- $ref: '#/components/responses/merchant_callbacks_error_403'
- security:
- - X-API-Key: []
- summary: Get Callback URLs
- tags:
- - Configuration
- post:
- description: Configure callbacks URLs for a Bolt merchant division. This will store or override only the callback URLs that are specified in the request. Operations are fully transactional.
- operationId: setMerchantCallbacks
- requestBody:
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/merchant_callbacks_input'
- responses:
- '200':
- description: Successfully sets callback URLs. No JSON schema is expected.
- '400':
- $ref: '#/components/responses/merchant_callbacks_error_400'
- '403':
- $ref: '#/components/responses/merchant_callbacks_error_403'
- '422':
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/errors_bolt_api_response'
- description: Request did not pass input validation. Check required fields are populated & meet input requirements.
- security:
- - X-API-Key: []
- summary: Set Callback URLs
- tags:
- - Configuration
- /v1/merchant/identifiers:
- get:
- description: This endpoint returns the merchant's public ID and the [publishable key](https://help.bolt.com/developers/tools/api-keys/) related to the merchant division.
- operationId: getMerchantIdentifiers
- responses:
- '200':
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/merchant_identifiers_view'
- description: Merchant Identifiers Retrieved
- '403':
- $ref: '#/components/responses/merchant_identifier_error_403'
- security:
- - X-API-Key: []
- summary: Get Merchant Identifiers
- tags:
- - Configuration
- /v1/merchant/orders:
- post:
- description: Make a request to this endpoint to create a Bolt order, generate a Bolt order token, and initiate the checkout process. A Bolt order token is required for Bolt orders; see Non-Bolt orders for alternative use cases.
- operationId: createOrderToken
- requestBody:
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/order_create'
- description: Generate Order Token
- responses:
- '200':
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/i_order_view'
- description: Token Generation Successful
- '400':
- $ref: '#/components/responses/order_generate_error_400'
- '403':
- $ref: '#/components/responses/order_generate_error_403'
- '422':
- $ref: '#/components/responses/order_generate_error_422'
- security:
- - X-API-Key: []
- summary: Create Order Token
- tags:
- - Orders
- /v1/merchant/statement:
- post:
- description: Get a pre-signed URL for the requested statement file.
- operationId: getStatements
- requestBody:
- $ref: '#/components/requestBodies/statements_view'
- responses:
- '200':
- $ref: '#/components/responses/statements_view'
- '403':
- $ref: '#/components/responses/statements_view_error_403'
- '404':
- $ref: '#/components/responses/statements_view_error_404'
- '422':
- $ref: '#/components/responses/statements_view_error_422'
- security:
- - X-API-Key:
- - X-API-Key
- summary: Fetch a Statement
- tags:
- - Statements
- /v1/merchant/track_shipment:
- post:
+ **Nullable** for Transactions Details.
+ items:
+ $ref: '#/components/schemas/transaction_view'
+ type: array
+ address_change_view:
+ properties:
+ from_address:
+ $ref: '#/components/schemas/address_view'
+ status:
+ type: string
+ ticket_id:
+ type: string
+ timestamp:
+ format: int64
+ type: number
+ to_address:
+ $ref: '#/components/schemas/address_view'
+ type: object
+ risk_model_resul_contribution_view:
+ properties:
+ category:
+ type: string
+ weight:
+ type: string
+ type: object
+ risk_model_result_view:
+ properties:
+ contribution:
+ items:
+ $ref: '#/components/schemas/risk_model_resul_contribution_view'
+ type: array
+ type: object
+ transaction_review_view:
+ properties:
+ date:
+ format: int64
+ type: number
+ decision:
+ type: string
+ risk_model_result:
+ $ref: '#/components/schemas/risk_model_result_view'
+ source:
+ type: string
+ type: object
+ transaction_timeline_view:
+ properties:
+ address_change:
+ $ref: '#/components/schemas/address_change_view'
+ amount:
+ $ref: '#/components/schemas/amount_view'
+ consumer:
+ $ref: '#/components/schemas/consumer_summary_view'
+ date:
+ type: number
+ note:
+ type: string
+ review:
+ $ref: '#/components/schemas/transaction_review_view'
+ transaction:
+ $ref: '#/components/schemas/transaction_view'
+ type:
+ enum:
+ - completed
+ - authorized
+ - review
+ - note
+ - voided
+ - captured
+ - credited
+ - address_change
+ type: string
+ visibility:
+ type: string
+ type: object
+ auth_rejection_details_view:
+ properties:
+ reason_code:
+ type: string
+ reason_description:
+ type: string
+ required:
+ - reason_description
+ type: object
+ transaction_details_view:
+ allOf:
+ - $ref: '#/components/schemas/transaction_view'
+ - properties:
+ address_change_request_metadata:
+ $ref: '#/components/schemas/address_change_request_metadata_view'
+ adjust_transactions:
+ items:
+ $ref: '#/components/schemas/transaction_view'
+ type: array
+ auth_verification_status:
+ enum:
+ - ''
+ - new
+ example: new
+ type: string
+ authorization_id:
+ type: string
+ chargeback_details:
+ $ref: '#/components/schemas/chargeback_details_view'
+ custom_fields:
+ items:
+ $ref: '#/components/schemas/custom_field_full_response_view'
+ type: array
+ customer_list_status:
+ $ref: '#/components/schemas/customer_list_status'
+ manual_disputes:
+ items:
+ $ref: '#/components/schemas/manual_dispute_view'
+ type: array
+ order:
+ $ref: '#/components/schemas/order_view'
+ refund_transaction_ids:
+ items:
+ type: string
+ type: array
+ refund_transactions:
+ $ref: '#/components/schemas/refund_transactions_view'
+ refunded_amount:
+ $ref: '#/components/schemas/amount_view'
+ source_transaction:
+ $ref: '#/components/schemas/transaction_view'
+ timeline:
+ items:
+ $ref: '#/components/schemas/transaction_timeline_view'
+ type: array
+ transaction_rejection_details:
+ properties:
+ auth_rejection_details:
+ $ref: '#/components/schemas/auth_rejection_details_view'
+ type: object
+ void_cause:
+ description: Determines why the transaction was voided.
+ enum:
+ - merchant_action
+ - shopify_sync
+ - paypal_sync
+ - amazon_pay_sync
+ - irreversible_reject
+ - auth_expire
+ - auth_verification_expired
+ - payment_method_updater
+ example: irreversible_reject
+ type: string
+ type: object
+ credit_card_void:
+ properties:
+ merchant_event_id:
+ $ref: '#/components/schemas/transaction_merchant_event_id'
+ skip_hook_notification:
+ $ref: '#/components/schemas/transaction_skip_hook_notification'
+ transaction_reference:
+ $ref: '#/components/schemas/transaction_reference'
+ required:
+ - transaction_reference
+ type: object
+ adjust_transactions:
+ description: |
+ **Nullable** for Transactions Details.
+ items:
+ $ref: '#/components/schemas/transaction_view'
+ type: array
+ authorization_verification_status:
+ description: 'Used to track the status of micro-authorizations. **Nullable** for Transactions Details. '
+ enum:
+ - new
+ - verified
+ - failed
+ - expired
+ example: new
+ type: string
+ authorization_id:
+ description: The authorization's id.
+ example: T1c3p4yBuVYJ9
+ type: string
+ captures_view:
+ description: All captures associated with the transaction. **Nullable** for Transactions Details.
+ items:
+ $ref: '#/components/schemas/capture_view'
+ type: array
+ chargeback_id:
+ description: The unique ID of the chargeback.
+ example: a3ad4d56fd7
+ type: string
+ chargeback_reason:
+ description: The reason for the chargeback.
+ example: string
+ type: string
+ chargeback_reason_code:
+ description: Bolt's [standardized reason codes](https://help.bolt.com/merchants/references/policies/disputes/dispute-codes/).
+ enum:
+ - authorization_failed
+ - cancelled_recurring
+ - cardholder_dispute
+ - currency_error
+ - duplicate
+ - fraud_general
+ - fraud_no_authorization
+ - incorrect_amount
+ - late_presentment
+ - processing_error
+ - processor_general
+ - product_defective
+ - product_not_received
+ - product_returned
+ - request_for_information
+ example: product_not_received
+ type: string
+ chargeback_representment_reply_by_date:
+ description: The date of the chargeback.
+ example: 1485997169003
+ type: integer
+ chargeback_representment_result:
+ description: The result of the chargeback representment.
+ enum:
+ - none
+ - open
+ - lost
+ - won
+ example: won
+ type: string
+ chargeback_details:
+ properties:
+ amt_won:
+ $ref: '#/components/schemas/amount_view'
+ chargeback_amt:
+ $ref: '#/components/schemas/amount_view'
+ chargeback_fee:
+ $ref: '#/components/schemas/amount_view'
+ chargeback_id:
+ $ref: '#/components/schemas/chargeback_id'
+ event_views:
+ items:
+ $ref: '#/components/schemas/chargeback_event_view'
+ type: array
+ net_amt:
+ $ref: '#/components/schemas/amount_view'
+ reason:
+ $ref: '#/components/schemas/chargeback_reason'
+ reason_code:
+ $ref: '#/components/schemas/chargeback_reason_code'
+ representment_reply_by_date:
+ $ref: '#/components/schemas/chargeback_representment_reply_by_date'
+ representment_result:
+ $ref: '#/components/schemas/chargeback_representment_result'
+ type: object
+ credit:
+ properties:
+ status:
+ example: succeeded
+ type: string
+ type: object
+ custom_fields:
+ properties:
+ checkout_setup:
+ enum:
+ - shipping_step
+ - delivery_step
+ - payment_step
+ - account_registration_sso
+ example: string
+ type: string
+ dynamic:
+ description: Defines whether the field is dynamic.
+ example: false
+ type: boolean
+ context:
+ description: The app context of where the custom field is used.
+ enum:
+ - CHECKOUT
+ - SSO
+ example: CHECKOUT
+ type: string
+ external_id:
+ description: The external ID for the custom field.
+ example: '123456'
+ type: string
+ field_setup:
+ example: string
+ type: string
+ label:
+ description: The displayed label for the custom field, seen by the shopper.
+ example: Special Field
+ type: string
+ position:
+ example: 1
+ type: integer
+ public_id:
+ description: The internal ID for the custom field.
+ example: i-123456
+ type: string
+ required:
+ description: Defines if the field must be completed to check out.
+ example: true
+ type: boolean
+ subscribe_to_newsletter:
+ description: Defines whether the shopper is opted into a newsletter or not.
+ example: false
+ type: boolean
+ type: object
+ email_id:
+ description: This is the ID for the email address associated with the shopper.
+ example: '123'
+ type: string
+ email_priority:
+ description: This is the priority of the contact method. This field's contents are not displayed in the transaction details view.
+ enum:
+ - primary
+ - listed
+ example: primary
+ type: string
+ email_status:
+ description: This is the status of the contact method.
+ enum:
+ - active
+ - pending
+ - inactive
+ example: active
+ type: string
+ emails:
+ description: A list of email addresses. **Nullable** for Transactions Details.
+ items:
+ description: An object of user email.
+ properties:
+ address:
+ $ref: '#/components/schemas/email'
+ id:
+ $ref: '#/components/schemas/email_id'
+ priority:
+ $ref: '#/components/schemas/email_priority'
+ status:
+ $ref: '#/components/schemas/email_status'
+ type: object
+ type: array
+ consumer_id:
+ description: The shopper's unique ID.
+ example: b2vghjk2v4c5fgdh3jak
+ type: string
+ phone_country_code:
+ description: A phone number's country code.
+ example: '1'
+ type: string
+ phone_id:
+ description: This is the ID for the phone number associated with the shopper.
+ example: '123'
+ type: string
+ phone_priority:
+ description: This is the priority of the contact method. This field's contents are not displayed in the transaction details view.
+ enum:
+ - primary
+ - listed
+ example: primary
+ type: string
+ phone_status:
+ description: This is the status of the contact method.
+ enum:
+ - active
+ - pending
+ - inactive
+ example: active
+ type: string
+ phones_with_country_code:
+ description: A list of phone numbers.
+ items:
+ description: A phone number with country code.
+ properties:
+ country_code:
+ $ref: '#/components/schemas/phone_country_code'
+ id:
+ $ref: '#/components/schemas/phone_id'
+ number:
+ $ref: '#/components/schemas/phone'
+ priority:
+ $ref: '#/components/schemas/phone_priority'
+ status:
+ $ref: '#/components/schemas/phone_status'
+ type: object
+ type: array
+ credit_card_user:
+ description: The credit card user.
+ properties:
+ emails:
+ $ref: '#/components/schemas/emails'
+ first_name:
+ $ref: '#/components/schemas/first_name'
+ id:
+ $ref: '#/components/schemas/consumer_id'
+ last_name:
+ $ref: '#/components/schemas/last_name'
+ phones:
+ $ref: '#/components/schemas/phones_with_country_code'
+ type: object
+ consumer_membership_status:
+ description: True if user has an AllPass membership associated to their Bolt Account. **Nullable** for Transactions Details.
+ enum:
+ - active
+ - cancelled
+ - disabled
+ - free_trial
+ type: string
+ consumer_user_membership:
description: |
- Send the carrier and order tracking number to Bolt (after a label has been printed). Bolt then uses EasyPost to forward ongoing tracking event updates to the shopper. This request must include **all** items included in the shipment; their references must also match those found in the original cart generation.
- operationId: trackOrder
- requestBody:
- $ref: '#/components/requestBodies/order_track'
- responses:
- '200':
- $ref: '#/components/responses/order_track'
- '400':
- $ref: '#/components/responses/order_track_error_400'
- '422':
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/errors_bolt_api_response'
- description: Generic Error Schema
- security:
- - X-API-Key:
- - X-API-Key
- summary: Send order tracking details
- tags:
- - Orders
- /v1/merchant/transactions/authorize:
- post:
+ **Nullable** for Transactions Details.
+ properties:
+ status:
+ $ref: '#/components/schemas/consumer_membership_status'
+ required:
+ - status
+ type: object
+ last_viewed_utc:
+ description: The last view time as UTC.
+ example: 1485997169003
+ type: integer
+ manual_disputes:
+ properties:
+ amount:
+ $ref: '#/components/schemas/amount'
+ currency:
+ $ref: '#/components/schemas/currency_iso'
+ delivery_evidence:
+ example: Delivery Evidence
+ type: string
+ delivery_link:
+ example: https://example.com/delivery/234563245
+ type: string
+ dispute_evidence:
+ example: Dispute Evidence
+ type: string
+ dispute_link:
+ example: https://example.com/receipts/234563245
+ type: string
+ other_evidence:
+ example: Other Evidence
+ type: string
+ other_link:
+ example: https://example.com/other/234563245
+ type: string
+ reason:
+ example: string
+ type: string
+ status:
+ enum:
+ - pending
+ - approved
+ - denied
+ example: pending
+ type: string
+ type: object
+ merchant_created_date:
+ description: The date the merchant account was created. **Nullable** for Transactions Details.
+ example: 1485997169003
+ type: integer
+ merchant_description:
+ description: The description of the merchant account. **Nullable** for Transactions Details.
+ example: Brand Name Here.
+ type: string
+ merchant_onboarding_status_code:
+ enum:
+ - new_merchant
+ - user_created
+ - form_filled
+ - integration_done
+ - legacy
+ - processor_settings_received
+ type: string
+ transaction_processor_status:
+ description: The processor's status. Only `primary` and `active` processor are displayed.
+ enum:
+ - primary
+ - active
+ - inactive
+ example: primary
+ type: string
+ transaction_operational_processor:
+ properties:
+ processor:
+ $ref: '#/components/schemas/transaction_processor'
+ status:
+ $ref: '#/components/schemas/transaction_processor_status'
+ required:
+ - processor
+ - status
+ type: object
+ transaction_operational_processors:
+ description: |
+ **Nullable** for Transactions Details.
+ items:
+ $ref: '#/components/schemas/transaction_operational_processor'
+ type: array
+ merchant_public_id:
+ description: The unique public ID for the merchant's Bolt account. A merchant account contains many merchant divisions.
+ example: zSrbabI3MFe8
+ type: string
+ merchant_status:
+ description: |
+ The merchant's status:
+ * `1` - Active
+ * `2` - Inactive
+ * `3` - Offboarding
+ enum:
+ - 1
+ - 2
+ - 3
+ type: integer
+ merchant_time_zone:
+ description: The timezone of the merchant. **Nullable** for Transactions Details.
+ example: America/Los_Angeles
+ type: string
+ merchant:
+ properties:
+ created_at:
+ $ref: '#/components/schemas/merchant_created_date'
+ description:
+ $ref: '#/components/schemas/merchant_description'
+ onboarding_status:
+ $ref: '#/components/schemas/merchant_onboarding_status_code'
+ operational_processors:
+ $ref: '#/components/schemas/transaction_operational_processors'
+ processor:
+ $ref: '#/components/schemas/transaction_processor'
+ public_id:
+ $ref: '#/components/schemas/merchant_public_id'
+ status:
+ $ref: '#/components/schemas/merchant_status'
+ time_zone:
+ $ref: '#/components/schemas/merchant_time_zone'
+ required:
+ - created_at
+ - description
+ - processor
+ - operational_processors
+ - time_zone
+ type: object
+ merchant_account_page_url:
+ description: The URL provided by the merchant for the account page.
+ example: https://example.com/account
+ type: string
+ merchant_debug_url:
+ description: The endpoint URL provided by the merchant for debugging.
+ example: https://example.com/v1/debug
+ type: string
+ merchant_division_description:
+ description: The description of the merchant division. **Nullable** for Transactions Details.
+ example: Storefront for employees only.
+ type: string
+ merchant_get_account_url:
+ description: The endpoint URL provided by the merchant to fetch accounts.
+ example: https://example.com/api/v1/account_get
+ type: string
+ merchant_shopper_custom_fields_updated_url:
+ description: The endpoint URL provided by the merchant to be notified whenever shopper respond to the custom fields for creating merchant platform account.
+ example: https://example.com/api/v1/shopper_custom_fields_updated
+ type: string
+ webhooks_type:
+ description: |
+ [Webhook events](https://help.bolt.com/developers/guides/webhooks/#transaction-hook-types) that trigger a notification to the URL. **Note**:`newsletter_subscription` is only for merchant use cases.
+ enum:
+ - payment
+ - credit
+ - capture
+ - void
+ - auth
+ - pending
+ - rejected_irreversible
+ - rejected_reversible
+ - failed_payment
+ - newsletter_subscription
+ - risk_insights
+ - credit_card_deleted
+ example: pending
+ type: string
+ merchant_hook_url:
+ description: The endpoint URL provided by the merchant to send webhooks.
+ example: https://example.com/api/v1/hooks
+ type: string
+ merchant_division_id:
+ description: The unique ID associated to the merchant's Bolt Account division; Merchants can have different divisions to suit multiple use cases (storefronts, pay-by-link, phone order processing). You can view and switch between these divisions from the Bolt Merchant Dashboard.
+ example: 3X9aPQ67-YrB
+ type: string
+ merchant_division_domain:
+ description: The URL of the merchant division.
+ example: mystore-staging.boltapp.com
+ type: string
+ merchant_division_logo:
+ description: The logo image file for the merchant division.
+ example: division-logo.png
+ type: string
+ merchant_logo:
+ properties:
+ domain:
+ $ref: '#/components/schemas/merchant_division_domain'
+ resource:
+ $ref: '#/components/schemas/merchant_division_logo'
+ type: object
+ merchant_id:
+ description: The unique ID for the merchant's Bolt account. A merchant account contains many merchant divisions. **Nullable** for Transactions Details.
+ example: 3X9aPQ67-YrB
+ type: string
+ merchant_oauth_logout_url:
+ description: The endpoint URL provided by the merchant for logging out of OAuth accounts.
+ example: https://example.com/api/v1/oauth_logout
+ type: string
+ merchant_oauth_redirect_url:
+ description: The endpoint URL provided by the merchant for OAuth redirects.
+ example: https://example.com/api/v1/oauth_redirect
+ type: string
+ merchant_platform:
+ description: The type of platform being used for this merchant division.
+ enum:
+ - none
+ - big_commerce
+ - shopify
+ - magento
+ - magento2
+ - woo_commerce
+ - drupal
+ - volusion
+ - prestashop
+ - netsuite
+ - miva
+ - commerce_cloud
+ example: big_commerce
+ type: string
+ merchant_plugin_config_url:
+ description: The endpoint URL provided by the merchant for checking plugin configuration details.
+ example: https://example.com/api/v1/plugin_config
+ type: string
+ merchant_privacy_policy_url:
+ description: The endpoint URL provided by the merchant for providing a unique privacy policy.
+ example: https://example.com/api/v1/privacy
+ type: string
+ merchant_product_info_url:
+ description: The endpoint URL provided by the merchant for checking product details.
+ example: https://example.com/api/v1/product_details
+ type: string
+ merchant_division_public_id:
+ description: The unique public ID for one of the merchant's store division.
+ example: 3X9aPQ67-YrB
+ type: string
+ merchant_terms_of_service_url:
+ description: The endpoint URL provided by the merchant for providing unique terms of service.
+ example: https://example.com/api/v1/terms
+ type: string
+ merchant_universal_merchant_api_url:
+ description: The endpoint URL provided by the merchant to access their universal API.
+ example: https://example.com/api/bolt_universal
+ type: string
+ merchant_validate_additional_account_data_url:
+ description: The endpoint URL provided by the merchant for validating additional account data.
+ example: https://example.com/api/v1/account_validate
+ type: string
+ merchant_division:
+ properties:
+ account_page_url:
+ $ref: '#/components/schemas/merchant_account_page_url'
+ api_base_domain_url:
+ type: string
+ example: https://apibasedomainurl.com
+ create_order_url:
+ description: The endpoint URL provided by the merchant to Bolt for creating orders. **Nullable** for Transactions Details.
+ example: https://example.com/api/v1/create_order
+ type: string
+ debug_url:
+ $ref: '#/components/schemas/merchant_debug_url'
+ description:
+ $ref: '#/components/schemas/merchant_division_description'
+ get_account_url:
+ $ref: '#/components/schemas/merchant_get_account_url'
+ shopper_custom_fields_updated_url:
+ $ref: '#/components/schemas/merchant_shopper_custom_fields_updated_url'
+ hook_type:
+ $ref: '#/components/schemas/webhooks_type'
+ hook_url:
+ $ref: '#/components/schemas/merchant_hook_url'
+ id:
+ $ref: '#/components/schemas/merchant_division_id'
+ is_universal_merchant_api:
+ description: Defines whether or not the Universal API method is in use. **Nullable** for Transactions Details.
+ example: true
+ type: boolean
+ is_webhooks_v2:
+ description: Defines whether or not the second version of Bolt's webhooks is in use. **Nullable** for Transactions Details.
+ example: true
+ type: boolean
+ logo:
+ $ref: '#/components/schemas/merchant_logo'
+ merchant_id:
+ $ref: '#/components/schemas/merchant_id'
+ oauth_logout_url:
+ $ref: '#/components/schemas/merchant_oauth_logout_url'
+ oauth_redirect_url:
+ $ref: '#/components/schemas/merchant_oauth_redirect_url'
+ platform:
+ $ref: '#/components/schemas/merchant_platform'
+ plugin_config_url:
+ $ref: '#/components/schemas/merchant_plugin_config_url'
+ privacy_policy_url:
+ $ref: '#/components/schemas/merchant_privacy_policy_url'
+ product_info_url:
+ $ref: '#/components/schemas/merchant_product_info_url'
+ public_id:
+ $ref: '#/components/schemas/merchant_division_public_id'
+ shipping_and_tax_url:
+ description: The endpoint URL provided by the merchant to Bolt for shipping and tax calculations.
+ example: https://example.com/api/v1/shipping_and_tax
+ type: string
+ shipping_url:
+ description: The endpoint URL provided by the merchant to Bolt for shipping calculations. **Nullable** for Transactions Details.
+ example: https://example.com/api/v1/shipping
+ type: string
+ tax_url:
+ description: The endpoint URL provided by the merchant to Bolt for tax calculations. **Nullable** for Transactions Details.
+ example: https://example.com/api/v1/tax
+ type: string
+ terms_of_service_url:
+ $ref: '#/components/schemas/merchant_terms_of_service_url'
+ universal_merchant_api_url:
+ $ref: '#/components/schemas/merchant_universal_merchant_api_url'
+ update_cart_url:
+ description: The endpoint URL provided by the merchant to Bolt to pass cart updates.
+ example: https://example.com/api/v1/cart_update
+ type: string
+ validate_additional_account_data_url:
+ $ref: '#/components/schemas/merchant_validate_additional_account_data_url'
+ required:
+ - merchant_id
+ - description
+ - is_universal_merchant_api
+ - is_webhooks_v2
+ - shipping_url
+ - tax_url
+ type: object
+ merchant_order_number:
+ description: The merchant's internal order number for this transaction.
+ example: O-1234567
+ type: string
+ risk_decision_factor.yml:
+ description: One of the main contributing factors to the fraud decision and score.
+ enum:
+ - address_details
+ - auth_decline_stolen_card
+ - card_information
+ - cart_details
+ - checkout_behavior
+ - device_specifications
+ - email_details
+ - fraudulent_chargeback
+ - ip_details
+ - phone_details
+ - shipping_details
+ - too_many_attempts
+ - user_history
+ example: checkout_behavior
+ type: string
+ risk_decision_factors.yml:
+ description: The top 5 factors of the fraud decision.
+ items:
+ $ref: '#/components/schemas/risk_decision_factor.yml'
+ type: array
+ order_decision_score:
+ description: The total fraud risk score of the order.
+ example: '680'
+ type: integer
+ order_decision:
+ description: Decision and score for an order.
+ properties:
+ decision_factors:
+ $ref: '#/components/schemas/risk_decision_factors.yml'
+ score:
+ $ref: '#/components/schemas/order_decision_score'
+ type: object
+ refund_transaction_ids:
description: |
- This endpoint authorizes card payments and has three main use cases:
- * • Authorize a payment using an unsaved payment method for a guest or logged-in shopper.
- * • Authorize a payment using a saved payment method for a logged-in shopper.
- * • Re-charge a previous transaction using the `credit_card_id` of the transaction.
- operationId: authorizeTransaction
- parameters:
- - $ref: '#/components/parameters/x-publishable-key'
- - $ref: '#/components/parameters/idempotency_key'
- requestBody:
- content:
- application/json:
- schema:
- oneOf:
- - $ref: '#/components/schemas/merchant_credit_card_authorization'
- - $ref: '#/components/schemas/merchant_credit_card_authorization_recharge'
- description: |
- **Authorize a Transaction**
- * • `merchant_credit_card_authorization`: For authorizing with a new, unsaved card. This can be for a guest checkout flow, one-time payment, or an existing Bolt shopper.
- * • `merchant_credit_card_authorization_recharge`: For authorizing a card using a shoppers saved payment methods.
- * • **Anytime the shopper is paying while logged-in attach their OAuth `access_token` to the request.**
- responses:
- '200':
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/i_authorize_result_view'
- description: Authorization Successful
- security:
- - OAuth: []
- X-API-Key: []
- summary: Authorize a Card
- tags:
- - Transactions
- /v1/merchant/transactions/capture:
- post:
+ **Nullable** for Transactions Details.
+ items:
+ $ref: '#/components/schemas/transaction_id'
+ type: array
+ request_id:
+ description: The unique ID for the request ticket.
+ example: 2d34a56
+ type: string
+ request_deadline:
+ example: 1627955971268
+ type: integer
+ request_status:
+ enum:
+ - reviewed
+ - needs_review
+ - unknown
+ type: string
+ review_ticket:
+ description: Internal use only.
+ properties:
+ id:
+ $ref: '#/components/schemas/request_id'
+ request_deadline:
+ $ref: '#/components/schemas/request_deadline'
+ status:
+ $ref: '#/components/schemas/request_status'
+ type: object
+ risk_insight_availability.yml:
+ description: Must be set to `true` to receive fraud insights.
+ example: true
+ type: boolean
+ risk_fraud_probability.yml:
+ description: |
+ The total [fraud score](/merchants/references/policies/fraud-review/#fraud-scoring).
+ example: 943
+ type: integer
+ risk_insights.yml:
+ description: |
+ Displays fraud decisioning insights based on key factors. This information can either be forwarded via a `risk_insights` transaction webhook type or be polled by sending a `GET` request to Bolt's [transactions endpoint](/api-bolt/#operation/transaction-details).
+ properties:
+ available:
+ $ref: '#/components/schemas/risk_insight_availability.yml'
+ decision_factors:
+ $ref: '#/components/schemas/risk_decision_factors.yml'
+ fraud_probability:
+ $ref: '#/components/schemas/risk_fraud_probability.yml'
+ payment_instrument_factors:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ splits_view:
+ description: A list of splits. **Nullable** for Transactions Details.
+ items:
+ description: A split of fees by type and amount.
+ properties:
+ amount:
+ $ref: '#/components/schemas/amount_view'
+ type:
+ description: |
+ **Nullable** for Transactions Details.
+ enum:
+ - net
+ - processing_fee
+ - bolt_fee
+ - adjustment
+ - float
+ - reserve
+ example: processing_fee
+ type: string
+ type: object
+ type: array
+ auth_rejection_details:
+ properties:
+ reason_code:
+ type: string
+ reason_description:
+ type: string
+ type: object
+ transaction_rejection_details_view:
+ properties:
+ auth_rejection_details:
+ $ref: '#/components/schemas/auth_rejection_details'
+ type: object
+ transaction_update_input:
+ type: object
+ properties:
+ display_id:
+ description: This field corresponds to the merchant's order reference associated with this Bolt transaction.
+ type: string
+ example: order-123
+ metadata:
+ additionalProperties:
+ type: string
+ description: Custom metadata associated with this Bolt transaction.
+ example:
+ key1: value1
+ key2: value2
+ type: object
+ o_auth_token_input:
+ properties:
+ client_id:
+ description: Merchant publishable key which can be found in the merchant dashboard
+ type: string
+ client_secret:
+ description: Your Bolt API Key.
+ type: string
+ code:
+ description: Fetched value using OTP value from the Authorization Modal.
+ type: string
+ grant_type:
+ description: |
+ The type of OAuth 2.0 grant being utilized.
+
+ The value will always be `authorization_code` when exchanging an authorization code for an access token.
+ enum:
+ - authorization_code
+ type: string
+ scope:
+ description: The scope issued to the merchant when receiving an authorization code. Options include `bolt.account.manage`, `bolt.account.view`, `openid`. You can find more information on these options in our [OAuth scope documentation](https://help.bolt.com/developers/references/bolt-oauth/#scopes).
+ enum:
+ - bolt.account.manage
+ - bolt.account.view
+ - openid
+ type: string
+ state:
+ description: A randomly generated string issued to the merchant when receiving an authorization code used to prevent CSRF attacks
+ type: string
+ required:
+ - grant_type
+ - code
+ - client_id
+ - scope
+ - client_secret
+ title: Authorization Code Request
+ type: object
+ o_auth_token_input_refresh:
+ properties:
+ client_id:
+ description: Merchant publishable key which can be found in the merchant dashboard
+ type: string
+ client_secret:
+ description: Your Bolt API Key.
+ type: string
+ grant_type:
+ description: |
+ The type of OAuth 2.0 grant being utilized.
+
+ The value will always be `refresh_token` when exchanging a refresh token for an access token.
+ enum:
+ - refresh_token
+ type: string
+ refresh_token:
+ description: The value of the refresh token issued to you in the originating OAuth token request.
+ type: string
+ scope:
+ description: The scope issued to the merchant when receiving an authorization code. Options include `bolt.account.manage`, `bolt.account.view`, `openid`.
+ type: string
+ state:
+ description: A randomly generated string issued to the merchant when receiving an authorization code used to prevent CSRF attacks
+ type: string
+ required:
+ - grant_type
+ - client_id
+ - refresh_token
+ - scope
+ - client_secret
+ title: Refresh Token Request
+ type: object
+ o_auth_token_response:
+ properties:
+ access_token:
+ description: An access token you can use to make requests on behalf of a Bolt Account.
+ type: string
+ expires_in:
+ description: Access token’s expiration in seconds.
+ type: integer
+ id_token:
+ description: A JWT token issued when the request includes the scope open_id.
+ type: string
+ refresh_token:
+ description: A refresh token you can use to issue a brand new access token without obtaining a new authorization code.
+ type: string
+ refresh_token_scope:
+ description: The scope granted to the refresh token. Currently this will always be bolt.account.view.
+ type: string
+ scope:
+ description: The scope granted to access token, depending on the scope granted to the authorization code as well as the scope parameter. Options include `bolt.account.manage`, `bolt.account.view`, `openid`.
+ type: string
+ token_type:
+ description: The token_type will always be bearer.
+ type: string
+ type: object
+ errors_oauth_server_response:
+ properties:
+ error:
+ type: string
+ error_description:
+ type: string
+ type: object
+ tracking_detail:
+ properties:
+ city:
+ example: New York
+ type: string
+ country:
+ example: USA
+ type: string
+ datetime:
+ example: '2017-07-21T17:32:28Z'
+ format: date-time
+ type: string
+ message:
+ example: BILLING INFORMATION RECEIVED
+ type: string
+ state:
+ example: New York
+ type: string
+ status:
+ description: The transit status of the order being tracked.
+ enum:
+ - unknown
+ - pre_transit
+ - in_transit
+ - out_for_delivery
+ - delivered
+ - available_for_pickup
+ - return_to_sender
+ - failure
+ - cancelled
+ - error
+ example: in_transit
+ type: string
+ zip:
+ example: '10044'
+ type: string
+ required:
+ - city
+ - state
+ - zip
+ - country
+ - datetime
+ - status
+ - message
+ type: object
+ mock_tracking_input:
+ properties:
+ delivery_estimate:
+ type: string
+ status:
+ description: The shipment status of a simulated order.
+ enum:
+ - in_transit
+ - cancelled
+ - failure
+ - delivered
+ type: string
+ tracking_detail:
+ description: A list of tracking updates that contain the shipment's status, location, and any unique messages.
+ items:
+ $ref: '#/components/schemas/tracking_detail'
+ type: array
+ tracking_number:
+ description: The carrier's tracking number for the shipment (Order Tracking Testing). Must begin with `MockBolt`.
+ example: MockBolt1234
+ type: string
+ required:
+ - tracking_number
+ - status
+ - delivery_estimate
+ - tracking_detail
+ type: object
+ webhook_event_group:
+ description: |
+ Subscribe to a group of events.
+ `all`: subscribe to all existing and future event types
+ enum:
+ - all
+ - 'null'
+ nullable: true
+ type: string
+ url:
+ description: The full URL to receive webhook notifications.
+ example: https://eva-nerv.shop.com/path/to/hook
+ type: string
+ webhook_id:
+ description: A unique webhook ID. Reference this value to modify or delete the webhook subscription. operations as well.
+ example: wh_za7VbYcSQU2zRgGQXQAm-g
+ type: string
+ webhook:
+ properties:
+ created_at:
+ description: Webhook creation time in epoch timestamp milliseconds.
+ example: 1485997169003
+ type: integer
+ event_group:
+ $ref: '#/components/schemas/webhook_event_group'
+ events:
+ description: |
+ All events the webhook is subscribed to. Null when `event_group` = `all`.
+ items:
+ $ref: '#/components/schemas/webhooks_type'
+ nullable: true
+ type: array
+ url:
+ $ref: '#/components/schemas/url'
+ webhook_id:
+ $ref: '#/components/schemas/webhook_id'
+ required:
+ - webhook_id
+ - created_at
+ - url
+ type: object
+ base_create_webhook:
+ properties:
+ division_id:
+ description: The unique ID associated with the specific merchant division.
+ example: 3X9aPQ67-YrB
+ type: string
+ url:
+ $ref: '#/components/schemas/url'
+ required:
+ - division_id
+ - url
+ type: object
+ event_group_create_webhook:
+ allOf:
+ - $ref: '#/components/schemas/base_create_webhook'
+ - type: object
+ properties:
+ event_group:
+ $ref: '#/components/schemas/webhook_event_group'
+ events_array_create_webhook:
+ allOf:
+ - $ref: '#/components/schemas/base_create_webhook'
+ - type: object
+ properties:
+ events:
+ description: |
+ If `webhook_event_group` is null, pick a list of notification events to subscribe to.
+ items:
+ $ref: '#/components/schemas/webhooks_type'
+ type: array
+ account_identifier_status:
+ description: The status of the shopper account identifier (email or phone). If the account does not have this identifier, the status is "missing"; If the identifier has been used to receive an OTP code, the status is "verified"; If the identifier has not been used to receive an OTP code, the status is "unverified".
+ enum:
+ - missing
+ - verified
+ - unverified
+ example: verified
+ type: string
+ testing_account_request:
+ properties:
+ deactivate_in_days:
+ description: 'Number of days after which the test account is deactivated. Default: 30 days. Maximum: 180 days.'
+ type: integer
+ email:
+ description: Deprecated. Please leave this field absent and let the API automatically generate a random email.
+ type: string
+ email_state:
+ $ref: '#/components/schemas/account_identifier_status'
+ phone:
+ description: Deprecated. Please leave this field absent and let the API automatically generate a random phone number.
+ type: string
+ phone_state:
+ $ref: '#/components/schemas/account_identifier_status'
+ migrated:
+ description: Set this account as migrated by the merchant in the request
+ type: boolean
+ has_address:
+ description: Add a random U.S. address to the created account if set to `true`
+ type: boolean
+ type: object
+ example:
+ deactivate_in_days: 30
+ email_state: verified
+ phone_state: verified
+ testing_account_details:
+ properties:
+ email:
+ description: The email of the testing account
+ $ref: '#/components/schemas/email'
+ email_state:
+ example: verified
+ $ref: '#/components/schemas/account_identifier_status'
+ phone:
+ description: The phone number of the testing account
+ $ref: '#/components/schemas/phone'
+ phone_state:
+ example: unverified
+ $ref: '#/components/schemas/account_identifier_status'
+ otp_code:
+ description: Fixed OTP code that can be used to login to the created account
+ example: 123456
+ type: string
+ migrated_merchant_owner_id:
+ description: The merchant's public id if the account is migrated
+ example: addvfRR_bp_7
+ type: string
+ will_deactivate_at:
+ description: The created testing account will be deactivated after this date
+ example: '2023-06-01T23:16:07Z'
+ type: string
+ oauth_code:
+ description: OAuth code that is associated with this account and can be used to exchange for an access token
+ example: 7GSjMRSHs6Ak7C_zvVW6P2IhZOHxMK7HZKW1fMX85ms.-DUXvwr1Yg-bfvqXUlMaz49fPn7OdiPa3TwVBlUI-wc
+ type: string
+ type: object
+ 1005_code:
+ description: Invalid merchant key.
+ example: 1005
+ format: int64
+ type: integer
+ 1005_message:
+ description: Authentication error. Invalid merchant key.
+ example: Authentication error. Invalid merchant key.
+ type: string
+ 1005_invalid_merchant_key:
+ properties:
+ code:
+ $ref: '#/components/schemas/1005_code'
+ message:
+ $ref: '#/components/schemas/1005_message'
+ type: object
+ account_login_status:
+ enum:
+ - success
+ - failure
+ example: success
+ type: string
+ address_change_status:
+ description: The status of the request.
+ enum:
+ - pending
+ - cancelled
+ - approved
+ - rejected
+ type: string
+ address_change_ticket_id:
+ description: The ID of the ticket.
+ example: ticket-25
+ type: string
+ address_change_timestamp:
+ description: The timestamp of the address change request.
+ example: 1615407159447
+ type: integer
+ address_change:
+ properties:
+ from_address:
+ $ref: '#/components/schemas/consumer_billing_address'
+ status:
+ $ref: '#/components/schemas/address_change_status'
+ ticket_id:
+ $ref: '#/components/schemas/address_change_ticket_id'
+ timestamp:
+ $ref: '#/components/schemas/address_change_timestamp'
+ to_address:
+ $ref: '#/components/schemas/consumer_billing_address'
+ type: object
+ address_change_id:
+ description: The Unique ID for the change request.
+ example: a7sd7f23ghjk5lyt42f
+ type: string
+ address_change_ticket_status:
+ description: The status of the request.
+ enum:
+ - pending
+ - open
+ - closed
+ type: string
+ adjust_transaction_merchant:
+ properties:
+ created_at:
+ $ref: '#/components/schemas/merchant_created_date'
+ description:
+ $ref: '#/components/schemas/merchant_description'
+ operational_processors:
+ $ref: '#/components/schemas/transaction_operational_processors'
+ processor:
+ $ref: '#/components/schemas/transaction_processor'
+ public_id:
+ $ref: '#/components/schemas/merchant_public_id'
+ time_zone:
+ $ref: '#/components/schemas/merchant_time_zone'
+ required:
+ - created_at
+ - description
+ - processor
+ - operational_processors
+ - time_zone
+ type: object
+ alliance_data_info:
+ properties:
+ call_id:
+ type: string
+ required:
+ - call_id
+ type: object
+ authorization_reason_codes:
+ description: The code matching the rejection reason.
+ example: code-1234
+ type: string
+ authorization_reason_description:
+ description: The explanation of the reason code.
+ example: Card reported stolen
+ type: string
+ hosted_payments_response:
+ properties:
+ x_account_id:
+ type: string
+ x_amount:
+ type: string
+ x_currency:
+ example: USD
+ type: string
+ x_gateway_reference:
+ type: string
+ x_message:
+ type: string
+ x_reference:
+ type: string
+ x_result:
+ enum:
+ - completed
+ - failed
+ - pending
+ type: string
+ x_signature:
+ type: string
+ x_test:
+ type: string
+ x_timestamp:
+ type: string
+ required:
+ - x_account_id
+ - x_amount
+ - x_currency
+ - x_gateway_reference
+ - x_reference
+ - x_result
+ - x_signature
+ - x_test
+ - x_timestamp
+ type: object
+ sfcc_order_output:
+ properties:
+ sfcc_order_token:
+ type: string
+ type: object
+ authorize_external_outputs:
+ properties:
+ commerce_cloud_order_uuid:
+ type: string
+ shopify_response:
+ $ref: '#/components/schemas/hosted_payments_response'
+ sfcc_response:
+ $ref: '#/components/schemas/sfcc_order_output'
+ type: object
+ auto_approved:
+ description: If merchant has whitelisted, is `true`.
+ example: false
+ type: boolean
+ availability:
+ description: Determines if the product is available.
+ enum:
+ - out_of_stock
+ - in_stock
+ - pre_order
+ example: in_stock
+ type: string
+ availability_count:
+ description: How many are in stock.
+ example: '19'
+ type: integer
+ base_model:
+ description: Base model.
+ properties:
+ CreatedAt:
+ format: timestamp
+ type: integer
+ DeactivatedAt:
+ format: timestamp
+ nullable: true
+ type: integer
+ DeactivatedBy:
+ format: int64
+ nullable: true
+ type: integer
+ ID:
+ format: int64
+ type: integer
+ UpdatedAt:
+ format: timestamp
+ type: integer
+ type: object
+ block_listed:
+ description: If merchant has block listed, is `true`.
+ example: false
+ type: boolean
+ can_change_shipping_address:
+ description: Defines whether the merchant can update the shipping address after authorization.
+ example: true
+ type: boolean
+ capture:
+ description: Deprecated. Use `captures`.
+ properties:
+ amount:
+ $ref: '#/components/schemas/amounts'
+ id:
+ $ref: '#/components/schemas/capture_id'
+ splits:
+ description: A list of splits. **Nullable** for Transactions Details.
+ items:
+ description: A split of fees by type and amount.
+ properties:
+ amount:
+ $ref: '#/components/schemas/amounts'
+ type:
+ description: |
+ **Nullable** for Transactions Details.
+ enum:
+ - net
+ - processing_fee
+ - bolt_fee
+ - adjustment
+ - float
+ - reserve
+ example: processing_fee
+ type: string
+ required:
+ - amount
+ - type
+ type: object
+ type: array
+ status:
+ $ref: '#/components/schemas/capture_status'
+ required:
+ - id
+ - status
+ - amount
+ type: object
+ captures:
+ description: All captures associated with the transaction. **Nullable** for Transactions Details.
+ items:
+ $ref: '#/components/schemas/capture'
+ type: array
+ card_address:
+ properties:
+ company:
+ $ref: '#/components/schemas/company'
+ country:
+ $ref: '#/components/schemas/country'
+ country_code:
+ $ref: '#/components/schemas/country_code'
+ email:
+ $ref: '#/components/schemas/email'
+ first_name:
+ $ref: '#/components/schemas/first_name'
+ id:
+ $ref: '#/components/schemas/billing_address_id'
+ last_name:
+ $ref: '#/components/schemas/last_name'
+ locality:
+ $ref: '#/components/schemas/locality'
+ name:
+ $ref: '#/components/schemas/name_person'
+ phone:
+ $ref: '#/components/schemas/phone'
+ postal_code:
+ $ref: '#/components/schemas/postal_code'
+ region:
+ $ref: '#/components/schemas/region'
+ street_address1:
+ $ref: '#/components/schemas/street_address'
+ type: object
+ card_expiration_string:
+ description: The expiration date of the credit card, expressed as a string.
+ example: 12/12/2024
+ type: string
+ card_number:
+ description: The card number. **Nullable** for Transactions Details.
+ example: 1111222233334444
+ type: integer
+ pin:
+ description: The PIN for the credit card.
+ example: 123
+ type: integer
+ card_gift:
+ description: A gift card.
+ properties:
+ card_number:
+ $ref: '#/components/schemas/card_number'
+ pin:
+ $ref: '#/components/schemas/pin'
+ type: object
+ card_priority:
+ description: The priority for the card.
+ enum:
+ - primary
+ - listed
+ example: primary
+ type: string
+ cards_gift:
+ description: A list of gift cards.
+ items:
+ $ref: '#/components/schemas/card_gift'
+ type: array
+ total_amount:
+ description: The total amount.
+ example: 9900
+ type: integer
+ display_id:
+ description: The displayed ID.
+ example: ID-12345
+ type: string
+ order_reference:
+ description: The order reference.
+ example: order-12345
+ type: string
+ metadata:
+ additionalProperties:
+ type: string
+ description: You can add your own metadata.
+ example: This is metadata.
+ type: object
+ cart:
+ properties:
+ billing_address:
+ $ref: '#/components/schemas/address'
+ billing_address_id:
+ $ref: '#/components/schemas/billing_address_id'
+ items:
+ $ref: '#/components/schemas/items'
+ tax_amount:
+ $ref: '#/components/schemas/tax_amount'
+ total_amount:
+ $ref: '#/components/schemas/total_amount'
+ display_id:
+ $ref: '#/components/schemas/display_id'
+ order_reference:
+ $ref: '#/components/schemas/order_reference'
+ metadata:
+ $ref: '#/components/schemas/metadata'
+ type: object
+ shipping_address:
+ properties:
+ company:
+ $ref: '#/components/schemas/company'
+ country:
+ $ref: '#/components/schemas/country'
+ country_code:
+ $ref: '#/components/schemas/country_code'
+ email:
+ $ref: '#/components/schemas/email'
+ first_name:
+ $ref: '#/components/schemas/first_name'
+ id:
+ $ref: '#/components/schemas/shipping_address_id'
+ last_name:
+ $ref: '#/components/schemas/last_name'
+ locality:
+ $ref: '#/components/schemas/locality'
+ name:
+ $ref: '#/components/schemas/name_person'
+ phone:
+ $ref: '#/components/schemas/phone'
+ postal_code:
+ $ref: '#/components/schemas/postal_code'
+ region:
+ $ref: '#/components/schemas/region'
+ street_address1:
+ $ref: '#/components/schemas/street_address'
+ street_address2:
+ $ref: '#/components/schemas/street_address'
+ street_address3:
+ $ref: '#/components/schemas/street_address'
+ street_address4:
+ $ref: '#/components/schemas/street_address'
+ type: object
+ currency:
+ properties:
+ currency:
+ $ref: '#/components/schemas/currency_iso'
+ currency_symbol:
+ $ref: '#/components/schemas/currency_symbol'
+ type: object
+ discount_code:
+ description: The discount code input by a shopper.
+ example: SUMMERFUN15
+ type: string
+ discount_codes:
+ description: A list of discount codes.
+ items:
+ $ref: '#/components/schemas/discount_code'
+ type: array
+ cart_shipments:
+ description: A list of shipments.
+ items:
+ $ref: '#/components/schemas/cart_shipment'
+ type: array
+ cart_discounts:
+ properties:
+ billing_address:
+ $ref: '#/components/schemas/shipping_address'
+ currency:
+ $ref: '#/components/schemas/currency'
+ discount_amount:
+ $ref: '#/components/schemas/amounts'
+ discounts:
+ $ref: '#/components/schemas/discount_codes'
+ display_id:
+ $ref: '#/components/schemas/display_id'
+ items:
+ $ref: '#/components/schemas/items'
+ order_reference:
+ $ref: '#/components/schemas/order_reference'
+ shipments:
+ $ref: '#/components/schemas/cart_shipments'
+ shipping_amount:
+ $ref: '#/components/schemas/amounts'
+ subtotal_amount:
+ $ref: '#/components/schemas/amounts'
+ tax_amount:
+ $ref: '#/components/schemas/amounts'
+ total_amount:
+ $ref: '#/components/schemas/amounts'
+ type: object
+ cart_limited:
+ description: Limited cart view.
+ properties:
+ billing_address:
+ $ref: '#/components/schemas/shipping_address'
+ display_id:
+ $ref: '#/components/schemas/display_id'
+ order_reference:
+ $ref: '#/components/schemas/order_reference'
+ shipments:
+ $ref: '#/components/schemas/cart_shipment'
+ type: object
+ cart_url:
+ description: The URL for the cart.
+ example: https://boltswagstore.com/orders/123456765432
+ type: string
+ discount_description:
+ description: The discount code's description.
+ example: Take 15% off of your order.
+ type: string
+ discount_uri:
+ description: The discount's URI.
+ example: https://boltswagstore.com/discounts/#12345
+ type: string
+ discount_category:
+ description: The discount's category.
+ enum:
+ - coupon
+ - gift_card
+ - managed_giftcard
+ - store_credit
+ - automatic_promotion
+ - membership_discount
+ - membership_giftcard
+ - subscription_discount
+ - rewards_discount
+ - shipping_discount
+ - unknown
+ example: coupon
+ type: string
+ is_free_shipping:
+ example: false
+ type: boolean
+ maximum_cost_allowed:
+ example: 100
+ type: integer
+ discount_free_shipping:
+ description: Contains free shipping settings and limitations.
+ properties:
+ is_free_shipping:
+ $ref: '#/components/schemas/is_free_shipping'
+ maximum_cost_allowed:
+ $ref: '#/components/schemas/maximum_cost_allowed'
+ type: object
+ discounts:
+ description: A list of discounts.
+ items:
+ properties:
+ amount:
+ $ref: '#/components/schemas/amounts'
+ code:
+ $ref: '#/components/schemas/discount_code'
+ description:
+ $ref: '#/components/schemas/discount_description'
+ details_url:
+ $ref: '#/components/schemas/discount_uri'
+ discount_category:
+ $ref: '#/components/schemas/discount_category'
+ free_shipping:
+ $ref: '#/components/schemas/discount_free_shipping'
+ reference:
+ $ref: '#/components/schemas/discount_code'
+ type: object
+ type: array
+ in_store_shipments:
+ items:
+ $ref: '#/components/schemas/in_store_shipment2'
+ type: array
+ order_url:
+ example: https://example.com/orders/2345678
+ type: string
+ shipment:
+ description: A cart that is being prepared for shipment
+ properties:
+ carrier:
+ $ref: '#/components/schemas/carrier'
+ cost:
+ $ref: '#/components/schemas/amounts'
+ default:
+ $ref: '#/components/schemas/default'
+ estimated_delivery_date:
+ $ref: '#/components/schemas/estimated_delivery_date'
+ expedited:
+ $ref: '#/components/schemas/expedited'
+ gift_options:
+ $ref: '#/components/schemas/gift_options'
+ id:
+ $ref: '#/components/schemas/shipping_address_id'
+ package_dimension:
+ $ref: '#/components/schemas/package_dimension'
+ package_type:
+ $ref: '#/components/schemas/package_type'
+ package_weights:
+ $ref: '#/components/schemas/package_weights'
+ reference:
+ $ref: '#/components/schemas/reference'
+ service:
+ $ref: '#/components/schemas/service'
+ shipping_address:
+ $ref: '#/components/schemas/consumer_billing_address'
+ shipping_method:
+ $ref: '#/components/schemas/shipping_method'
+ signature:
+ $ref: '#/components/schemas/signature'
+ tax_amount:
+ $ref: '#/components/schemas/amounts'
+ total_weight:
+ $ref: '#/components/schemas/total_weight'
+ type: object
+ shipments2:
+ items:
+ $ref: '#/components/schemas/shipment'
+ type: array
+ cart_order:
+ properties:
+ billing_address:
+ $ref: '#/components/schemas/consumer_billing_address'
+ cart_url:
+ $ref: '#/components/schemas/cart_url'
+ currency:
+ properties:
+ currency:
+ $ref: '#/components/schemas/currency_iso'
+ currency_symbol:
+ $ref: '#/components/schemas/currency_symbol'
+ type: object
+ discount_amount:
+ $ref: '#/components/schemas/amounts'
+ discounts:
+ $ref: '#/components/schemas/discounts'
+ display_id:
+ $ref: '#/components/schemas/display_id'
+ in_store_shipments:
+ $ref: '#/components/schemas/in_store_shipments'
+ items:
+ $ref: '#/components/schemas/items'
+ merchant_order_url:
+ $ref: '#/components/schemas/order_url'
+ metadata:
+ $ref: '#/components/schemas/metadata_component'
+ order_description:
+ example: string
+ type: string
+ order_reference:
+ $ref: '#/components/schemas/order_reference'
+ shipments:
+ $ref: '#/components/schemas/shipments2'
+ shipping_amount:
+ $ref: '#/components/schemas/amounts'
+ subtotal_amount:
+ $ref: '#/components/schemas/amounts'
+ tax_amount:
+ $ref: '#/components/schemas/amounts'
+ total_amount:
+ $ref: '#/components/schemas/amounts'
+ transaction_reference:
+ $ref: '#/components/schemas/transaction_reference'
+ required:
+ - currency
+ - subtotal_amount
+ - total_amount
+ type: object
+ order_display_id:
+ description: The order reference.
+ example: order-12345
+ type: string
+ cart_order_generated:
+ properties:
+ discounts:
+ $ref: '#/components/schemas/discounts'
+ display_id:
+ $ref: '#/components/schemas/order_display_id'
+ items:
+ $ref: '#/components/schemas/items'
+ order_reference:
+ $ref: '#/components/schemas/order_reference'
+ total_amount:
+ $ref: '#/components/schemas/amounts'
+ type: object
+ product_name_id:
+ description: The product's unique ID associated to the `product.properties.name_id` from the Get Inventory call.
+ example: hat-123
+ type: string
+ product_value_id:
+ description: The product's unique value ID associated to the `product.properties.value_id` from the Get Inventory call.
+ example: 4770234
+ type: integer
+ publisher_properties:
+ description: Properties associated to the item.
+ properties:
+ NameID:
+ $ref: '#/components/schemas/product_name_id'
+ ValueID:
+ $ref: '#/components/schemas/product_value_id'
+ type: object
+ publisher_item:
+ description: An item with properties.
+ properties:
+ BoltProductID:
+ $ref: '#/components/schemas/bolt_product_id'
+ SKU:
+ $ref: '#/components/schemas/sku'
+ Properties:
+ $ref: '#/components/schemas/publisher_properties'
+ Quantity:
+ $ref: '#/components/schemas/quantity'
+ type: object
+ publisher_items:
+ description: A list of items.
+ items:
+ $ref: '#/components/schemas/publisher_item'
+ type: array
+ cart_publisher:
+ properties:
+ Items:
+ $ref: '#/components/schemas/publisher_items'
+ type: object
+ cart_shipment_combined:
+ description: A cart that is being prepared for shipment
+ properties:
+ currency:
+ $ref: '#/components/schemas/currency_iso'
+ display_id:
+ $ref: '#/components/schemas/display_id'
+ items:
+ $ref: '#/components/schemas/items'
+ metadata:
+ $ref: '#/components/schemas/metadata_component'
+ order_reference:
+ $ref: '#/components/schemas/order_reference'
+ total_amount:
+ $ref: '#/components/schemas/total_amount'
+ type: object
+ discounts_transaction_authorize:
+ description: A list of discounts.
+ items:
+ properties:
+ amount:
+ $ref: '#/components/schemas/amount'
+ code:
+ $ref: '#/components/schemas/discount_code'
+ description:
+ $ref: '#/components/schemas/discount_description'
+ details_url:
+ $ref: '#/components/schemas/discount_uri'
+ discount_category:
+ $ref: '#/components/schemas/discount_category'
+ free_shipping:
+ $ref: '#/components/schemas/discount_free_shipping'
+ reference:
+ $ref: '#/components/schemas/discount_code'
+ type: object
+ type: array
+ cart_transaction_authorize:
+ properties:
+ billing_address:
+ $ref: '#/components/schemas/consumer_billing_address'
+ currency:
+ $ref: '#/components/schemas/currency_iso'
+ discounts:
+ $ref: '#/components/schemas/discounts_transaction_authorize'
+ items:
+ $ref: '#/components/schemas/items'
+ order_reference:
+ $ref: '#/components/schemas/order_reference'
+ shipments:
+ $ref: '#/components/schemas/shipments2'
+ tax_amount:
+ $ref: '#/components/schemas/amount'
+ total_amount:
+ $ref: '#/components/schemas/amount'
+ type: object
+ cart_transaction_recharge:
+ properties:
+ currency:
+ $ref: '#/components/schemas/currency_iso'
+ order_reference:
+ $ref: '#/components/schemas/order_reference'
+ total_amount:
+ $ref: '#/components/schemas/amount'
+ type: object
+ product_identifiers_view:
+ properties:
+ GTIN:
+ description: The Global Trade Item Number for this product; GTINs are used as barcodes.
+ type: string
+ MerchantDivisionID:
+ description: The unique ID associated to the merchant's Bolt Account division; Merchants can have different divisions to suit multiple use cases (storefronts, pay-by-link, phone order processing). You can view and switch between these divisions from the Bolt Merchant Dashboard.
+ example: 3X9aPQ67-YrB
+ type: string
+ MerchantProductID:
+ example: 1ab11ad1111ada1ad11
+ type: string
+ MerchantVariantID:
+ example: 2ab22ad2222ada2ad22
+ type: string
+ SKU:
+ description: Used to define the alpha-numberic Stock Keeping Unit associated with the item as it is mapped to your internal product catalogue.
+ example: BOLT-SKU_100
+ maxLength: 1024
+ nullable: true
+ type: string
+ type: object
+ product_view:
+ properties:
+ Availability:
+ enum:
+ - in_stock
+ - out_of_stock
+ - pre_order
+ type: string
+ AvailabilityCount:
+ format: int64
+ type: number
+ BoltID:
+ example: b6452ff5-14d2-526d-a187-e2b3ebc40e76
+ type: string
+ Brand:
+ example: Bolt
+ type: string
+ Description:
+ example: The softest tee you'll ever see.
+ type: string
+ Identifiers:
+ $ref: '#/components/schemas/product_identifiers_view'
+ Multimedia:
+ properties:
+ Identifiers:
+ $ref: '#/components/schemas/product_identifiers_view'
+ ImageURLs:
+ items:
+ example: https://my-site.com/catalogue/product/image.png
+ type: string
+ type: array
+ Properties:
+ items:
+ properties:
+ Name:
+ type: string
+ NameID:
+ type: string
+ Value:
+ type: string
+ ValueID:
+ format: int64
+ type: number
+ type: object
+ type: array
+ type: object
+ Name:
+ example: Bolt Collective T-Shirt
+ type: string
+ Prices:
+ items:
+ properties:
+ Currency:
+ example: USD
+ type: string
+ UnitPriceInCents:
+ format: int64
+ type: number
+ type: object
+ type: array
+ type: object
+ property_metadata_view:
+ properties:
+ ImageURL:
+ example: https://my-site.com/catalogue/product/image.png
+ type: string
+ Position:
+ format: int
+ type: number
+ TextLabel:
+ type: string
+ type: object
+ property_value_view:
+ properties:
+ Metadata:
+ $ref: '#/components/schemas/property_metadata_view'
+ Value:
+ type: string
+ ValueID:
+ type: string
+ type: object
+ product_properties_map_view:
+ description: The map of this product's properties.
+ properties:
+ name:
+ type: string
+ nameID:
+ type: string
+ values:
+ $ref: '#/components/schemas/property_value_view'
+ type: object
+ product_inventory_view:
+ properties:
+ Current:
+ $ref: '#/components/schemas/product_view'
+ NextCursor:
+ type: string
+ Parent:
+ $ref: '#/components/schemas/product_view'
+ Properties:
+ items:
+ $ref: '#/components/schemas/product_properties_map_view'
+ type: array
+ Variants:
+ items:
+ $ref: '#/components/schemas/product_view'
+ type: array
+ type: object
+ catalog_view:
+ properties:
+ Catalog:
+ items:
+ $ref: '#/components/schemas/product_inventory_view'
+ type: array
+ Cursor:
+ type: string
+ type: object
+ chargeback_event_content:
+ description: The context for the chargeback.
+ example: First Chargeback
+ type: string
+ chargeback_event_time:
+ description: The time this single chargeback event ocurred.
+ example: 1485997169003
+ type: integer
+ consumer_email_verified:
+ description: True if Bolt has verified this email in the past. **Nullable** for Transactions Details.
+ example: true
+ type: boolean
+ consumer_platform_account_status:
+ description: Used internally for Bolt. Does not display information externally.
+ enum:
+ - 1
+ - 2
+ - 3
+ type: integer
+ credit_card_credit:
+ properties:
+ Async:
+ type: boolean
+ CaptureID:
+ format: int64
+ type: number
+ Credit:
+ type: string
+ CreditCardSettlementID:
+ format: int64
+ type: number
+ CreditCardTransactionID:
+ format: int64
+ type: number
+ MultirefundCreditID:
+ format: int64
+ type: number
+ Status:
+ $ref: '#/components/schemas/credit_card_credit_status'
+ type: object
+ funding_instrument_id:
+ description: ID of the funding instrument used.
+ format: int64
+ type: integer
+ credit_card_transaction_stage:
+ description: |
+ Stage of the credit card transaction:
+ * `1` - Auth
+ * `2` - Capture
+ * `3` - Void
+ * `4` - Credit
+ * `5` - Legacy value: auth_capture
+ * `6` - Submission
+ * `7` - Settlement
+ enum:
+ - 1
+ - 2
+ - 3
+ - 4
+ - 5
+ - 6
+ - 7
+ type: integer
+ credit_card_transaction:
+ description: Details about the credit card transaction.
+ properties:
+ BaseModel:
+ $ref: '#/components/schemas/base_model'
+ funding_instrument_id:
+ $ref: '#/components/schemas/funding_instrument_id'
+ ledger_id:
+ description: The ID of the ledger.
+ format: int64
+ nullable: true
+ type: integer
+ ledger_time:
+ description: the time of the ledger.
+ format: date-time
+ nullable: true
+ type: integer
+ stage:
+ $ref: '#/components/schemas/credit_card_transaction_stage'
+ transaction_id:
+ $ref: '#/components/schemas/transaction_id'
+ type: object
+ credit_status:
+ properties:
+ status:
+ description: This is the status of the refund.
+ enum:
+ - succeeded
+ - declined
+ - error
+ - pending
+ type: string
+ type: object
+ custom_fields2:
+ items:
+ $ref: '#/components/schemas/custom_fields'
+ type: array
+ data:
+ description: Generic wrapper used by Bolt.
+ type: object
+ reason:
+ description: The reason for the error.
+ example: '(cataloginventory): This product is out of stock.'
+ type: string
+ data_error:
+ description: The JSON object with string key, and value any JSON object.
+ properties:
+ reason:
+ $ref: '#/components/schemas/reason'
+ type: object
+ date:
+ description: The date.
+ example: '1621887799738'
+ type: integer
+ description:
+ description: The product's description.
+ example: Very beautiful and chic.
+ type: string
+ discount_reference:
+ description: The discount's reference.
+ example: discount-1234
+ type: string
+ discount_type:
+ description: The type of discount.
+ enum:
+ - fixed_amount
+ - percentage
+ - free_shipping
+ example: percentage
+ type: string
+ discounts_order_generate:
+ description: A list of discounts.
+ items:
+ properties:
+ amount:
+ $ref: '#/components/schemas/amount'
+ code:
+ $ref: '#/components/schemas/discount_code'
+ description:
+ $ref: '#/components/schemas/discount_description'
+ details_url:
+ $ref: '#/components/schemas/discount_uri'
+ discount_category:
+ $ref: '#/components/schemas/discount_category'
+ free_shipping:
+ $ref: '#/components/schemas/discount_free_shipping'
+ reference:
+ $ref: '#/components/schemas/discount_code'
+ type: object
+ type: array
+ distance:
+ description: The distance as a number.
+ example: 2
+ type: integer
+ distance_unit:
+ description: The distance unit.
+ example: miles
+ type: string
+ error:
+ properties:
+ code:
+ $ref: '#/components/schemas/code'
+ message:
+ $ref: '#/components/schemas/message'
+ type: object
+ event:
+ description: The kind of event.
+ enum:
+ - order.create
+ - order.shipping_and_tax
+ - cart.create
+ - cart.update
+ - discounts.code.apply
+ - example.see.enums
+ example: example.see.enums
+ type: string
+ error_base_response:
+ properties:
+ error:
+ $ref: '#/components/schemas/error'
+ event:
+ $ref: '#/components/schemas/event'
+ status:
+ enum:
+ - failure
+ type: string
+ type: object
+ errors:
+ items:
+ $ref: '#/components/schemas/error'
+ type: array
+ errors_base_response:
+ properties:
+ errors:
+ items:
+ $ref: '#/components/schemas/error'
+ type: array
+ event:
+ $ref: '#/components/schemas/event'
+ status:
+ enum:
+ - failure
+ type: string
+ type: object
+ shopify:
+ description: Data externalized from shopify.
+ example: VIP shopper
+ type: string
+ external_data:
+ description: For Shopify users only; otherwise, is empty.
+ properties:
+ shopify:
+ $ref: '#/components/schemas/shopify'
+ type: object
+ from_consumer:
+ description: The credit card user. **Nullable** for Transactions Details.
+ properties:
+ email_verified:
+ $ref: '#/components/schemas/consumer_email_verified'
+ emails:
+ $ref: '#/components/schemas/emails'
+ first_name:
+ $ref: '#/components/schemas/first_name'
+ id:
+ description: The card-holder's ID. **Nullable** for Transactions Details.
+ example: AB3rJKam5DhYE
+ type: string
+ last_name:
+ $ref: '#/components/schemas/last_name'
+ phones:
+ $ref: '#/components/schemas/phones_with_country_code'
+ platform_account_status:
+ $ref: '#/components/schemas/consumer_platform_account_status'
+ user_membership:
+ $ref: '#/components/schemas/consumer_user_membership'
+ required:
+ - id
+ - emails
+ - email_verified
+ - user_membership
+ type: object
+ from_credit_card:
+ description: A credit card.
+ properties:
+ billing_address:
+ $ref: '#/components/schemas/consumer_billing_address'
+ bin:
+ $ref: '#/components/schemas/card_bin'
+ display_network:
+ $ref: '#/components/schemas/card_network'
+ expiration:
+ $ref: '#/components/schemas/card_expiration'
+ icon_asset_path:
+ $ref: '#/components/schemas/icon_asset_path'
+ id:
+ $ref: '#/components/schemas/card_id'
+ last4:
+ $ref: '#/components/schemas/card_last4'
+ network:
+ $ref: '#/components/schemas/card_network'
+ priority:
+ $ref: '#/components/schemas/priority'
+ status:
+ $ref: '#/components/schemas/card_status'
+ token_type:
+ $ref: '#/components/schemas/card_token_type'
+ required:
+ - id
+ - last4
+ - bin
+ - expiration
+ - network
+ - token_type
+ - priority
+ - display_network
+ - icon_asset_path
+ - status
+ type: object
+ gtin:
+ description: The product's GTIN.
+ example: AB3rJKam5DhYE
+ type: string
+ has_bolt_account:
+ description: Determines if user has a Bolt account using their e-mail address or phone number.
+ example: true
+ type: boolean
+ has_dynamic_price:
+ description: Determines if item has dynamic price.
+ example: true
+ type: boolean
+ hide_apm:
+ description: Hides alternative payment methods from checkout.
+ enum:
+ - amazonpay
+ - affirm
+ - afterpay
+ - paypal
+ - klarna
+ - radialpaypal
+ type: string
+ hide_apms:
+ items:
+ $ref: '#/components/schemas/hide_apm'
+ type: array
+ i_store_shipment_view:
+ allOf:
+ - $ref: '#/components/schemas/i_cart_shipment_view'
+ - properties:
+ address:
+ $ref: '#/components/schemas/address_view'
+ distance:
+ format: int64
+ type: number
+ pickup_window_close:
+ format: date
+ type: integer
+ pickup_window_open:
+ format: date
+ type: integer
+ reference:
+ type: string
+ signature:
+ type: string
+ store_name:
+ example: Bolt Collective
+ type: string
+ type: object
+ i_delivery_options:
+ properties:
+ dynamicContent:
+ $ref: '#/components/schemas/i_order_dynamic_content'
+ inStorePickupOptions:
+ items:
+ $ref: '#/components/schemas/i_store_shipment_view'
+ type: array
+ shipToStoreOptions:
+ items:
+ $ref: '#/components/schemas/i_store_shipment_view'
+ type: array
+ shippingOptions:
+ items:
+ $ref: '#/components/schemas/i_cart_shipment_view'
+ type: array
+ type: object
+ i_remote_order_create:
+ properties:
+ cart:
+ properties:
+ items:
+ items:
+ description: An array of product items.
+ properties:
+ bolt_product_id:
+ type: string
+ sku:
+ type: string
+ properties:
+ items:
+ properties:
+ name_id:
+ format: int64
+ type: number
+ value_id:
+ format: int64
+ type: number
+ type: object
+ type: array
+ quantity:
+ format: int64
+ type: number
+ required:
+ - bolt_product_id
+ - quantity
+ type: object
+ type: array
+ type: object
+ merchant_division_id:
+ description: The unique ID associated to the merchant's Bolt Account division; Merchants can have different divisions to suit multiple use cases (storefronts, pay-by-link, phone order processing). You can view and switch between these divisions from the Bolt Merchant Dashboard.
+ example: 3X9aPQ67-YrB
+ type: string
+ platform_user_id:
+ description: (Currently for creating remote orders in SFCC). A registered customer's ID / number to be on the order.
+ type: string
+ required:
+ - merchant_division_id
+ - cart
+ type: object
+ i_remote_order_result:
+ properties:
+ token:
+ type: string
+ type: object
+ i_subscription_frequency_view:
+ properties:
+ type:
+ enum:
+ - weekly
+ - monthly
+ type: string
+ value:
+ format: int64
+ type: number
+ type: object
+ indemnification_decision:
+ description: Determines indemnification coverage.
+ enum:
+ - unknown
+ - indemnified
+ - not_indemnified
+ example: indemnified
+ type: string
+ indemnification_reason:
+ description: Determines indemnification coverage reason.
+ enum:
+ - checkout
+ - virtual_terminal
+ - merchant_back_office
+ - merchant_force_approved
+ - reversibly_rejected
+ - irreversibly_rejected
+ - risk_engine_approved
+ - analyst_approved
+ - auth_verification
+ - paypal
+ - afterpay
+ - direct_payments
+ - whitelist
+ - external_review
+ example: checkout
+ type: string
+ price:
+ description: The price of an item.
+ example: 991
+ type: integer
+ product_id:
+ description: The product's unique id.
+ example: hat-123
+ type: string
+ item_add:
+ properties:
+ currency:
+ $ref: '#/components/schemas/currency_iso'
+ price:
+ $ref: '#/components/schemas/price'
+ product_id:
+ $ref: '#/components/schemas/product_id'
+ quantity:
+ $ref: '#/components/schemas/quantity'
+ type: object
+ item_remove:
+ properties:
+ product_id:
+ $ref: '#/components/schemas/product_id'
+ quantity:
+ $ref: '#/components/schemas/quantity'
+ type: object
+ items_add:
+ description: A list of items to add to the cart.
+ items:
+ $ref: '#/components/schemas/item_add'
+ type: array
+ items_remove:
+ description: A list of items to remove from the cart.
+ items:
+ $ref: '#/components/schemas/item_remove'
+ type: array
+ magento_payment_request:
+ properties:
+ card:
+ $ref: '#/components/schemas/credit_card'
+ consumer_id:
+ description: The unique ID associated with the shopper. Leave `null` for guest checkout payment authorizations.
+ example: EDbh7RpKrqABC
+ type: string
+ credit_card_id:
+ description: The unique ID associated to a saved credit card in the account's wallet. Leave `null` if inputting a new, unsaved card.
+ example: SAeEcU1hpMobc
+ type: string
+ order_token:
+ type: string
+ type: object
+ manual_disputes_array:
+ items:
+ $ref: '#/components/schemas/manual_disputes'
+ type: array
+ product_media_audio:
+ description: The URL for an image, video, or audio clip. For Property URLs, this can be used for color and pattern swatches to represent your product variants.
+ example: https//boltswagstore.com/myjam.mp3
+ type: string
+ media_audios:
+ description: List of URLs
+ items:
+ $ref: '#/components/schemas/product_media_audio'
+ type: array
+ product_media_url:
+ description: The URL for an image, video, or audio clip. For Property URLs, this can be used for color and pattern swatches to represent your product variants.
+ example: https//boltswagstore.com/image.png
+ type: string
+ media_urls:
+ description: List of URLs
+ items:
+ $ref: '#/components/schemas/product_media_url'
+ type: array
+ product_media_video:
+ description: The URL for an image, video, or audio clip. For Property URLs, this can be used for color and pattern swatches to represent your product variants.
+ example: https//boltswagstore.com/jurassic-park.mov
+ type: string
+ media_videos:
+ description: List of URLs
+ items:
+ $ref: '#/components/schemas/product_media_video'
+ type: array
+ merchant_create_order_url:
+ description: The endpoint URL provided by the merchant to Bolt for order creation.
+ example: https://example.com/api/v1/order_create
+ type: string
+ merchant_processor_linked:
+ description: Indicates if the merchant account has set up their processor with Bolt.
+ example: true
+ type: boolean
+ merchant_view:
+ properties:
+ created_at:
+ type: string
+ description:
+ type: string
+ processor:
+ enum:
+ - vantiv
+ - adyen_payfac
+ - adyen_gateway
+ - stripe
+ - braintree
+ - cybersource
+ - nmi
+ - authorize_net
+ - radial
+ - shopify_payments
+ - rocketgate
+ type: string
+ type: object
+ multimedia:
+ description: Type of media.
+ example: Sound
+ type: string
+ name_store:
+ description: The name of the store.
+ example: 'Bolt Swag Store #47'
+ type: string
+ order_token:
+ description: The token for the order.
+ example: a2b3dDc4cA5e6fg78Bg9hj0kl
+ type: string
+ user_note:
+ description: Notes from the shopper.
+ example: This item is a gift.
+ type: string
+ order:
+ properties:
+ cart:
+ $ref: '#/components/schemas/cart_order'
+ dynamic_content:
+ description: Contains all dynamic content fields.
+ properties:
+ custom_fields:
+ $ref: '#/components/schemas/custom_fields2'
+ gift_option_view:
+ $ref: '#/components/schemas/gift_option_view'
+ hide_apm:
+ $ref: '#/components/schemas/hide_apms'
+ order_notice:
+ example: A Notice Message
+ type: string
+ payment_notice:
+ example: A Notice Message
+ type: string
+ shipping_info_notice:
+ example: A Notice Message
+ type: string
+ shipping_notice:
+ example: A Notice Message
+ type: string
+ type: object
+ external_data:
+ $ref: '#/components/schemas/external_data'
+ token:
+ $ref: '#/components/schemas/order_token'
+ user_note:
+ $ref: '#/components/schemas/user_note'
+ type: object
+ order_create_cart:
+ properties:
+ cart_url:
+ $ref: '#/components/schemas/cart_url'
+ currency:
+ $ref: '#/components/schemas/currency_iso'
+ discounts:
+ $ref: '#/components/schemas/discounts'
+ display_id:
+ $ref: '#/components/schemas/display_id'
+ items:
+ $ref: '#/components/schemas/items'
+ metadata:
+ items:
+ properties:
+ key1:
+ example: value 1
+ type: string
+ type: object
+ type: array
+ order_reference:
+ $ref: '#/components/schemas/order_reference'
+ total_amount:
+ $ref: '#/components/schemas/total_amount'
+ type: object
+ order_generate_cart:
+ description: The cart associated to the order token.
+ properties:
+ cart_url:
+ $ref: '#/components/schemas/cart_url'
+ currency:
+ $ref: '#/components/schemas/currency_iso'
+ discounts:
+ $ref: '#/components/schemas/discounts_order_generate'
+ items:
+ $ref: '#/components/schemas/items'
+ metadata:
+ $ref: '#/components/schemas/metadata_component'
+ order_reference:
+ $ref: '#/components/schemas/order_reference'
+ total_amount:
+ $ref: '#/components/schemas/amount'
+ type: object
+ order_publisher_cart_shipment:
+ description: A cart that is being prepared for shipment
+ properties:
+ cost:
+ $ref: '#/components/schemas/cost'
+ reference:
+ $ref: '#/components/schemas/reference'
+ service:
+ $ref: '#/components/schemas/service'
+ shipping_address:
+ properties:
+ company:
+ $ref: '#/components/schemas/company'
+ country:
+ $ref: '#/components/schemas/country'
+ country_code:
+ $ref: '#/components/schemas/country_code'
+ email_address:
+ $ref: '#/components/schemas/email'
+ first_name:
+ $ref: '#/components/schemas/first_name'
+ id:
+ $ref: '#/components/schemas/shipping_address_id'
+ last_name:
+ $ref: '#/components/schemas/last_name'
+ locality:
+ $ref: '#/components/schemas/locality'
+ name:
+ $ref: '#/components/schemas/name_person'
+ phone_number:
+ $ref: '#/components/schemas/phone'
+ postal_code:
+ $ref: '#/components/schemas/postal_code'
+ region:
+ $ref: '#/components/schemas/region'
+ street_address1:
+ $ref: '#/components/schemas/street_address'
+ street_address2:
+ $ref: '#/components/schemas/street_address'
+ street_address3:
+ $ref: '#/components/schemas/street_address'
+ street_address4:
+ $ref: '#/components/schemas/street_address'
+ type: object
+ shipping_method:
+ $ref: '#/components/schemas/shipping_method'
+ tax_amount:
+ $ref: '#/components/schemas/amounts'
+ type: object
+ order_publisher_cart_shipments:
+ description: A list of shipments.
+ items:
+ $ref: '#/components/schemas/order_publisher_cart_shipment'
+ type: array
+ properties:
+ properties:
+ property1:
+ example: metallic
+ type: string
+ property2:
+ example: rust-resistant
+ type: string
+ type: object
+ order_publisher_item:
+ description: An item with properties.
+ properties:
+ bolt_product_id:
+ $ref: '#/components/schemas/bolt_product_id'
+ description:
+ $ref: '#/components/schemas/description'
+ image_url:
+ $ref: '#/components/schemas/image_url'
+ name:
+ $ref: '#/components/schemas/name_item'
+ properties:
+ $ref: '#/components/schemas/properties'
+ quantity:
+ $ref: '#/components/schemas/quantity'
+ reference:
+ $ref: '#/components/schemas/reference'
+ sku:
+ $ref: '#/components/schemas/sku'
+ tax_amount:
+ $ref: '#/components/schemas/tax_amount'
+ taxable:
+ $ref: '#/components/schemas/taxable'
+ total_amount:
+ $ref: '#/components/schemas/amounts'
+ type:
+ $ref: '#/components/schemas/type'
+ unit_price:
+ $ref: '#/components/schemas/amounts'
+ type: object
+ order_publisher_items:
+ description: A list of items.
+ items:
+ $ref: '#/components/schemas/order_publisher_item'
+ type: array
+ order_received_url:
+ description: This is a URL used to redirect the shopper when the order is created (optional).
+ example: https://***.com/confirmation/O-100104040
+ type: string
+ order_status_details:
+ description: The details that contextualize the order's status.
+ example: The order left the post office at 10am today and is out for delivery by 9pm.
+ type: string
+ order_status_type:
+ description: The type of order webhook.
+ enum:
+ - error
+ - pre_transit
+ - in_transit
+ - out_for_delivery
+ - delivered
+ - available_for_pickup
+ - return_to_sender
+ - shipping_failure
+ - cancelled
+ - unknown
+ example: out_for_delivery
+ type: string
+ publisher_order_metadata:
+ description: This is a map that can contain several objects indexed by different keys. You can use this to track conversions.
+ properties:
+ key:
+ description: Map Item.
+ properties:
+ property_1:
+ description: The first property.
+ type: string
+ property_2:
+ description: The second property.
+ type: string
+ type: object
+ type: object
+ order_webhook:
+ properties:
+ cart:
+ properties:
+ discount_amount:
+ $ref: '#/components/schemas/amounts'
+ display_id:
+ $ref: '#/components/schemas/display_id'
+ items:
+ $ref: '#/components/schemas/order_publisher_items'
+ metadata:
+ properties:
+ immutable_quote_id:
+ description: The immutable quote ID.
+ example: '377'
+ type: integer
+ type: object
+ order_reference:
+ $ref: '#/components/schemas/order_reference'
+ shipments:
+ $ref: '#/components/schemas/order_publisher_cart_shipments'
+ shipping_amount:
+ $ref: '#/components/schemas/amounts'
+ subtotal_amount:
+ $ref: '#/components/schemas/amounts'
+ tax_amount:
+ $ref: '#/components/schemas/amounts'
+ total_amount:
+ $ref: '#/components/schemas/amounts'
+ type: object
+ metadata:
+ $ref: '#/components/schemas/publisher_order_metadata'
+ status:
+ $ref: '#/components/schemas/order_status_type'
+ type: object
+ order_webhook_metadata:
+ properties:
+ immutable_quote_id:
+ description: The immutable quote ID.
+ example: '377'
+ type: integer
+ type: object
+ payment_method:
+ properties:
+ payment_method_data:
+ anyOf:
+ - $ref: '#/components/schemas/alliance_data_info'
+ - $ref: '#/components/schemas/magento_payment_request'
+ payment_method_provider:
+ enum:
+ - alliance_data
+ - magento_payment
+ type: string
+ type: object
+ initialize_paypal_payment_input:
+ type: object
+ properties:
+ payment_method:
+ type: object
+ properties:
+ type:
+ type: string
+ enum:
+ - paypal
+ - saved_payment_method
+ description: The type of the payment attempt
+ example: paypal
+ payment_data:
+ description: Initialize payment for a new PayPal order.
+ type: object
+ properties:
+ success:
+ type: string
+ description: Redirect URL for successful PayPal transaction.
+ cancel:
+ type: string
+ description: Redirect URL for canceled PayPal transaction.
+ required:
+ - payment_data
+ - type
+ required:
+ - payment_method
+ update_paypal_payment_input:
+ type: object
+ properties:
+ payment_method:
+ type: object
+ properties:
+ type:
+ type: string
+ enum:
+ - paypal
+ - saved_payment_method
+ description: The type of the payment attempt
+ example: paypal
+ payment_data:
+ description: Initialize payment for a new PayPal order.
+ type: object
+ properties:
+ success:
+ type: string
+ description: Redirect URL for successful PayPal transaction.
+ cancel:
+ type: string
+ description: Redirect URL for canceled PayPal transaction.
+ paypal_payment_view:
+ type: object
+ properties:
+ action:
+ description: Action after initializing payment
+ type: object
+ properties:
+ type:
+ type: string
+ description: action type
+ example: redirect
+ url:
+ type: string
+ description: action URL
+ example: paypal.com/checkout/redirect
+ method:
+ type: string
+ description: action method
+ example: GET
+ phones:
+ description: A list of phone numbers.
+ items:
+ $ref: '#/components/schemas/phones_with_country_code'
+ type: array
+ pickup_address:
+ properties:
+ country:
+ $ref: '#/components/schemas/country'
+ country_code:
+ $ref: '#/components/schemas/country_code'
+ locality:
+ $ref: '#/components/schemas/locality'
+ postal_code:
+ $ref: '#/components/schemas/postal_code'
+ region:
+ $ref: '#/components/schemas/region'
+ street_address1:
+ $ref: '#/components/schemas/street_address'
+ street_address2:
+ $ref: '#/components/schemas/street_address'
+ street_address3:
+ $ref: '#/components/schemas/street_address'
+ street_address4:
+ $ref: '#/components/schemas/street_address'
+ type: object
+ pickup_window_close:
+ description: When a store not available for picking up orders.
+ example: 1578904185
+ type: integer
+ pickup_window_open:
+ description: When a store is available for picking up orders.
+ example: 1578904185
+ type: integer
+ pickup_option:
+ description: A pickup option.
+ properties:
+ address:
+ $ref: '#/components/schemas/pickup_address'
+ cost:
+ $ref: '#/components/schemas/cost'
+ distance:
+ $ref: '#/components/schemas/distance'
+ distance_unit:
+ $ref: '#/components/schemas/distance_unit'
+ pickup_window_close:
+ $ref: '#/components/schemas/pickup_window_close'
+ pickup_window_open:
+ $ref: '#/components/schemas/pickup_window_open'
+ reference:
+ $ref: '#/components/schemas/reference'
+ signature:
+ $ref: '#/components/schemas/signature'
+ store_name:
+ $ref: '#/components/schemas/name_store'
+ tax_amount:
+ $ref: '#/components/schemas/tax_amount'
+ type: object
+ pickup_options:
+ description: A list of pickup options.
+ items:
+ $ref: '#/components/schemas/pickup_option'
+ type: array
+ previous_transaction_id:
+ description: The ID of the shopper's last transaction.
+ example: af1a32f3aga4f5dfa3
+ type: string
+ processor_card_token:
+ description: The token associated with the shopper's credit card. This field is only populated for merchants using Adyen or Radial as their credit card processor.
+ example: '8416276679724052'
+ type: string
+ processor_shopper_reference:
+ description: The token associated with the shopper.
+ example: 5446666484094287
+ type: string
+ processor_token_alias:
+ description: The alias token for the processor used.
+ example: ''
+ type: string
+ product_identifiers:
+ description: Identifiers for the product.
+ properties:
+ GTIN:
+ $ref: '#/components/schemas/gtin'
+ MerchantDivisionID:
+ $ref: '#/components/schemas/merchant_division_id'
+ MerchantProductID:
+ $ref: '#/components/schemas/merchant_product_id'
+ SKU:
+ $ref: '#/components/schemas/sku'
+ type: object
+ product_variant:
+ description: The `bolt_product_ID` of the parent product. If the product is the parent, this ID is the same.
+ example: mens-shoe-86.
+ type: string
+ product_name:
+ description: The product's readable name.
+ example: Pullover Hoodie-XS-Purple
+ type: integer
+ product_price:
+ description: The product's price in cents and currency.
+ properties:
+ Currency:
+ $ref: '#/components/schemas/currency_iso'
+ UnitPriceInCents:
+ $ref: '#/components/schemas/amount'
+ type: object
+ product_prices:
+ description: List of product prices.
+ items:
+ $ref: '#/components/schemas/product_price'
+ type: array
+ product_property_position:
+ description: Used to dictate the order of properties displayed (e.g., least > greatest).
+ example: 1
+ type: integer
+ product_property_text_label:
+ description: The text label for the property.
+ example: pattern
+ type: string
+ product_metadata:
+ description: Metadata for the product.
+ properties:
+ ImageURL:
+ $ref: '#/components/schemas/product_media_url'
+ Position:
+ $ref: '#/components/schemas/product_property_position'
+ TextLabel:
+ $ref: '#/components/schemas/product_property_text_label'
+ type: object
+ product_property_name:
+ description: The property's readable name.
+ example: size
+ type: string
+ product_property_name_id:
+ description: The property type's unique ID.
+ example: 158
+ format: int64
+ type: integer
+ product_property_value:
+ description: The property's unique value. (e.g., `S` `M` `L` for size properties; `Red` `Green` `Blue` for color properties.)
+ example: XS
+ type: string
+ product_property_value_id:
+ description: The unique ID of the property's value.
+ example: 166
+ format: int64
+ type: integer
+ product_properties:
+ description: Properties associated to the product.
+ items:
+ description: Properties associated to the product.
+ properties:
+ Metadata:
+ $ref: '#/components/schemas/product_metadata'
+ Name:
+ $ref: '#/components/schemas/product_property_name'
+ NameID:
+ $ref: '#/components/schemas/product_property_name_id'
+ Value:
+ $ref: '#/components/schemas/product_property_value'
+ ValueID:
+ $ref: '#/components/schemas/product_property_value_id'
+ type: object
+ type: array
+ product:
+ description: A product.
+ properties:
+ Availability:
+ $ref: '#/components/schemas/availability'
+ AvailabilityCount:
+ $ref: '#/components/schemas/availability_count'
+ BoltID:
+ $ref: '#/components/schemas/bolt_product_id'
+ Brand:
+ $ref: '#/components/schemas/brand'
+ Description:
+ $ref: '#/components/schemas/description'
+ Identifiers:
+ $ref: '#/components/schemas/product_identifiers'
+ IsVariantOf:
+ $ref: '#/components/schemas/product_variant'
+ ItemType:
+ $ref: '#/components/schemas/type'
+ Multimedia:
+ description: The media files associated to the product.
+ properties:
+ AudioSamples:
+ $ref: '#/components/schemas/media_audios'
+ ImageURLs:
+ $ref: '#/components/schemas/media_urls'
+ VideoURLs:
+ $ref: '#/components/schemas/media_videos'
+ type: object
+ Name:
+ $ref: '#/components/schemas/product_name'
+ Prices:
+ $ref: '#/components/schemas/product_prices'
+ Properties:
+ $ref: '#/components/schemas/product_properties'
+ Taxable:
+ $ref: '#/components/schemas/taxable'
+ type: object
+ product_next_cursor:
+ description: The ID of the next variant to link to when pagination is used.
+ example: a456789-abadfa67890ada-abafda67890
+ type: string
+ products:
+ description: The inventory available for a given product.
+ items:
+ $ref: '#/components/schemas/product'
+ type: array
+ product_inventory:
+ description: The inventory available for a given product.
+ properties:
+ Current:
+ $ref: '#/components/schemas/product'
+ NextCursor:
+ $ref: '#/components/schemas/product_next_cursor'
+ Parent:
+ $ref: '#/components/schemas/product'
+ Variants:
+ $ref: '#/components/schemas/products'
+ type: object
+ product_value:
+ description: The product's unique value ID associated to the `product.properties.value_id` from the Get Inventory call.
+ example: value example
+ type: string
+ rate_shipping:
+ description: The shipping rate amount in cents.
+ example: 234
+ type: integer
+ rate_subtotal:
+ description: The rate subtotal in cents.
+ example: 300
+ type: integer
+ refundable_capture:
+ description: Records details about a capture that is eligible to be refunded.
+ properties:
+ amount:
+ $ref: '#/components/schemas/amount'
+ capture_id:
+ $ref: '#/components/schemas/capture_id'
+ currency:
+ $ref: '#/components/schemas/currency_iso'
+ external_capture_id:
+ description: An external ID that can be sent to a third-party system.
+ type: string
+ type: object
+ transaction:
+ allOf:
+ - $ref: '#/components/schemas/base_model'
+ - description: A list of transactions.
+ items:
+ description: Details about the transaction.
+ properties:
+ Amount:
+ $ref: '#/components/schemas/amount'
+ Currency:
+ $ref: '#/components/schemas/currency_symbol'
+ FromConsumerID:
+ $ref: '#/components/schemas/from_consumer'
+ FromFundingInstrumentID:
+ $ref: '#/components/schemas/funding_instrument_id'
+ OrderID:
+ description: The order token.
+ format: int64
+ type: number
+ Processor:
+ $ref: '#/components/schemas/transaction_processor'
+ Reference:
+ $ref: '#/components/schemas/transaction_reference'
+ SourceTransactionID:
+ $ref: '#/components/schemas/transaction_id'
+ Status:
+ $ref: '#/components/schemas/transaction_status'
+ ToConsumerID:
+ $ref: '#/components/schemas/from_consumer'
+ ToFundingInstrumentID:
+ $ref: '#/components/schemas/funding_instrument_id'
+ Type:
+ $ref: '#/components/schemas/transaction_type'
+ type: object
+ type: array
+ refund_results:
+ description: Details about the refund.
+ properties:
+ capture_to_refund:
+ $ref: '#/components/schemas/refundable_capture'
+ cc_transaction:
+ $ref: '#/components/schemas/credit_card_transaction'
+ credit_status_to_update:
+ $ref: '#/components/schemas/credit_card_credit_status'
+ credit_to_refund:
+ $ref: '#/components/schemas/credit_card_credit'
+ error:
+ $ref: '#/components/schemas/error'
+ refund_id:
+ $ref: '#/components/schemas/transaction_id'
+ refund_transaction:
+ $ref: '#/components/schemas/transaction'
+ retriable:
+ description: Specifies if the system can retry the refund upon encountering an error.
+ example: true
+ type: boolean
+ type: object
+ transaction_authorization:
+ properties:
+ auth:
+ example: auth
+ type: string
+ avs_response:
+ example: avs
+ type: string
+ cvv_response:
+ example: cvv
+ type: string
+ metadata:
+ description: The metadata associated with the authorization.
+ properties:
+ processor_card_token:
+ $ref: '#/components/schemas/processor_card_token'
+ processor_shopperReference:
+ $ref: '#/components/schemas/processor_shopper_reference'
+ processor_token_alias:
+ $ref: '#/components/schemas/processor_token_alias'
+ type: object
+ processor:
+ $ref: '#/components/schemas/transaction_processor'
+ reason:
+ $ref: '#/components/schemas/credit_card_authorization_reason'
+ status:
+ $ref: '#/components/schemas/credit_card_authorization_status'
+ required:
+ - reason
+ - status
+ type: object
+ splits:
+ description: A list of splits. **Nullable** for Transactions Details.
+ items:
+ description: A split of fees by type and amount.
+ properties:
+ amount:
+ $ref: '#/components/schemas/amounts'
+ type:
+ description: |
+ **Nullable** for Transactions Details.
+ enum:
+ - net
+ - processing_fee
+ - bolt_fee
+ - adjustment
+ - float
+ - reserve
+ example: processing_fee
+ type: string
+ required:
+ - amount
+ - type
+ type: object
+ type: array
+ transaction_properties:
+ properties:
+ avs_result:
+ example: avs result
+ type: string
+ cvv_result:
+ example: cvv result
+ type: string
+ type: object
+ refund_transaction:
+ properties:
+ amount:
+ $ref: '#/components/schemas/amounts'
+ authorization:
+ $ref: '#/components/schemas/transaction_authorization'
+ capture:
+ $ref: '#/components/schemas/capture'
+ captures:
+ $ref: '#/components/schemas/captures'
+ credit:
+ $ref: '#/components/schemas/credit_status'
+ date:
+ $ref: '#/components/schemas/transaction_date'
+ from_consumer:
+ $ref: '#/components/schemas/from_consumer'
+ from_credit_card:
+ $ref: '#/components/schemas/from_credit_card'
+ id:
+ $ref: '#/components/schemas/transaction_id'
+ indemnification_decision:
+ $ref: '#/components/schemas/transaction_indemnification_decision'
+ indemnification_reason:
+ $ref: '#/components/schemas/transaction_indemnification_reason'
+ last4:
+ $ref: '#/components/schemas/card_last4'
+ last_viewed_utc:
+ $ref: '#/components/schemas/last_viewed_utc'
+ merchant:
+ $ref: '#/components/schemas/merchant'
+ merchant_division:
+ $ref: '#/components/schemas/merchant_division'
+ merchant_order_number:
+ $ref: '#/components/schemas/merchant_order_number'
+ order_decision:
+ $ref: '#/components/schemas/order_decision'
+ processor:
+ $ref: '#/components/schemas/transaction_processor'
+ reference:
+ $ref: '#/components/schemas/transaction_reference'
+ review_ticket:
+ $ref: '#/components/schemas/review_ticket'
+ risk_insights:
+ $ref: '#/components/schemas/risk_insights.yml'
+ splits:
+ $ref: '#/components/schemas/splits'
+ status:
+ $ref: '#/components/schemas/transaction_status'
+ to_consumer:
+ $ref: '#/components/schemas/from_consumer'
+ to_credit_card:
+ $ref: '#/components/schemas/from_credit_card'
+ transaction_properties:
+ $ref: '#/components/schemas/transaction_properties'
+ type:
+ $ref: '#/components/schemas/transaction_type'
+ type: object
+ refund_transactions:
description: |
- This captures funds for the designated transaction. A capture can be done for any partial amount or for the total authorized amount.
-
- Although the response returns the standard `transaction_view` object, only `captures` and either `id` or `reference` are needed.
- operationId: captureTransaction
- parameters:
- - $ref: '#/components/parameters/idempotency_key'
- requestBody:
- $ref: '#/components/requestBodies/capture_transaction'
- description: Capture a Transaction
- responses:
- '200':
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/transaction_view'
- description: Capture Successful
- '403':
- $ref: '#/components/responses/transaction_capture_error_403'
- '404':
- $ref: '#/components/responses/transaction_capture_error_404'
- '422':
- content:
- application/json:
- schema:
- properties:
- errors:
- items:
- properties:
- code:
- example: 1000001
- type: number
- field:
- example: transaction_id
- type: string
- message:
- example: '`TA8hLkJh4db4JJ` must be a valid public id of type transaction'
- type: string
- type: object
- type: array
- result:
- type: object
- type: object
- description: Unprocessable Entity
- security:
- - X-API-Key: []
- summary: Capture a Transaction
- tags:
- - Transactions
- /v1/merchant/transactions/credit:
- post:
- description: This refunds a captured transaction. Refunds can be done for any partial amount or for the total authorized amount. These refunds are processed synchronously and return information about the refunded transaction in the standard `transaction_view` object.
- operationId: refundTransaction
- parameters:
- - $ref: '#/components/parameters/idempotency_key'
- requestBody:
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/transaction_credit'
- description: Refund a Transaction
- responses:
- '200':
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/transaction_view'
- description: Refund Successful
- '422':
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/errors_bolt_api_response'
- description: Generic Error Schema
- security:
- - X-API-Key: []
- summary: Refund a Transaction
- tags:
- - Transactions
- /v1/merchant/transactions/review:
- post:
- description: This endpoint is used to manually approve or reject orders for a specified transaction.
- operationId: reviewTransaction
- parameters:
- - $ref: '#/components/parameters/idempotency_key'
- requestBody:
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/merchant_credit_card_review'
- description: Review a Transaction
- responses:
- '200':
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/transaction_details_view'
- description: Transaction Details Received
- '403':
- $ref: '#/components/responses/transaction_review_error_403'
- '404':
- $ref: '#/components/responses/transaction_review_error_404'
- '422':
- $ref: '#/components/responses/transaction_review_error_422'
- security:
- - X-API-Key: []
- summary: Review Transaction
- tags:
- - Transactions
- /v1/merchant/transactions/void:
- post:
+ **Nullable** for Transactions Details.
+ items:
+ $ref: '#/components/schemas/refund_transaction'
+ type: array
+ request_source:
+ description: The source of the request.
+ example: checkout
+ type: string
+ risk_model_contribution:
+ properties:
+ category:
+ description: Internal categories for risk analysis.
+ example: blacklist_email_in_blacklist
+ type: string
+ weight:
+ example: The weight
+ type: string
+ type: object
+ risk_model_contributions:
+ items:
+ $ref: '#/components/schemas/risk_model_contribution'
+ type: array
+ risk_model_result:
+ description: Contains the contributing factors Bolt's risk model used to make a decision.
+ properties:
+ contributions:
+ $ref: '#/components/schemas/risk_model_contributions'
+ type: object
+ review:
+ properties:
+ date:
+ example: 1485997169003
+ type: integer
+ decision:
+ example: decision
+ type: string
+ risk_model_result:
+ $ref: '#/components/schemas/risk_model_result'
+ source:
+ example: internal
+ type: string
+ type: object
+ risk_payment_instrument_factors.yml:
+ description: Displays the result of the CVV and AVS checks returned at authorization.
+ properties:
+ avs:
+ example: avs result
+ type: string
+ cvv:
+ example: cvv result
+ type: string
+ type: object
+ initialize_saved_payment_input:
+ type: object
+ properties:
+ payment_method:
+ type: object
+ properties:
+ type:
+ type: string
+ enum:
+ - paypal
+ - saved_payment_method
+ description: The type of the payment attempt
+ example: saved_payment_method
+ payment_data:
+ description: Initialize payment for a saved payment method
+ type: object
+ properties:
+ id:
+ type: string
+ description: Payment ID of the saved Bolt Payment method.
+ required:
+ - payment_data
+ - type
+ required:
+ - payment_method
+ update_saved_payment_input:
+ type: object
+ properties:
+ payment_method:
+ type: object
+ properties:
+ type:
+ type: string
+ enum:
+ - paypal
+ - saved_payment_method
+ description: The type of the payment attempt
+ example: saved_payment_method
+ payment_data:
+ description: Initialize payment for a saved payment method
+ type: object
+ properties:
+ id:
+ type: string
+ description: Payment ID of the saved Bolt Payment method.
+ saved_payment_view:
+ type: object
+ properties:
+ action:
+ description: Action after initializing payment
+ type: object
+ properties:
+ type:
+ type: string
+ description: action type
+ example: finalize
+ url:
+ type: string
+ description: action URL
+ example: api.bolt.com/v1/payments/12345/finalize
+ method:
+ type: string
+ description: action method
+ example: POST
+ shipments:
+ description: A list of shipments.
+ items:
+ description: A cart that is being prepared for shipment
+ properties:
+ cost:
+ $ref: '#/components/schemas/cost'
+ reference:
+ $ref: '#/components/schemas/reference'
+ service:
+ $ref: '#/components/schemas/service'
+ shipping_address:
+ $ref: '#/components/schemas/address'
+ shipping_method:
+ $ref: '#/components/schemas/shipping_method'
+ tax_amount:
+ $ref: '#/components/schemas/amounts'
+ type: object
+ type: array
+ shipping_default:
+ description: Defines if option is default or not.
+ example: true
+ type: boolean
+ shipping_option_description:
description: |
- This voids the authorization for a given transaction. Voids must be completed before the authorization is captured.
- In the request, either `transaction_id` or `transaction_reference` is required.
- Although the response returns the standard `transaction_view` object, only `status` and either `id` or `reference` are needed.
- operationId: voidTransaction
- parameters:
- - $ref: '#/components/parameters/idempotency_key'
- requestBody:
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/credit_card_void'
- description: Void a Transaction
- responses:
- '200':
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/transaction_view'
- description: Void Successful
- '403':
- $ref: '#/components/responses/transaction_void_error_403'
- '404':
- $ref: '#/components/responses/transaction_void_error_404'
- security:
- - X-API-Key: []
- summary: Void a Transaction
- tags:
- - Transactions
- /v1/merchant/transactions/{REFERENCE}:
- get:
+ Additional information about the service. Supports a maximum of 60 characters and the use of ``, with IDs to be used as tooltips.
+ example: The most popular choice
+ type: string
+ shipping_option_description_tooltip_content:
description: |
- This allows you to pull the full transaction details for a given transaction.
-
- **Note**: All objects and fields marked `required` in the Transaction Details response are also **nullable**. This includes any sub-components (objects or fields) also marked `required`.
- operationId: getTransactionDetails
- parameters:
- - $ref: '#/components/parameters/transaction_reference_path_param'
- responses:
- '200':
- $ref: '#/components/responses/transaction_details'
- '403':
- $ref: '#/components/responses/transaction_details_error_403'
- '422':
- $ref: '#/components/responses/transaction_details_error_422'
- security:
- - X-API-Key: []
- summary: Transaction Details
- tags:
- - Transactions
- patch:
- description: This allows you to update certain transaction properties post-authorization.
- operationId: updateTransaction
- requestBody:
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/transaction_update_input'
- description: Update a Transaction
- parameters:
- - $ref: '#/components/parameters/transaction_reference_path_param'
- - $ref: '#/components/parameters/idempotency_key'
- responses:
- '200':
- $ref: '#/components/responses/transaction_details'
- '403':
- $ref: '#/components/responses/transaction_details_error_403'
- '404':
- $ref: '#/components/responses/transaction_details_error_404'
- security:
- - X-API-Key: []
- summary: Update a Transaction
- tags:
- - Transactions
- /v1/oauth/token:
- post:
+ The HTML content that the tooltip displays. Supports up to 120 characters and the following HTML elements: ``, ``, `
`, ``, `- `, and ``
+ example: Timeline may vary depending on location.
+ type: string
+ shipping_option_description_tooltip_target:
+ description: The ID of the span used to wrap the description's text. This ID is used to display the tooltip.
+ example: 1
+ type: integer
+ shipping_option_description_tooltip:
+ description: An optional tooltip for a shipping option that supports a maximum of 60 characters (does not include HTML). This tooltip is displayed beneath the shipping option.
+ properties:
+ html_content:
+ $ref: '#/components/schemas/shipping_option_description_tooltip_content'
+ target:
+ $ref: '#/components/schemas/shipping_option_description_tooltip_target'
+ type: object
+ shipping_option_description_tooltips:
+ description: A list shipping tooltips.
+ items:
+ $ref: '#/components/schemas/shipping_option_description_tooltip'
+ type: array
+ shipping_option:
+ description: A shipping option.
+ properties:
+ cost:
+ $ref: '#/components/schemas/cost'
+ default:
+ $ref: '#/components/schemas/shipping_default'
+ description:
+ $ref: '#/components/schemas/shipping_option_description'
+ description_tooltips:
+ $ref: '#/components/schemas/shipping_option_description_tooltips'
+ discount_by_membership:
+ $ref: '#/components/schemas/discount_membership'
+ estimated_delivery_date:
+ $ref: '#/components/schemas/estimated_delivery_date'
+ reference:
+ $ref: '#/components/schemas/reference'
+ service:
+ $ref: '#/components/schemas/service'
+ signature:
+ $ref: '#/components/schemas/signature'
+ tax_amount:
+ $ref: '#/components/schemas/tax_amount'
+ tax_code:
+ $ref: '#/components/schemas/tax_code'
+ type: object
+ shipping_option_combined:
+ description: A shipping option.
+ properties:
+ cost:
+ $ref: '#/components/schemas/cost'
+ estimated_delivery_date:
+ $ref: '#/components/schemas/estimated_delivery_date'
+ reference:
+ $ref: '#/components/schemas/reference'
+ service:
+ $ref: '#/components/schemas/service'
+ signature:
+ $ref: '#/components/schemas/signature'
+ tax_amount:
+ $ref: '#/components/schemas/tax_amount'
+ tax_code:
+ $ref: '#/components/schemas/tax_code'
+ type: object
+ shipping_options:
+ description: A list of shipping options.
+ items:
+ $ref: '#/components/schemas/shipping_option'
+ type: array
+ shipping_options_combined:
+ description: A list of shipping options.
+ items:
+ $ref: '#/components/schemas/shipping_option_combined'
+ type: array
+ shipping_to_store_option:
+ description: A shipping option.
+ properties:
+ address:
+ $ref: '#/components/schemas/address'
+ cost:
+ $ref: '#/components/schemas/cost'
+ distance:
+ $ref: '#/components/schemas/distance'
+ distance_unit:
+ $ref: '#/components/schemas/distance_unit'
+ reference:
+ $ref: '#/components/schemas/reference'
+ service:
+ $ref: '#/components/schemas/service'
+ signature:
+ $ref: '#/components/schemas/reference'
+ store_name:
+ $ref: '#/components/schemas/name_store'
+ tax_amount:
+ $ref: '#/components/schemas/tax_amount'
+ type: object
+ shipping_to_store_options:
+ description: A list of ship-to-store options.
+ items:
+ $ref: '#/components/schemas/shipping_to_store_option'
+ type: array
+ source:
+ description: This is the originating source of the request
+ enum:
+ - direct_payments
+ - virtual terminal
+ example: direct_payments
+ type: string
+ source_transaction:
+ description: |
+ **Nullable** for Transactions Details.
+ properties:
+ amount:
+ $ref: '#/components/schemas/amounts'
+ authorization:
+ $ref: '#/components/schemas/transaction_authorization'
+ capture:
+ $ref: '#/components/schemas/capture'
+ captures:
+ $ref: '#/components/schemas/captures'
+ credit:
+ $ref: '#/components/schemas/credit_status'
+ date:
+ $ref: '#/components/schemas/transaction_date'
+ from_consumer:
+ $ref: '#/components/schemas/from_consumer'
+ from_credit_card:
+ $ref: '#/components/schemas/from_credit_card'
+ indemnification_decision:
+ $ref: '#/components/schemas/transaction_indemnification_decision'
+ indemnification_reason:
+ $ref: '#/components/schemas/transaction_indemnification_reason'
+ merchant:
+ $ref: '#/components/schemas/merchant'
+ merchant_division:
+ $ref: '#/components/schemas/merchant_division'
+ merchant_order_number:
+ $ref: '#/components/schemas/merchant_order_number'
+ order_decision:
+ $ref: '#/components/schemas/order_decision'
+ processor:
+ $ref: '#/components/schemas/transaction_processor'
+ reference:
+ $ref: '#/components/schemas/transaction_reference'
+ review_ticket:
+ $ref: '#/components/schemas/review_ticket'
+ splits:
+ $ref: '#/components/schemas/splits'
+ status:
+ $ref: '#/components/schemas/transaction_status'
+ to_consumer:
+ $ref: '#/components/schemas/from_consumer'
+ to_credit_card:
+ $ref: '#/components/schemas/from_credit_card'
+ transaction_properties:
+ $ref: '#/components/schemas/risk_payment_instrument_factors.yml'
+ type:
+ $ref: '#/components/schemas/transaction_type'
+ type: object
+ status:
+ description: The status.
+ enum:
+ - success
+ - failure
+ example: success
+ type: string
+ tags:
+ description: A list of tags.
+ items:
+ $ref: '#/components/schemas/tag'
+ type: array
+ tax_result:
+ properties:
+ items:
+ $ref: '#/components/schemas/items'
+ rate_shipping:
+ $ref: '#/components/schemas/rate_shipping'
+ rate_subtotal:
+ $ref: '#/components/schemas/rate_subtotal'
+ subtotal_amount:
+ $ref: '#/components/schemas/amount'
+ type: object
+ timeline_consumer:
+ description: The consumer associated to the note.
+ properties:
+ first_name:
+ $ref: '#/components/schemas/first_name'
+ id:
+ $ref: '#/components/schemas/consumer_id'
+ last_name:
+ $ref: '#/components/schemas/last_name'
+ type: object
+ timeline_date:
+ description: timeline event view
+ example: 1586480400000
+ format: int64
+ type: integer
+ timeline_note:
+ description: transaction timeline event note
+ example: This is a note.
+ type: string
+ timeline_transaction:
+ properties:
+ amount:
+ $ref: '#/components/schemas/amounts'
+ authorization:
+ $ref: '#/components/schemas/transaction_authorization'
+ capture:
+ $ref: '#/components/schemas/capture'
+ captures:
+ $ref: '#/components/schemas/captures'
+ credit:
+ $ref: '#/components/schemas/credit'
+ date:
+ $ref: '#/components/schemas/transaction_date'
+ from_consumer:
+ $ref: '#/components/schemas/from_consumer'
+ from_credit_card:
+ $ref: '#/components/schemas/from_credit_card'
+ id:
+ $ref: '#/components/schemas/transaction_id'
+ indemnification_decision:
+ $ref: '#/components/schemas/transaction_indemnification_decision'
+ indemnification_reason:
+ $ref: '#/components/schemas/transaction_indemnification_reason'
+ last4:
+ $ref: '#/components/schemas/card_last4'
+ last_viewed_utc:
+ $ref: '#/components/schemas/last_viewed_utc'
+ merchant:
+ $ref: '#/components/schemas/merchant'
+ merchant_division:
+ $ref: '#/components/schemas/merchant_division'
+ merchant_order_number:
+ $ref: '#/components/schemas/merchant_order_number'
+ order_decision:
+ $ref: '#/components/schemas/order_decision'
+ processor:
+ $ref: '#/components/schemas/transaction_processor'
+ reference:
+ $ref: '#/components/schemas/transaction_reference'
+ review_ticket:
+ $ref: '#/components/schemas/review_ticket'
+ risk_insights:
+ $ref: '#/components/schemas/risk_insights.yml'
+ splits:
+ $ref: '#/components/schemas/splits'
+ status:
+ $ref: '#/components/schemas/transaction_status'
+ to_consumer:
+ $ref: '#/components/schemas/from_consumer'
+ to_credit_card:
+ $ref: '#/components/schemas/from_credit_card'
+ transaction_properties:
+ $ref: '#/components/schemas/transaction_properties'
+ type:
+ $ref: '#/components/schemas/transaction_type'
+ type: object
+ timeline_type:
+ description: transaction timeline event type.
+ enum:
+ - note
+ - audit_entry
+ - address_change
+ type: string
+ timeline_visibility:
+ description: Defines who has permission to view the note added to the timeline.
+ enum:
+ - merchant
+ - public
+ example: merchant
+ type: string
+ timeline_event:
+ description: One event on the timeline.
+ properties:
+ address_change:
+ $ref: '#/components/schemas/address_change'
+ amount:
+ $ref: '#/components/schemas/amounts'
+ consumer:
+ $ref: '#/components/schemas/timeline_consumer'
+ date:
+ $ref: '#/components/schemas/timeline_date'
+ note:
+ $ref: '#/components/schemas/timeline_note'
+ review:
+ $ref: '#/components/schemas/review'
+ transaction:
+ $ref: '#/components/schemas/timeline_transaction'
+ type:
+ $ref: '#/components/schemas/timeline_type'
+ visibility:
+ $ref: '#/components/schemas/timeline_visibility'
+ type: object
+ timeline:
+ description: timeline of actions on a transaction
+ items:
+ $ref: '#/components/schemas/timeline_event'
+ type: array
+ transaction_auth_address:
+ description: The Address object is used for billing, shipping, and physical store address use cases.
+ properties:
+ company:
+ description: The company name associated with this address.
+ example: Bolt
+ maxLength: 1024
+ type: string
+ country:
+ description: The name of the country associated with this address.
+ example: United States
+ maxLength: 1024
+ type: string
+ country_code:
+ description: The ISO 3166-1 alpha-2 country code associated with this address.
+ example: US
+ maxLength: 2
+ minLength: 2
+ type: string
+ default:
+ description: Whether the added address is now the default address.
+ example: true
+ type: boolean
+ email:
+ description: The email of the person associated with this address.
+ $ref: '#/components/schemas/email'
+ first_name:
+ description: The given name of the person associated with this address.
+ example: Alan
+ maxLength: 1024
+ type: string
+ last_name:
+ description: The surname of the person associated with this address.
+ example: Watts
+ maxLength: 1024
+ type: string
+ locality:
+ description: The city name details associated with this address.
+ example: Brooklyn
+ maxLength: 1024
+ type: string
+ name:
+ description: The given and surname of the person associated with this address.
+ example: Alan Watts
+ maxLength: 1024
+ type: string
+ phone:
+ description: The phone number associated with this address.
+ $ref: '#/components/schemas/phone'
+ postal_code:
+ description: The postal or zip code associated with this address.
+ example: '10044'
+ maxLength: 32
+ type: string
+ region:
+ description: '**Not Required for NON US addresses**. The region details such as state or province associated with this address.'
+ example: NY
+ maxLength: 1024
+ type: string
+ region_code:
+ description: |
+ The ISO 3166-2 region code associated with this address.
+ - * If specified, value must be valid for the `country`.
+ - * If null, value is inferred from the `region`.
+ example: NY
+ maxLength: 1024
+ nullable: true
+ type: string
+ street_address1:
+ description: The street number and street name of the address.
+ example: 888 main street
+ maxLength: 1024
+ type: string
+ street_address2:
+ description: Any apartment, floor, or unit details.
+ example: apt 3021
+ maxLength: 1024
+ type: string
+ street_address3:
+ description: Any additional street address details.
+ example: c/o Alicia Watts
+ maxLength: 1024
+ nullable: true
+ type: string
+ street_address4:
+ description: Any additional street address details.
+ example: Bridge Street Apartment Building B
+ maxLength: 1024
+ nullable: true
+ type: string
+ required:
+ - country_code
+ - first_name
+ - last_name
+ - street_address1
+ - locality
+ - region
+ - postal_code
+ - country
+ type: object
+ transaction_custom_fields:
+ properties:
+ field:
+ $ref: '#/components/schemas/custom_fields'
+ response:
+ example: A response.
+ type: string
+ type: object
+ transaction_custom_fields_array:
+ items:
+ $ref: '#/components/schemas/transaction_custom_fields'
+ type: array
+ transaction_decision:
+ description: The decision to approve or reject the transaction.
+ enum:
+ - approve
+ - reject
+ example: approve
+ type: string
+ transaction_from_credit_card:
+ properties:
+ display_network:
+ $ref: '#/components/schemas/card_network'
+ id:
+ $ref: '#/components/schemas/card_id'
+ last4:
+ $ref: '#/components/schemas/card_last4'
+ network:
+ $ref: '#/components/schemas/card_network'
+ type: object
+ transaction_from_user:
+ properties:
+ emails:
+ $ref: '#/components/schemas/emails'
+ first_name:
+ $ref: '#/components/schemas/first_name'
+ id:
+ $ref: '#/components/schemas/transaction_id'
+ last_name:
+ $ref: '#/components/schemas/last_name'
+ phones:
+ $ref: '#/components/schemas/phones'
+ type: object
+ transaction_indemnification_status:
description: |
- Endpoint for receiving access, ID, and refresh tokens from Bolt's OAuth server.
-
- To use this endpoint, first use the Authorization Code Request flow by using the `authorization_code` Grant Type (`grant_type`). Then, in the event that you would need a second or subsequent code, use the `refresh_token` value returned from a successful request as the `refresh_token` input value in your subsequent `refresh_token` Grant Type (`grant_type`) request.
-
- **Reminder - the Content-Type of this request must be application/x-www-form-urlencoded**
- operationId: OAuthToken
- parameters:
- - $ref: '#/components/parameters/x-publishable-key'
- requestBody:
- content:
- application/x-www-form-urlencoded:
- examples:
- authorization_code_request:
- value:
- client_id: PUBLISHABLE_KEY_PLACEHOLDER
- client_secret: API_KEY_PLACEHOLDER
- code: AUTH_CODE_PLACEHOLDER
- grant_type: authorization_code
- scope: bolt.account.manage+openid
- refresh_token_request:
- value:
- client_id: PUBLISHABLE_KEY_PLACEHOLDER
- client_secret: API_KEY_PLACEHOLDER
- grant_type: refresh_token
- refresh_token: REFRESH_TOKEN_PLACEHOLDER
- scope: bolt.account.view
- schema:
- oneOf:
- - $ref: '#/components/schemas/o_auth_token_input'
- - $ref: '#/components/schemas/o_auth_token_input_refresh'
- responses:
- '200':
- content:
- application/json:
- examples:
- authorization_code_response:
- value:
- access_token: $ACCESS_TOKEN
- expires_in: 3600
- id_token: $ID_TOKEN
- refresh_token: $REFRESH_TOKEN
- refresh_token_scope: bolt.account.view
- scope: bolt.account.manage
- token_type: bearer
- refresh_token_response:
- value:
- access_token: $NEW_ACCESS_TOKEN
- expires_in: 3600
- refresh_token: $NEW_REFRESH_TOKEN
- refresh_token_scope: bolt.account.view
- scope: bolt.account.view
- token_type: bearer
- schema:
- $ref: '#/components/schemas/o_auth_token_response'
- description: OAuth token response.
- '400':
- $ref: '#/components/responses/oauth_400'
- '403':
- $ref: '#/components/responses/oauth_403'
- '422':
- $ref: '#/components/responses/oauth_422'
- summary: OAuth Token Endpoint
- tags:
- - OAuth
- /v1/shipments/mock_bolt_shipping:
- post:
- description: This endpoint simulates tracking an order's shipment and is for testing purposes only.
- operationId: testShipping
- requestBody:
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/mock_tracking_input'
- responses:
- '200':
- description: Success - No Details
- '400':
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/errors_bolt_api_response'
- description: OrderTrackingTesting Generic Failure
- '422':
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/errors_bolt_api_response'
- description: Unprocessable Entity
- security:
- - X-API-Key: []
- summary: Test Shipping
- tags:
- - Testing
- /v1/webhooks:
- get:
- description: Find webhook configurations belonging to a merchant division. Results are limited to only show webhooks authorized by the X-API-Key.
- operationId: queryWebhooks
- parameters:
- - $ref: '#/components/parameters/division_id'
- responses:
- '200':
- content:
- application/json:
- schema:
- properties:
- webhooks:
- items:
- $ref: '#/components/schemas/webhook'
- type: array
- description: Success
- '400':
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/errors_bolt_api_response'
- description: BAD REQUEST. Request is malformed or invalid values are detected.
- '403':
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/errors_bolt_api_response'
- description: FORBIDDEN. Not authorized to query webhook for this entity.
- '404':
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/errors_bolt_api_response'
- description: NOT FOUND. Unable to find webhook.
- security:
- - X-API-Key: []
- summary: Query Webhooks
- tags:
- - Webhooks
- post:
- description: Create a new webhook to receive notifications from Bolt about various events, such as transaction status. Webhooks must have unique configuration.
- operationId: createWebhook
- requestBody:
- content:
- application/json:
- schema:
- oneOf:
- - $ref: '#/components/schemas/event_group_create_webhook'
- - $ref: '#/components/schemas/events_array_create_webhook'
- description: Webhook that receives notifications.
- required: true
- responses:
- '200':
- content:
- application/json:
- schema:
- properties:
- webhook_id:
- $ref: '#/components/schemas/webhook_id'
- required:
- - webhook_id
+ Describes whether the indemnification decision and reason are up-to-date.
+ * `1` - current
+ * `2` - prior
+ enum:
+ - 1
+ - 2
+ example: 1
+ type: integer
+ transaction_publisher_from_credit_card.yml:
+ properties:
+ display_network:
+ $ref: '#/components/schemas/card_network'
+ id:
+ $ref: '#/components/schemas/card_id'
+ last4:
+ $ref: '#/components/schemas/card_last4'
+ network:
+ $ref: '#/components/schemas/card_network'
+ type: object
+ transaction_publisher_item:
+ description: An item with properties.
+ properties:
+ description:
+ $ref: '#/components/schemas/description'
+ image_url:
+ $ref: '#/components/schemas/image_url'
+ name:
+ $ref: '#/components/schemas/name_item'
+ properties:
+ $ref: '#/components/schemas/properties'
+ quantity:
+ $ref: '#/components/schemas/quantity'
+ reference:
+ $ref: '#/components/schemas/reference'
+ sku:
+ $ref: '#/components/schemas/sku'
+ taxable:
+ $ref: '#/components/schemas/taxable'
+ total_amount:
+ $ref: '#/components/schemas/amounts'
+ type:
+ $ref: '#/components/schemas/type'
+ unit_price:
+ $ref: '#/components/schemas/amounts'
+ type: object
+ transaction_publisher_items:
+ description: A list of items.
+ items:
+ $ref: '#/components/schemas/transaction_publisher_item'
+ type: array
+ transaction_publisher_refund_transactions:
+ description: List of transaction IDs.
+ items:
+ $ref: '#/components/schemas/transaction_id'
+ type: array
+ transaction_recharged:
+ properties:
+ amount:
+ $ref: '#/components/schemas/amounts'
+ authorization:
+ $ref: '#/components/schemas/transaction_authorization'
+ date:
+ $ref: '#/components/schemas/transaction_date'
+ from_consumer:
+ $ref: '#/components/schemas/credit_card_user'
+ from_credit_card:
+ $ref: '#/components/schemas/credit_card'
+ id:
+ $ref: '#/components/schemas/transaction_id'
+ indemnification_decision:
+ $ref: '#/components/schemas/transaction_indemnification_decision'
+ indemnification_reason:
+ $ref: '#/components/schemas/transaction_indemnification_reason'
+ merchant:
+ $ref: '#/components/schemas/merchant'
+ merchant_division:
+ $ref: '#/components/schemas/merchant_division'
+ processor:
+ $ref: '#/components/schemas/transaction_processor'
+ reference:
+ $ref: '#/components/schemas/transaction_reference'
+ splits:
+ $ref: '#/components/schemas/splits'
+ status:
+ $ref: '#/components/schemas/transaction_status'
+ to_consumer:
+ $ref: '#/components/schemas/credit_card_user'
+ type:
+ $ref: '#/components/schemas/transaction_type'
+ type: object
+ transaction_reviewed:
+ properties:
+ amount:
+ $ref: '#/components/schemas/amounts'
+ authorization:
+ $ref: '#/components/schemas/transaction_authorization'
+ captures:
+ description: A list of captures.
+ items:
+ description: A capture.
+ properties:
+ amount:
+ $ref: '#/components/schemas/amounts'
+ id:
+ description: The capture's unique ID.
+ example: afda45gfa3fa2
+ type: string
+ splits:
+ $ref: '#/components/schemas/splits'
+ status:
+ $ref: '#/components/schemas/credit_card_authorization_status'
+ type: object
+ type: array
+ date:
+ $ref: '#/components/schemas/transaction_date'
+ from_consumer:
+ $ref: '#/components/schemas/credit_card_user'
+ from_credit_card:
+ $ref: '#/components/schemas/credit_card'
+ id:
+ $ref: '#/components/schemas/transaction_id'
+ indemnification_decision:
+ $ref: '#/components/schemas/transaction_indemnification_decision'
+ indemnification_reason:
+ $ref: '#/components/schemas/transaction_indemnification_reason'
+ merchant:
+ $ref: '#/components/schemas/merchant'
+ merchant_division:
+ $ref: '#/components/schemas/merchant_division'
+ processor:
+ $ref: '#/components/schemas/transaction_processor'
+ reference:
+ $ref: '#/components/schemas/transaction_reference'
+ risk_insights:
+ $ref: '#/components/schemas/risk_insights.yml'
+ status:
+ $ref: '#/components/schemas/transaction_status'
+ to_consumer:
+ $ref: '#/components/schemas/credit_card_user'
+ type:
+ $ref: '#/components/schemas/transaction_type'
+ type: object
+ unit_price:
+ description: Price per unit in cents.
+ example: 500
+ type: integer
+ variants:
+ description: A collection of product variations linked to the current product that can vary in size and color or other properties.
+ items:
+ $ref: '#/components/schemas/product'
+ type: array
+ webhooks_object:
+ description: The type of webhook object.
+ example: transaction
+ type: string
+ adjust_transaction:
+ $ref: '#/components/schemas/transaction_view'
+ discount_currency:
+ $ref: '#/components/schemas/discount_codes'
+ order_publisher_cart_order_shipping_address:
+ $ref: '#/components/schemas/order_publisher_cart_shipments'
+ paypal_payment_input_initialize:
+ $ref: '#/components/schemas/initialize_paypal_payment_input'
+ paypal_payment_input_update:
+ $ref: '#/components/schemas/update_paypal_payment_input'
+ product_properties_array:
+ $ref: '#/components/schemas/product_properties'
+ requested_refund_amount:
+ $ref: '#/components/schemas/amount_view'
+ saved_payment_input_initialize:
+ $ref: '#/components/schemas/initialize_saved_payment_input'
+ saved_payment_input_update:
+ $ref: '#/components/schemas/update_saved_payment_input'
+ total_refund_amount:
+ $ref: '#/components/schemas/amount_view'
+ responses:
+ merchant_callbacks_error_400:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/errors_bolt_api_response'
+ description: BAD REQUEST. Request is malformed or invalid value types are detected. division_id could be invalid.
+ merchant_callbacks_error_403:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/errors_bolt_api_response'
+ description: Invalid Merchant API Key
+ merchant_identifier_error_403:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/errors_bolt_api_response'
+ description: Invalid Merchant API Key
+ order_generate_error_400:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/errors_bolt_api_response'
+ description: Generic Error Schema
+ order_generate_error_403:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/errors_bolt_api_response'
+ description: Generic Error Schema
+ order_generate_error_422:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/errors_bolt_api_response'
+ description: Generic Error Schema
+ statements_view:
+ content:
+ application/json:
+ schema:
+ properties:
+ url:
+ $ref: '#/components/schemas/statements_url'
+ required:
+ - url
+ type: object
+ description: Statements Fetch Successful
+ statements_view_error_403:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/errors_bolt_api_response'
+ description: Generic Error Schema
+ statements_view_error_404:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/errors_bolt_api_response'
+ description: Generic Error Schema
+ statements_view_error_422:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/errors_bolt_api_response'
+ description: Generic Error Schema
+ order_track:
+ content:
+ application/json:
+ schema:
+ required:
+ - url
+ type: object
+ description: Order Tracking Successful
+ order_track_error_400:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/errors_bolt_api_response'
+ description: Generic Error Schema
+ transaction_capture_error_403:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/errors_bolt_api_response'
+ description: Generic Error Schema
+ transaction_capture_error_404:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/errors_bolt_api_response'
+ description: Generic Error Schema
+ transaction_review_error_403:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/errors_bolt_api_response'
+ description: Generic Error Schema
+ transaction_review_error_404:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/errors_bolt_api_response'
+ description: The requested entity was not found. transaction_id not found
+ transaction_review_error_422:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/errors_bolt_api_response'
+ description: Generic Error Schema
+ transaction_void_error_403:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/errors_bolt_api_response'
+ description: Generic Error Schema
+ transaction_void_error_404:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/errors_bolt_api_response'
+ description: Generic Error Schema
+ transaction_details:
+ content:
+ application/json:
+ schema:
+ properties:
+ address_change_request_metadata:
+ $ref: '#/components/schemas/address_change_request_metadata_view'
+ adjust_transactions:
+ $ref: '#/components/schemas/adjust_transactions'
+ amount:
+ $ref: '#/components/schemas/amount_view'
+ auth_verification_status:
+ $ref: '#/components/schemas/authorization_verification_status'
+ authorization:
+ $ref: '#/components/schemas/credit_card_authorization_view'
+ authorization_id:
+ $ref: '#/components/schemas/authorization_id'
+ capture:
+ $ref: '#/components/schemas/capture_view'
+ captures:
+ $ref: '#/components/schemas/captures_view'
+ chargeback_details:
+ $ref: '#/components/schemas/chargeback_details'
+ credit:
+ $ref: '#/components/schemas/credit'
+ custom_fields:
+ $ref: '#/components/schemas/custom_fields'
+ customer_list_status:
+ $ref: '#/components/schemas/customer_list_status'
+ date:
+ $ref: '#/components/schemas/transaction_date'
+ from_consumer:
+ $ref: '#/components/schemas/credit_card_user'
+ from_consumer_membership_users:
+ $ref: '#/components/schemas/consumer_user_membership'
+ from_credit_card:
+ $ref: '#/components/schemas/credit_card_view'
+ id:
+ $ref: '#/components/schemas/transaction_id'
+ indemnification_decision:
+ $ref: '#/components/schemas/transaction_indemnification_decision'
+ indemnification_reason:
+ $ref: '#/components/schemas/transaction_indemnification_reason'
+ last_viewed_utc:
+ $ref: '#/components/schemas/last_viewed_utc'
+ last4:
+ $ref: '#/components/schemas/card_last4'
+ manual_disputes:
+ $ref: '#/components/schemas/manual_disputes'
+ merchant:
+ $ref: '#/components/schemas/merchant'
+ merchant_division:
+ $ref: '#/components/schemas/merchant_division'
+ merchant_order_number:
+ $ref: '#/components/schemas/merchant_order_number'
+ order:
+ $ref: '#/components/schemas/order_view'
+ order_decision:
+ $ref: '#/components/schemas/order_decision'
+ platform_metadata:
+ additionalProperties:
+ type: string
type: object
- description: Success
- '400':
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/errors_bolt_api_response'
- description: BAD REQUEST. Request is malformed or invalid values are detected.
- '403':
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/errors_bolt_api_response'
- description: FORBIDDEN. Not authorized to create a webhook for this entity.
- '422':
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/errors_bolt_api_response'
- description: UNPROCESSABLE ENTITY. Not allowed to receive duplicate notifications. This is to safeguard a webhook listener from receiving duplicate events. Use GET /v1/webhooks and DELETE /v1/webhooks to check for and delete duplicate webhooks.
- security:
- - X-API-Key: []
- summary: Create Bolt Webhook
- tags:
- - Webhooks
- /v1/webhooks/{webhook_id}:
- delete:
- description: Delete a Bolt webhook. Provide an authorized X-API-Key to perform this action.
- operationId: deleteWebhook
- parameters:
- - description: Webhook ID
- in: path
- name: webhook_id
- required: true
+ processor:
+ $ref: '#/components/schemas/transaction_processor'
+ reference:
+ $ref: '#/components/schemas/transaction_reference'
+ refund_transaction_ids:
+ $ref: '#/components/schemas/refund_transaction_ids'
+ refund_transactions:
+ $ref: '#/components/schemas/refund_transactions_view'
+ refunded_amount:
+ $ref: '#/components/schemas/amount_view'
+ review_ticket:
+ $ref: '#/components/schemas/review_ticket'
+ risk_insights:
+ $ref: '#/components/schemas/risk_insights.yml'
+ risk_review_status:
+ $ref: '#/components/schemas/risk_review_status'
+ risk_score:
+ type: integer
+ source_transaction:
+ $ref: '#/components/schemas/transaction_view'
+ splits:
+ $ref: '#/components/schemas/splits_view'
+ status:
+ $ref: '#/components/schemas/transaction_status'
+ timeline:
+ $ref: '#/components/schemas/transaction_timeline_view'
+ to_consumer:
+ $ref: '#/components/schemas/consumer_self_view'
+ to_credit_card:
+ $ref: '#/components/schemas/credit_card_view'
+ transaction_properties:
+ additionalProperties:
+ type: string
+ type: object
+ transaction_rejection_details:
+ $ref: '#/components/schemas/transaction_rejection_details_view'
+ type:
+ $ref: '#/components/schemas/transaction_type'
+ view_status:
+ type: string
+ void:
+ $ref: '#/components/schemas/credit_card_void_view'
+ void_cause:
+ type: string
+ type: object
+ description: |
+ Transaction Details Retrieved
+ transaction_details_error_403:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/errors_bolt_api_response'
+ description: Generic Error Schema
+ transaction_details_error_422:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/errors_bolt_api_response'
+ description: Generic Error Schema
+ transaction_details_error_404:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/errors_bolt_api_response'
+ description: Generic Error Schema
+ oauth_400:
+ content:
+ application/json:
+ examples:
+ invalid_request:
+ value:
+ error: invalid_request
+ error_description: The request is missing a required parameter, includes an invalid parameter value, includes a parameter more than once, or is otherwise malformed.
+ invalid_scope:
+ value:
+ error: invalid_scope
+ error_description: The request scope is invalid, unknown, or malformed.
+ schema:
+ $ref: '#/components/schemas/errors_oauth_server_response'
+ description: Invalid request to OAuth Token.
+ oauth_403:
+ content:
+ application/json:
+ examples:
+ request_forbidden:
+ value:
+ error: request_forbidden
+ error_description: The request is forbidden. You are not allowed to perform this action.
+ unsupported_grant_type:
+ value:
+ error: unsupported_grant_type
+ error_description: The grant type is not supported by Bolt’s authorization server.
+ schema:
+ $ref: '#/components/schemas/errors_oauth_server_response'
+ description: Forbidden request to OAuth Token.
+ oauth_422:
+ content:
+ application/json:
+ example:
+ error: invalid _grant
+ error_description: The provided authorization grant (e.g., authorization code, resource owner credentials) or refresh token is invalid, expired, revoked, does not match the redirection URI used in the authorization request, or was issued to another client.
+ schema:
+ $ref: '#/components/schemas/errors_oauth_server_response'
+ description: Unprocessable request to OAuth Token.
+ check_account:
+ content:
+ application/json:
+ schema:
+ properties:
+ has_bolt_account:
+ $ref: '#/components/schemas/has_bolt_account'
+ type: object
+ description: Success
+ check_account_error:
+ content:
+ application/json:
+ schema:
+ properties:
+ code:
+ $ref: '#/components/schemas/1005_code'
+ message:
+ $ref: '#/components/schemas/1005_message'
+ type: object
+ description: No Bolt account discovered.
+ order_create:
+ content:
+ application/json:
+ schema:
+ properties:
+ token:
+ $ref: '#/components/schemas/order_token'
+ type: object
+ description: Order Created Successfully
+ order_create_error:
+ content:
+ application/json:
+ schema:
+ properties:
+ error:
+ $ref: '#/components/schemas/error'
+ event:
+ enum:
+ - orders
+ type: string
+ status:
+ enum:
+ - failure
+ type: string
+ type: object
+ description: Order Creation Failed
+ order_generate:
+ content:
+ application/json:
+ schema:
+ properties:
+ cart:
+ $ref: '#/components/schemas/cart_order_generated'
+ token:
+ $ref: '#/components/schemas/order_token'
+ user_note:
+ $ref: '#/components/schemas/user_note'
+ type: object
+ description: Token Generation Successful
+ transaction_capture:
+ content:
+ application/json:
+ schema:
+ properties:
+ captures:
+ $ref: '#/components/schemas/captures'
+ id:
+ $ref: '#/components/schemas/transaction_id'
+ type: object
+ description: Capture Successful
+ transaction_capture_error_422:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/errors_bolt_api_response'
+ description: Generic Error Schema
+ transaction_recharge:
+ content:
+ application/json:
+ schema:
+ properties:
+ transaction:
+ $ref: '#/components/schemas/transaction_recharged'
+ type: object
+ description: Recharge Successful
+ transaction_review:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/transaction_reviewed'
+ description: Review Successful
+ securitySchemes:
+ OAuth:
+ description: |
+ Bolt utilizes the OAuth flow that developers can use to attain access to Bolt Account data via APIs.
+ For all APIs that require authorization, please provide your `access_token` returned from `/v1/oauth/token` via the basic auth bearer header `Authorization: bearer ${TOKEN}`.
+ [Read more about the OAuth token endpoint.](/api-bolt/#tag/OAuth)
+ flows:
+ authorizationCode:
+ authorizationUrl: https://api.bolt.com/v1/oauth/authorize
+ refreshUrl: https://api.bolt.com/v1/oauth/token
+ scopes:
+ bolt.account.manage: This scope grants permissions to perform read/edit/delete actions on Bolt Account data
+ bolt.account.view: This scope grants permissions to perform read only actions on Bolt Account data
+ openid: This scope grants permissions that enable Bolt SSO by granting an id token JWT that stores account data. Not used in v1/account endpoints
+ tokenUrl: https://api.bolt.com/v1/oauth/token
+ type: oauth2
+ X-API-Key:
+ description: Admins and Developers can obtain their Bolt API key from the Bolt Merchant Dashboard.
+ in: header
+ name: X-API-Key
+ type: apiKey
+ requestBodies:
+ statements_view:
+ content:
+ application/json:
schema:
- $ref: '#/components/schemas/webhook_id'
- responses:
- '200':
- description: Success
- '400':
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/errors_bolt_api_response'
- description: BAD REQUEST. Request is malformed or invalid values are detected.
- '403':
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/errors_bolt_api_response'
- description: FORBIDDEN. Not authorized to perform the operation on this resource.
- '404':
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/errors_bolt_api_response'
- description: NOT FOUND. Unable to find webhook.
- security:
- - X-API-Key: []
- summary: Delete a Bolt Webhook
- tags:
- - Webhooks
- get:
- description: Get Webhook information by its Webhook ID. Results only include webhooks authorized by the X-API-Key.
- operationId: getWebhook
- parameters:
- - description: Webhook ID
- in: path
- name: webhook_id
- required: true
+ properties:
+ date:
+ $ref: '#/components/schemas/statements_date'
+ file_type:
+ $ref: '#/components/schemas/statements_file_type'
+ type:
+ $ref: '#/components/schemas/statements_type'
+ required:
+ - type
+ - file_type
+ - date
+ type: object
+ description: View Statements
+ order_track:
+ content:
+ application/json:
schema:
- $ref: '#/components/schemas/webhook_id'
- responses:
- '200':
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/webhook'
- description: Success
- '400':
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/errors_bolt_api_response'
- description: BAD REQUEST. Request is malformed or invalid values are detected.
- '403':
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/errors_bolt_api_response'
- description: FORBIDDEN. Not authorized to perform the operation on this resource.
- '404':
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/errors_bolt_api_response'
- description: NOT FOUND. Unable to find webhook.
- security:
- - X-API-Key: []
- summary: Get Webhook
- tags:
- - Webhooks
- /v1/testing/shopper/create:
- post:
- description: Create a Bolt shopper account for testing purposes. Available for sandbox use only and the created account will be recycled after a certain time.
- operationId: createTestingShopperAccount
- parameters:
- - $ref: '#/components/parameters/x-publishable-key'
- requestBody:
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/testing_account_request'
- responses:
- '200':
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/testing_account_details'
- description: Testing Account Created
- security:
- - X-API-Key: []
- summary: Create Testing Shopper Account
- tags:
- - Testing
- /v1/testing/card_token:
- get:
- description: This endpoint fetches a new credit card token for Bolt's universal test credit card number `4111 1111 1111 1004`. This is for testing and is available only in sandbox.
- operationId: getTestCreditCardToken
- responses:
- '200':
- content:
- application/json:
- schema:
- type: object
- properties:
- token:
- description: The newly generated credit card token.
- type: string
- example: 7i8322df93jsor663bsf02be798e672afd9360a81d203rc97778ff4bddedertg
- expiry:
- description: The date at which the token expires. A token must be used within 15 minutes of creation.
- type: integer
- example: 1671140825305
- last4:
- description: The last 4 digits of the card number.
- type: string
- example: '1004'
- bin:
- description: The credit card bin.
- type: string
- example: '411111'
- network:
- description: The credit card network.
- type: string
- example: visa
- description: Successfully Fetched Credit Card Token
- security:
- - X-API-Key: []
- summary: Fetch a Test Credit Card Token
- tags:
- - Testing
-security:
- - X-API-Key: []
- - OAuth:
- - bolt.account.manage
- - bolt.account.view
+ properties:
+ carrier:
+ $ref: '#/components/schemas/shipping_carrier'
+ is_non_bolt_order:
+ $ref: '#/components/schemas/order_non_bolt'
+ items:
+ $ref: '#/components/schemas/items'
+ tracking_number:
+ $ref: '#/components/schemas/order_tracking_number'
+ transaction_reference:
+ $ref: '#/components/schemas/transaction_reference'
+ required:
+ - transaction_reference
+ - tracking_number
+ - carrier
+ - items
+ type: object
+ description: Send order tracking details.
+ capture_transaction:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/capture_transaction_with_reference'
+ description: Capture a Transaction
+ order_create:
+ content:
+ application/json:
+ schema:
+ properties:
+ Cart:
+ $ref: '#/components/schemas/cart_publisher'
+ MerchantDivisionID:
+ $ref: '#/components/schemas/merchant_division_id'
+ Metadata:
+ $ref: '#/components/schemas/publisher_order_metadata'
+ required:
+ - event
+ - data
+ type: object
+ order_generate:
+ content:
+ application/json:
+ schema:
+ properties:
+ cart:
+ $ref: '#/components/schemas/order_generate_cart'
+ user_note:
+ $ref: '#/components/schemas/user_note'
+ required:
+ - cart
+ type: object
+ description: Generate Order Token
+ transaction_recharge:
+ content:
+ application/json:
+ schema:
+ properties:
+ cart:
+ $ref: '#/components/schemas/cart_transaction_recharge'
+ consumer_id:
+ $ref: '#/components/schemas/consumer_id'
+ credit_card_id:
+ $ref: '#/components/schemas/card_id'
+ source:
+ $ref: '#/components/schemas/source'
+ required:
+ - cart
+ - source
+ type: object
+ description: Authorize a Transaction
+ transaction_review:
+ content:
+ application/json:
+ schema:
+ properties:
+ decision:
+ $ref: '#/components/schemas/transaction_decision'
+ transaction_reference:
+ $ref: '#/components/schemas/transaction_reference'
+ required:
+ - decision
+ type: object
+ description: Review a Transaction
+ transaction_void:
+ content:
+ application/json:
+ schema:
+ properties:
+ skip_hook_notification:
+ $ref: '#/components/schemas/transaction_skip_hook_notification'
+ transaction_id:
+ $ref: '#/components/schemas/transaction_id'
+ transaction_reference:
+ $ref: '#/components/schemas/transaction_reference'
+ type: object
+ description: Void a Transaction
diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock
index 372bb3e..52299ff 100644
--- a/.speakeasy/workflow.lock
+++ b/.speakeasy/workflow.lock
@@ -1,20 +1,21 @@
-speakeasyVersion: 1.631.4
+speakeasyVersion: 1.697.5
sources:
bolt-python-api:
sourceNamespace: bolt-python-api
- sourceRevisionDigest: sha256:979591ab54418fcfcf6bb36ba4aa4748231411d7d9612b3d60aec41003fde169
- sourceBlobDigest: sha256:0af17f076ed8196f10613e2f3081b45456c15f67bc75ca7a2f569bf55d9bca8a
+ sourceRevisionDigest: sha256:f1f36381f8324696fdb5e577538526d39dfa17bab9a681309e3223e6a6d8806d
+ sourceBlobDigest: sha256:fed069d499c273dac843e8b3784a7a04b4317b02655793c3e9f0b50c6202dc41
tags:
- latest
+ - speakeasy-sdk-regen-1759140059
- 1.0.1
targets:
bolt-sdk:
source: bolt-python-api
sourceNamespace: bolt-python-api
- sourceRevisionDigest: sha256:979591ab54418fcfcf6bb36ba4aa4748231411d7d9612b3d60aec41003fde169
- sourceBlobDigest: sha256:0af17f076ed8196f10613e2f3081b45456c15f67bc75ca7a2f569bf55d9bca8a
+ sourceRevisionDigest: sha256:f1f36381f8324696fdb5e577538526d39dfa17bab9a681309e3223e6a6d8806d
+ sourceBlobDigest: sha256:fed069d499c273dac843e8b3784a7a04b4317b02655793c3e9f0b50c6202dc41
codeSamplesNamespace: bolt-python-api-code-samples
- codeSamplesRevisionDigest: sha256:b2ae1de49eb37e75145bff16bf80714605249cc212a90f5402b20b5ec9aafb86
+ codeSamplesRevisionDigest: sha256:9810cf2b021d8c33bfc52f209e796baee9750c288acb6d63ab71bddd32817dc9
workflow:
workflowVersion: 1.0.0
speakeasyVersion: latest
diff --git a/README-PYPI.md b/README-PYPI.md
new file mode 100644
index 0000000..6448384
--- /dev/null
+++ b/README-PYPI.md
@@ -0,0 +1,657 @@
+# bolt-api-sdk
+
+Developer-friendly & type-safe Python SDK specifically catered to leverage *bolt-api-sdk* API.
+
+
+
+
+## Summary
+
+Bolt API Reference: Postman Collection:
+
+[](https://god.gw.postman.com/run-collection/9136127-55d2bde1-a248-473f-95b5-64cfd02fb445?action=collection%2Ffork&collection-url=entityId%3D9136127-55d2bde1-a248-473f-95b5-64cfd02fb445%26entityType%3Dcollection%26workspaceId%3D78beee89-4238-4c5f-bd1f-7e98978744b4#?env%5BBolt%20Sandbox%20Environment%5D=W3sia2V5IjoiYXBpX2Jhc2VfdXJsIiwidmFsdWUiOiJodHRwczovL2FwaS1zYW5kYm94LmJvbHQuY29tIiwidHlwZSI6ImRlZmF1bHQiLCJlbmFibGVkIjp0cnVlfSx7ImtleSI6InRrX2Jhc2UiLCJ2YWx1ZSI6Imh0dHBzOi8vc2FuZGJveC5ib2x0dGsuY29tIiwidHlwZSI6ImRlZmF1bHQiLCJlbmFibGVkIjp0cnVlfSx7ImtleSI6ImFwaV9rZXkiLCJ2YWx1ZSI6IjxyZXBsYWNlIHdpdGggeW91ciBCb2x0IFNhbmRib3ggQVBJIGtleT4iLCJ0eXBlIjoic2VjcmV0IiwiZW5hYmxlZCI6dHJ1ZX0seyJrZXkiOiJwdWJsaXNoYWJsZV9rZXkiLCJ2YWx1ZSI6IjxyZXBsYWNlIHdpdGggeW91ciBCb2x0IFNhbmRib3ggcHVibGlzaGFibGUga2V5PiIsInR5cGUiOiJkZWZhdWx0IiwiZW5hYmxlZCI6dHJ1ZX0seyJrZXkiOiJkaXZpc2lvbl9pZCIsInZhbHVlIjoiPHJlcGxhY2Ugd2l0aCB5b3VyIEJvbHQgU2FuZGJveCBwdWJsaWMgZGl2aXNpb24gSUQ+IiwidHlwZSI6ImRlZmF1bHQiLCJlbmFibGVkIjp0cnVlfV0=)
+
+## About
+ A comprehensive Bolt API reference for interacting with Transactions, Orders, Product Catalog, Configuration, Testing, and much more.
+
+ Note: You must also reference the [Merchant Callback API](https://github.com/BoltApp/Bolt-Python-SDK/blob/master//api-merchant) when building a managed checkout custom cart integration
+
+
+
+## Table of Contents
+
+* [bolt-api-sdk](https://github.com/BoltApp/Bolt-Python-SDK/blob/master/#bolt-api-sdk)
+ * [About](https://github.com/BoltApp/Bolt-Python-SDK/blob/master/#about)
+ * [SDK Installation](https://github.com/BoltApp/Bolt-Python-SDK/blob/master/#sdk-installation)
+ * [IDE Support](https://github.com/BoltApp/Bolt-Python-SDK/blob/master/#ide-support)
+ * [SDK Example Usage](https://github.com/BoltApp/Bolt-Python-SDK/blob/master/#sdk-example-usage)
+ * [Authentication](https://github.com/BoltApp/Bolt-Python-SDK/blob/master/#authentication)
+ * [Available Resources and Operations](https://github.com/BoltApp/Bolt-Python-SDK/blob/master/#available-resources-and-operations)
+ * [Retries](https://github.com/BoltApp/Bolt-Python-SDK/blob/master/#retries)
+ * [Error Handling](https://github.com/BoltApp/Bolt-Python-SDK/blob/master/#error-handling)
+ * [Server Selection](https://github.com/BoltApp/Bolt-Python-SDK/blob/master/#server-selection)
+ * [Custom HTTP Client](https://github.com/BoltApp/Bolt-Python-SDK/blob/master/#custom-http-client)
+ * [Resource Management](https://github.com/BoltApp/Bolt-Python-SDK/blob/master/#resource-management)
+ * [Debugging](https://github.com/BoltApp/Bolt-Python-SDK/blob/master/#debugging)
+* [Development](https://github.com/BoltApp/Bolt-Python-SDK/blob/master/#development)
+ * [Maturity](https://github.com/BoltApp/Bolt-Python-SDK/blob/master/#maturity)
+ * [Contributions](https://github.com/BoltApp/Bolt-Python-SDK/blob/master/#contributions)
+
+
+
+
+## SDK Installation
+
+> [!NOTE]
+> **Python version upgrade policy**
+>
+> Once a Python version reaches its [official end of life date](https://devguide.python.org/versions/), a 3-month grace period is provided for users to upgrade. Following this grace period, the minimum python version supported in the SDK will be updated.
+
+The SDK can be installed with *uv*, *pip*, or *poetry* package managers.
+
+### uv
+
+*uv* is a fast Python package installer and resolver, designed as a drop-in replacement for pip and pip-tools. It's recommended for its speed and modern Python tooling capabilities.
+
+```bash
+uv add bolt-api-sdk
+```
+
+### PIP
+
+*PIP* is the default package installer for Python, enabling easy installation and management of packages from PyPI via the command line.
+
+```bash
+pip install bolt-api-sdk
+```
+
+### Poetry
+
+*Poetry* is a modern tool that simplifies dependency management and package publishing by using a single `pyproject.toml` file to handle project metadata and dependencies.
+
+```bash
+poetry add bolt-api-sdk
+```
+
+### Shell and script usage with `uv`
+
+You can use this SDK in a Python shell with [uv](https://docs.astral.sh/uv/) and the `uvx` command that comes with it like so:
+
+```shell
+uvx --from bolt-api-sdk python
+```
+
+It's also possible to write a standalone Python script without needing to set up a whole project like so:
+
+```python
+#!/usr/bin/env -S uv run --script
+# /// script
+# requires-python = ">=3.9"
+# dependencies = [
+# "bolt-api-sdk",
+# ]
+# ///
+
+from bolt_api_sdk import Bolt
+
+sdk = Bolt(
+ # SDK arguments
+)
+
+# Rest of script here...
+```
+
+Once that is saved to a file, you can run it with `uv run script.py` where
+`script.py` can be replaced with the actual file name.
+
+
+
+## IDE Support
+
+### PyCharm
+
+Generally, the SDK will work well with most IDEs out of the box. However, when using PyCharm, you can enjoy much better integration with Pydantic by installing an additional plugin.
+
+- [PyCharm Pydantic Plugin](https://docs.pydantic.dev/latest/integrations/pycharm/)
+
+
+
+## SDK Example Usage
+
+### Example
+
+```python
+# Synchronous Example
+from bolt_api_sdk import Bolt, models
+import os
+
+
+with Bolt() as bolt:
+
+ res = bolt.account.get_account(security=models.GetAccountSecurity(
+ o_auth=os.getenv("BOLT_O_AUTH", ""),
+ x_api_key=os.getenv("BOLT_X_API_KEY", ""),
+ ))
+
+ # Handle response
+ print(res)
+```
+
+
+
+The same SDK client can also be used to make asynchronous requests by importing asyncio.
+
+```python
+# Asynchronous Example
+import asyncio
+from bolt_api_sdk import Bolt, models
+import os
+
+async def main():
+
+ async with Bolt() as bolt:
+
+ res = await bolt.account.get_account_async(security=models.GetAccountSecurity(
+ o_auth=os.getenv("BOLT_O_AUTH", ""),
+ x_api_key=os.getenv("BOLT_X_API_KEY", ""),
+ ))
+
+ # Handle response
+ print(res)
+
+asyncio.run(main())
+```
+
+
+
+## Authentication
+
+### Per-Client Security Schemes
+
+This SDK supports the following security schemes globally:
+
+| Name | Type | Scheme | Environment Variable |
+| ----------- | ------ | ------------ | -------------------- |
+| `x_api_key` | apiKey | API key | `BOLT_X_API_KEY` |
+| `o_auth` | oauth2 | OAuth2 token | `BOLT_O_AUTH` |
+
+You can set the security parameters through the `security` optional parameter when initializing the SDK client instance. The selected scheme will be used by default to authenticate with the API for all operations that support it. For example:
+```python
+from bolt_api_sdk import Bolt, models
+import os
+
+
+with Bolt(
+ security=models.Security(
+ x_api_key=os.getenv("BOLT_X_API_KEY", ""),
+ ),
+) as bolt:
+
+ res = bolt.account.create_account(create_account_input={
+ "addresses": [
+ {
+ "company": "Bolt",
+ "country": "United States",
+ "country_code": "US",
+ "door_code": "123456",
+ "email": "alan.watts@example.com",
+ "first_name": "Alan",
+ "last_name": "Watts",
+ "locality": "Brooklyn",
+ "name": "Alan Watts",
+ "phone": "+12125550199",
+ "postal_code": "10044",
+ "region": "NY",
+ "region_code": "NY",
+ "street_address1": "888 main street",
+ "street_address2": "apt 3021",
+ "street_address3": "c/o Alicia Watts",
+ "street_address4": "Bridge Street Apartment Building B",
+ "metadata": {},
+ },
+ ],
+ "payment_methods": [
+ {
+ "billing_address": {
+ "company": "Bolt",
+ "country": "United States",
+ "country_code": "US",
+ "default": True,
+ "door_code": "123456",
+ "email": "alan.watts@example.com",
+ "first_name": "Alan",
+ "last_name": "Watts",
+ "locality": "Brooklyn",
+ "name": "Alan Watts",
+ "phone": "+12125550199",
+ "postal_code": "10044",
+ "region": "NY",
+ "region_code": "NY",
+ "street_address1": "888 main street",
+ "street_address2": "apt 3021",
+ "street_address3": "c/o Alicia Watts",
+ "street_address4": "Bridge Street Apartment Building B",
+ },
+ "billing_address_id": None,
+ "bin": "411111",
+ "expiration": "2025-11",
+ "last4": "1234",
+ "metadata": {},
+ "postal_code": "10044",
+ "token": "a1B2c3D4e5F6G7H8i9J0k1L2m3N4o5P6Q7r8S9t0",
+ "token_type": models.PaymentMethodAccountTokenType.BOLT,
+ },
+ ],
+ "profile": {
+ "email": "alan.watts@example.com",
+ "first_name": "Alan",
+ "last_name": "Watts",
+ "metadata": {},
+ "phone": "+12125550199",
+ },
+ })
+
+ # Handle response
+ print(res)
+
+```
+
+### Per-Operation Security Schemes
+
+Some operations in this SDK require the security scheme to be specified at the request level. For example:
+```python
+from bolt_api_sdk import Bolt, models
+import os
+
+
+with Bolt() as bolt:
+
+ res = bolt.account.get_account(security=models.GetAccountSecurity(
+ o_auth=os.getenv("BOLT_O_AUTH", ""),
+ x_api_key=os.getenv("BOLT_X_API_KEY", ""),
+ ))
+
+ # Handle response
+ print(res)
+
+```
+
+
+
+## Available Resources and Operations
+
+
+Available methods
+
+### [Account](https://github.com/BoltApp/Bolt-Python-SDK/blob/master/docs/sdks/account/README.md)
+
+* [get_account](https://github.com/BoltApp/Bolt-Python-SDK/blob/master/docs/sdks/account/README.md#get_account) - Get Account Details
+* [create_account](https://github.com/BoltApp/Bolt-Python-SDK/blob/master/docs/sdks/account/README.md#create_account) - Create Bolt Account
+* [update_account_profile](https://github.com/BoltApp/Bolt-Python-SDK/blob/master/docs/sdks/account/README.md#update_account_profile) - Update Profile
+* [add_address](https://github.com/BoltApp/Bolt-Python-SDK/blob/master/docs/sdks/account/README.md#add_address) - Add Address
+* [delete_address](https://github.com/BoltApp/Bolt-Python-SDK/blob/master/docs/sdks/account/README.md#delete_address) - Delete Address
+* [replace_address](https://github.com/BoltApp/Bolt-Python-SDK/blob/master/docs/sdks/account/README.md#replace_address) - Replace Address
+* [edit_address](https://github.com/BoltApp/Bolt-Python-SDK/blob/master/docs/sdks/account/README.md#edit_address) - Edit Address
+* [detect_account](https://github.com/BoltApp/Bolt-Python-SDK/blob/master/docs/sdks/account/README.md#detect_account) - Detect Account
+* [add_payment_method](https://github.com/BoltApp/Bolt-Python-SDK/blob/master/docs/sdks/account/README.md#add_payment_method) - Add Payment Method
+* [delete_payment_method](https://github.com/BoltApp/Bolt-Python-SDK/blob/master/docs/sdks/account/README.md#delete_payment_method) - Delete Payment Method
+
+### [Configuration](https://github.com/BoltApp/Bolt-Python-SDK/blob/master/docs/sdks/configuration/README.md)
+
+* [get_merchant_callbacks](https://github.com/BoltApp/Bolt-Python-SDK/blob/master/docs/sdks/configuration/README.md#get_merchant_callbacks) - Get Callback URLs
+* [set_merchant_callbacks](https://github.com/BoltApp/Bolt-Python-SDK/blob/master/docs/sdks/configuration/README.md#set_merchant_callbacks) - Set Callback URLs
+* [get_merchant_identifiers](https://github.com/BoltApp/Bolt-Python-SDK/blob/master/docs/sdks/configuration/README.md#get_merchant_identifiers) - Get Merchant Identifiers
+
+### [OAuth](https://github.com/BoltApp/Bolt-Python-SDK/blob/master/docs/sdks/oauth/README.md)
+
+* [o_auth_token](https://github.com/BoltApp/Bolt-Python-SDK/blob/master/docs/sdks/oauth/README.md#o_auth_token) - OAuth Token Endpoint
+
+### [Orders](https://github.com/BoltApp/Bolt-Python-SDK/blob/master/docs/sdks/orders/README.md)
+
+* [create_order_token](https://github.com/BoltApp/Bolt-Python-SDK/blob/master/docs/sdks/orders/README.md#create_order_token) - Create Order Token
+* [track_order](https://github.com/BoltApp/Bolt-Python-SDK/blob/master/docs/sdks/orders/README.md#track_order) - Send order tracking details
+
+### [Statements](https://github.com/BoltApp/Bolt-Python-SDK/blob/master/docs/sdks/statements/README.md)
+
+* [get_statements](https://github.com/BoltApp/Bolt-Python-SDK/blob/master/docs/sdks/statements/README.md#get_statements) - Fetch a Statement
+
+### [Testing](https://github.com/BoltApp/Bolt-Python-SDK/blob/master/docs/sdks/testing/README.md)
+
+* [test_shipping](https://github.com/BoltApp/Bolt-Python-SDK/blob/master/docs/sdks/testing/README.md#test_shipping) - Test Shipping
+* [create_testing_shopper_account](https://github.com/BoltApp/Bolt-Python-SDK/blob/master/docs/sdks/testing/README.md#create_testing_shopper_account) - Create Testing Shopper Account
+* [get_test_credit_card_token](https://github.com/BoltApp/Bolt-Python-SDK/blob/master/docs/sdks/testing/README.md#get_test_credit_card_token) - Fetch a Test Credit Card Token
+
+### [Transactions](https://github.com/BoltApp/Bolt-Python-SDK/blob/master/docs/sdks/transactions/README.md)
+
+* [authorize_transaction](https://github.com/BoltApp/Bolt-Python-SDK/blob/master/docs/sdks/transactions/README.md#authorize_transaction) - Authorize a Card
+* [capture_transaction](https://github.com/BoltApp/Bolt-Python-SDK/blob/master/docs/sdks/transactions/README.md#capture_transaction) - Capture a Transaction
+* [refund_transaction](https://github.com/BoltApp/Bolt-Python-SDK/blob/master/docs/sdks/transactions/README.md#refund_transaction) - Refund a Transaction
+* [review_transaction](https://github.com/BoltApp/Bolt-Python-SDK/blob/master/docs/sdks/transactions/README.md#review_transaction) - Review Transaction
+* [void_transaction](https://github.com/BoltApp/Bolt-Python-SDK/blob/master/docs/sdks/transactions/README.md#void_transaction) - Void a Transaction
+* [get_transaction_details](https://github.com/BoltApp/Bolt-Python-SDK/blob/master/docs/sdks/transactions/README.md#get_transaction_details) - Transaction Details
+* [update_transaction](https://github.com/BoltApp/Bolt-Python-SDK/blob/master/docs/sdks/transactions/README.md#update_transaction) - Update a Transaction
+
+### [Webhooks](https://github.com/BoltApp/Bolt-Python-SDK/blob/master/docs/sdks/webhooks/README.md)
+
+* [query_webhooks](https://github.com/BoltApp/Bolt-Python-SDK/blob/master/docs/sdks/webhooks/README.md#query_webhooks) - Query Webhooks
+* [create_webhook](https://github.com/BoltApp/Bolt-Python-SDK/blob/master/docs/sdks/webhooks/README.md#create_webhook) - Create Bolt Webhook
+* [delete_webhook](https://github.com/BoltApp/Bolt-Python-SDK/blob/master/docs/sdks/webhooks/README.md#delete_webhook) - Delete a Bolt Webhook
+* [get_webhook](https://github.com/BoltApp/Bolt-Python-SDK/blob/master/docs/sdks/webhooks/README.md#get_webhook) - Get Webhook
+
+
+
+
+
+## Retries
+
+Some of the endpoints in this SDK support retries. If you use the SDK without any configuration, it will fall back to the default retry strategy provided by the API. However, the default retry strategy can be overridden on a per-operation basis, or across the entire SDK.
+
+To change the default retry strategy for a single API call, simply provide a `RetryConfig` object to the call:
+```python
+from bolt_api_sdk import Bolt, models
+from bolt_api_sdk.utils import BackoffStrategy, RetryConfig
+import os
+
+
+with Bolt() as bolt:
+
+ res = bolt.account.get_account(security=models.GetAccountSecurity(
+ o_auth=os.getenv("BOLT_O_AUTH", ""),
+ x_api_key=os.getenv("BOLT_X_API_KEY", ""),
+ ),
+ RetryConfig("backoff", BackoffStrategy(1, 50, 1.1, 100), False))
+
+ # Handle response
+ print(res)
+
+```
+
+If you'd like to override the default retry strategy for all operations that support retries, you can use the `retry_config` optional parameter when initializing the SDK:
+```python
+from bolt_api_sdk import Bolt, models
+from bolt_api_sdk.utils import BackoffStrategy, RetryConfig
+import os
+
+
+with Bolt(
+ retry_config=RetryConfig("backoff", BackoffStrategy(1, 50, 1.1, 100), False),
+) as bolt:
+
+ res = bolt.account.get_account(security=models.GetAccountSecurity(
+ o_auth=os.getenv("BOLT_O_AUTH", ""),
+ x_api_key=os.getenv("BOLT_X_API_KEY", ""),
+ ))
+
+ # Handle response
+ print(res)
+
+```
+
+
+
+## Error Handling
+
+[`BoltError`](https://github.com/BoltApp/Bolt-Python-SDK/blob/master/./src/bolt_api_sdk/errors/bolterror.py) is the base class for all HTTP error responses. It has the following properties:
+
+| Property | Type | Description |
+| ------------------ | ---------------- | --------------------------------------------------------------------------------------- |
+| `err.message` | `str` | Error message |
+| `err.status_code` | `int` | HTTP response status code eg `404` |
+| `err.headers` | `httpx.Headers` | HTTP response headers |
+| `err.body` | `str` | HTTP body. Can be empty string if no body is returned. |
+| `err.raw_response` | `httpx.Response` | Raw HTTP response |
+| `err.data` | | Optional. Some errors may contain structured data. [See Error Classes](https://github.com/BoltApp/Bolt-Python-SDK/blob/master/#error-classes). |
+
+### Example
+```python
+from bolt_api_sdk import Bolt, errors
+
+
+with Bolt() as bolt:
+ res = None
+ try:
+
+ res = bolt.account.detect_account(x_publishable_key="")
+
+ # Handle response
+ print(res)
+
+
+ except errors.BoltError as e:
+ # The base class for HTTP error responses
+ print(e.message)
+ print(e.status_code)
+ print(e.body)
+ print(e.headers)
+ print(e.raw_response)
+
+ # Depending on the method different errors may be thrown
+ if isinstance(e, errors.ErrorsBoltAPIResponse):
+ print(e.data.errors) # Optional[List[models.ErrorBoltAPI]]
+ print(e.data.result) # Optional[models.RequestResult]
+```
+
+### Error Classes
+**Primary error:**
+* [`BoltError`](https://github.com/BoltApp/Bolt-Python-SDK/blob/master/./src/bolt_api_sdk/errors/bolterror.py): The base class for HTTP error responses.
+
+Less common errors (8)
+
+
+
+**Network errors:**
+* [`httpx.RequestError`](https://www.python-httpx.org/exceptions/#httpx.RequestError): Base class for request errors.
+ * [`httpx.ConnectError`](https://www.python-httpx.org/exceptions/#httpx.ConnectError): HTTP client was unable to make a request to a server.
+ * [`httpx.TimeoutException`](https://www.python-httpx.org/exceptions/#httpx.TimeoutException): HTTP request timed out.
+
+
+**Inherit from [`BoltError`](https://github.com/BoltApp/Bolt-Python-SDK/blob/master/./src/bolt_api_sdk/errors/bolterror.py)**:
+* [`ErrorsBoltAPIResponse`](https://github.com/BoltApp/Bolt-Python-SDK/blob/master/./src/bolt_api_sdk/errors/errorsboltapiresponse.py): Applicable to 19 of 31 methods.*
+* [`ErrorsOauthServerResponse`](https://github.com/BoltApp/Bolt-Python-SDK/blob/master/./src/bolt_api_sdk/errors/errorsoauthserverresponse.py): Invalid request to OAuth Token. Applicable to 1 of 31 methods.*
+* [`UnprocessableEntityError`](https://github.com/BoltApp/Bolt-Python-SDK/blob/master/./src/bolt_api_sdk/errors/unprocessableentityerror.py): Unprocessable Entity. Status code `422`. Applicable to 1 of 31 methods.*
+* [`ResponseValidationError`](https://github.com/BoltApp/Bolt-Python-SDK/blob/master/./src/bolt_api_sdk/errors/responsevalidationerror.py): Type mismatch between the response data and the expected Pydantic model. Provides access to the Pydantic validation error via the `cause` attribute.
+
+
+
+\* Check [the method documentation](https://github.com/BoltApp/Bolt-Python-SDK/blob/master/#available-resources-and-operations) to see if the error is applicable.
+
+
+
+## Server Selection
+
+### Select Server by Index
+
+You can override the default server globally by passing a server index to the `server_idx: int` optional parameter when initializing the SDK client instance. The selected server will then be used as the default on the operations that use it. This table lists the indexes associated with the available servers:
+
+| # | Server | Description |
+| --- | ------------------------------ | ------------------------------- |
+| 0 | `https://api.bolt.com` | The Production URL (Live Data). |
+| 1 | `https://api-sandbox.bolt.com` | The Sandbox URL (Test Data). |
+| 2 | `https://api-staging.bolt.com` | The Staging URL (Staged Data). |
+
+#### Example
+
+```python
+from bolt_api_sdk import Bolt, models
+import os
+
+
+with Bolt(
+ server_idx=0,
+) as bolt:
+
+ res = bolt.account.get_account(security=models.GetAccountSecurity(
+ o_auth=os.getenv("BOLT_O_AUTH", ""),
+ x_api_key=os.getenv("BOLT_X_API_KEY", ""),
+ ))
+
+ # Handle response
+ print(res)
+
+```
+
+### Override Server URL Per-Client
+
+The default server can also be overridden globally by passing a URL to the `server_url: str` optional parameter when initializing the SDK client instance. For example:
+```python
+from bolt_api_sdk import Bolt, models
+import os
+
+
+with Bolt(
+ server_url="https://api-staging.bolt.com",
+) as bolt:
+
+ res = bolt.account.get_account(security=models.GetAccountSecurity(
+ o_auth=os.getenv("BOLT_O_AUTH", ""),
+ x_api_key=os.getenv("BOLT_X_API_KEY", ""),
+ ))
+
+ # Handle response
+ print(res)
+
+```
+
+
+
+## Custom HTTP Client
+
+The Python SDK makes API calls using the [httpx](https://www.python-httpx.org/) HTTP library. In order to provide a convenient way to configure timeouts, cookies, proxies, custom headers, and other low-level configuration, you can initialize the SDK client with your own HTTP client instance.
+Depending on whether you are using the sync or async version of the SDK, you can pass an instance of `HttpClient` or `AsyncHttpClient` respectively, which are Protocol's ensuring that the client has the necessary methods to make API calls.
+This allows you to wrap the client with your own custom logic, such as adding custom headers, logging, or error handling, or you can just pass an instance of `httpx.Client` or `httpx.AsyncClient` directly.
+
+For example, you could specify a header for every request that this sdk makes as follows:
+```python
+from bolt_api_sdk import Bolt
+import httpx
+
+http_client = httpx.Client(headers={"x-custom-header": "someValue"})
+s = Bolt(client=http_client)
+```
+
+or you could wrap the client with your own custom logic:
+```python
+from bolt_api_sdk import Bolt
+from bolt_api_sdk.httpclient import AsyncHttpClient
+import httpx
+
+class CustomClient(AsyncHttpClient):
+ client: AsyncHttpClient
+
+ def __init__(self, client: AsyncHttpClient):
+ self.client = client
+
+ async def send(
+ self,
+ request: httpx.Request,
+ *,
+ stream: bool = False,
+ auth: Union[
+ httpx._types.AuthTypes, httpx._client.UseClientDefault, None
+ ] = httpx.USE_CLIENT_DEFAULT,
+ follow_redirects: Union[
+ bool, httpx._client.UseClientDefault
+ ] = httpx.USE_CLIENT_DEFAULT,
+ ) -> httpx.Response:
+ request.headers["Client-Level-Header"] = "added by client"
+
+ return await self.client.send(
+ request, stream=stream, auth=auth, follow_redirects=follow_redirects
+ )
+
+ def build_request(
+ self,
+ method: str,
+ url: httpx._types.URLTypes,
+ *,
+ content: Optional[httpx._types.RequestContent] = None,
+ data: Optional[httpx._types.RequestData] = None,
+ files: Optional[httpx._types.RequestFiles] = None,
+ json: Optional[Any] = None,
+ params: Optional[httpx._types.QueryParamTypes] = None,
+ headers: Optional[httpx._types.HeaderTypes] = None,
+ cookies: Optional[httpx._types.CookieTypes] = None,
+ timeout: Union[
+ httpx._types.TimeoutTypes, httpx._client.UseClientDefault
+ ] = httpx.USE_CLIENT_DEFAULT,
+ extensions: Optional[httpx._types.RequestExtensions] = None,
+ ) -> httpx.Request:
+ return self.client.build_request(
+ method,
+ url,
+ content=content,
+ data=data,
+ files=files,
+ json=json,
+ params=params,
+ headers=headers,
+ cookies=cookies,
+ timeout=timeout,
+ extensions=extensions,
+ )
+
+s = Bolt(async_client=CustomClient(httpx.AsyncClient()))
+```
+
+
+
+## Resource Management
+
+The `Bolt` class implements the context manager protocol and registers a finalizer function to close the underlying sync and async HTTPX clients it uses under the hood. This will close HTTP connections, release memory and free up other resources held by the SDK. In short-lived Python programs and notebooks that make a few SDK method calls, resource management may not be a concern. However, in longer-lived programs, it is beneficial to create a single SDK instance via a [context manager][context-manager] and reuse it across the application.
+
+[context-manager]: https://docs.python.org/3/reference/datamodel.html#context-managers
+
+```python
+from bolt_api_sdk import Bolt
+def main():
+
+ with Bolt() as bolt:
+ # Rest of application here...
+
+
+# Or when using async:
+async def amain():
+
+ async with Bolt() as bolt:
+ # Rest of application here...
+```
+
+
+
+## Debugging
+
+You can setup your SDK to emit debug logs for SDK requests and responses.
+
+You can pass your own logger class directly into your SDK.
+```python
+from bolt_api_sdk import Bolt
+import logging
+
+logging.basicConfig(level=logging.DEBUG)
+s = Bolt(debug_logger=logging.getLogger("bolt_api_sdk"))
+```
+
+You can also enable a default debug logger by setting an environment variable `BOLT_DEBUG` to true.
+
+
+
+
+# Development
+
+## Maturity
+
+This SDK is in beta, and there may be breaking changes between versions without a major version update. Therefore, we recommend pinning usage
+to a specific package version. This way, you can install the same version each time without breaking changes unless you are intentionally
+looking for the latest version.
+
+## Contributions
+
+While we value open-source contributions to this SDK, this library is generated programmatically. Any manual changes added to internal files will be overwritten on the next generation.
+We look forward to hearing your feedback. Feel free to open a PR or an issue with a proof of concept and we'll do our best to include it in a future release.
+
+### SDK Created by [Speakeasy](https://www.speakeasy.com/?utm_source=bolt-api-sdk&utm_campaign=python)
diff --git a/README.md b/README.md
index a9373f9..ae1fc6d 100644
--- a/README.md
+++ b/README.md
@@ -288,7 +288,7 @@ with Bolt() as bolt:
Available methods
-### [account](docs/sdks/account/README.md)
+### [Account](docs/sdks/account/README.md)
* [get_account](docs/sdks/account/README.md#get_account) - Get Account Details
* [create_account](docs/sdks/account/README.md#create_account) - Create Bolt Account
@@ -301,33 +301,32 @@ with Bolt() as bolt:
* [add_payment_method](docs/sdks/account/README.md#add_payment_method) - Add Payment Method
* [delete_payment_method](docs/sdks/account/README.md#delete_payment_method) - Delete Payment Method
-
-### [configuration](docs/sdks/configuration/README.md)
+### [Configuration](docs/sdks/configuration/README.md)
* [get_merchant_callbacks](docs/sdks/configuration/README.md#get_merchant_callbacks) - Get Callback URLs
* [set_merchant_callbacks](docs/sdks/configuration/README.md#set_merchant_callbacks) - Set Callback URLs
* [get_merchant_identifiers](docs/sdks/configuration/README.md#get_merchant_identifiers) - Get Merchant Identifiers
-### [o_auth](docs/sdks/oauth/README.md)
+### [OAuth](docs/sdks/oauth/README.md)
* [o_auth_token](docs/sdks/oauth/README.md#o_auth_token) - OAuth Token Endpoint
-### [orders](docs/sdks/orders/README.md)
+### [Orders](docs/sdks/orders/README.md)
* [create_order_token](docs/sdks/orders/README.md#create_order_token) - Create Order Token
* [track_order](docs/sdks/orders/README.md#track_order) - Send order tracking details
-### [statements](docs/sdks/statements/README.md)
+### [Statements](docs/sdks/statements/README.md)
* [get_statements](docs/sdks/statements/README.md#get_statements) - Fetch a Statement
-### [testing](docs/sdks/testing/README.md)
+### [Testing](docs/sdks/testing/README.md)
* [test_shipping](docs/sdks/testing/README.md#test_shipping) - Test Shipping
* [create_testing_shopper_account](docs/sdks/testing/README.md#create_testing_shopper_account) - Create Testing Shopper Account
* [get_test_credit_card_token](docs/sdks/testing/README.md#get_test_credit_card_token) - Fetch a Test Credit Card Token
-### [transactions](docs/sdks/transactions/README.md)
+### [Transactions](docs/sdks/transactions/README.md)
* [authorize_transaction](docs/sdks/transactions/README.md#authorize_transaction) - Authorize a Card
* [capture_transaction](docs/sdks/transactions/README.md#capture_transaction) - Capture a Transaction
@@ -337,7 +336,7 @@ with Bolt() as bolt:
* [get_transaction_details](docs/sdks/transactions/README.md#get_transaction_details) - Transaction Details
* [update_transaction](docs/sdks/transactions/README.md#update_transaction) - Update a Transaction
-### [webhooks](docs/sdks/webhooks/README.md)
+### [Webhooks](docs/sdks/webhooks/README.md)
* [query_webhooks](docs/sdks/webhooks/README.md#query_webhooks) - Query Webhooks
* [create_webhook](docs/sdks/webhooks/README.md#create_webhook) - Create Bolt Webhook
@@ -483,7 +482,7 @@ import os
with Bolt(
- server_idx=2,
+ server_idx=0,
) as bolt:
res = bolt.account.get_account(security=models.GetAccountSecurity(
diff --git a/RELEASES.md b/RELEASES.md
new file mode 100644
index 0000000..a412215
--- /dev/null
+++ b/RELEASES.md
@@ -0,0 +1,11 @@
+
+
+## 2026-01-26 00:44:10
+### Changes
+Based on:
+- OpenAPI Doc
+- Speakeasy CLI 1.697.5 (2.799.0) https://github.com/speakeasy-api/speakeasy
+### Generated
+- [python v0.6.0] .
+### Releases
+- [PyPI v0.6.0] https://pypi.org/project/bolt-api-sdk/0.6.0 - .
\ No newline at end of file
diff --git a/docs/models/cartdiscountdiscountcategory.md b/docs/models/cartdiscountdiscountcategory.md
index 66471c3..fe5c16f 100644
--- a/docs/models/cartdiscountdiscountcategory.md
+++ b/docs/models/cartdiscountdiscountcategory.md
@@ -14,4 +14,5 @@
| `MEMBERSHIP_GIFTCARD` | membership_giftcard |
| `SUBSCRIPTION_DISCOUNT` | subscription_discount |
| `REWARDS_DISCOUNT` | rewards_discount |
+| `SHIPPING_DISCOUNT` | shipping_discount |
| `UNKNOWN` | unknown |
\ No newline at end of file
diff --git a/docs/models/icartdiscountviewdiscountcategory.md b/docs/models/icartdiscountviewdiscountcategory.md
index 3121156..4e1b2cf 100644
--- a/docs/models/icartdiscountviewdiscountcategory.md
+++ b/docs/models/icartdiscountviewdiscountcategory.md
@@ -14,4 +14,5 @@
| `MEMBERSHIP_GIFTCARD` | membership_giftcard |
| `SUBSCRIPTION_DISCOUNT` | subscription_discount |
| `REWARDS_DISCOUNT` | rewards_discount |
+| `SHIPPING_DISCOUNT` | shipping_discount |
| `UNKNOWN` | unknown |
\ No newline at end of file
diff --git a/docs/sdks/account/README.md b/docs/sdks/account/README.md
index 8e939a2..44a52cf 100644
--- a/docs/sdks/account/README.md
+++ b/docs/sdks/account/README.md
@@ -1,5 +1,4 @@
# Account
-(*account*)
## Overview
diff --git a/docs/sdks/bolt/README.md b/docs/sdks/bolt/README.md
deleted file mode 100644
index f6e3009..0000000
--- a/docs/sdks/bolt/README.md
+++ /dev/null
@@ -1,15 +0,0 @@
-# Bolt SDK
-
-## Overview
-
-Bolt API Reference: Postman Collection:
-
-[](https://god.gw.postman.com/run-collection/9136127-55d2bde1-a248-473f-95b5-64cfd02fb445?action=collection%2Ffork&collection-url=entityId%3D9136127-55d2bde1-a248-473f-95b5-64cfd02fb445%26entityType%3Dcollection%26workspaceId%3D78beee89-4238-4c5f-bd1f-7e98978744b4#?env%5BBolt%20Sandbox%20Environment%5D=W3sia2V5IjoiYXBpX2Jhc2VfdXJsIiwidmFsdWUiOiJodHRwczovL2FwaS1zYW5kYm94LmJvbHQuY29tIiwidHlwZSI6ImRlZmF1bHQiLCJlbmFibGVkIjp0cnVlfSx7ImtleSI6InRrX2Jhc2UiLCJ2YWx1ZSI6Imh0dHBzOi8vc2FuZGJveC5ib2x0dGsuY29tIiwidHlwZSI6ImRlZmF1bHQiLCJlbmFibGVkIjp0cnVlfSx7ImtleSI6ImFwaV9rZXkiLCJ2YWx1ZSI6IjxyZXBsYWNlIHdpdGggeW91ciBCb2x0IFNhbmRib3ggQVBJIGtleT4iLCJ0eXBlIjoic2VjcmV0IiwiZW5hYmxlZCI6dHJ1ZX0seyJrZXkiOiJwdWJsaXNoYWJsZV9rZXkiLCJ2YWx1ZSI6IjxyZXBsYWNlIHdpdGggeW91ciBCb2x0IFNhbmRib3ggcHVibGlzaGFibGUga2V5PiIsInR5cGUiOiJkZWZhdWx0IiwiZW5hYmxlZCI6dHJ1ZX0seyJrZXkiOiJkaXZpc2lvbl9pZCIsInZhbHVlIjoiPHJlcGxhY2Ugd2l0aCB5b3VyIEJvbHQgU2FuZGJveCBwdWJsaWMgZGl2aXNpb24gSUQ+IiwidHlwZSI6ImRlZmF1bHQiLCJlbmFibGVkIjp0cnVlfV0=)
-
-## About
- A comprehensive Bolt API reference for interacting with Transactions, Orders, Product Catalog, Configuration, Testing, and much more.
-
- Note: You must also reference the [Merchant Callback API](/api-merchant) when building a managed checkout custom cart integration
-
-
-### Available Operations
diff --git a/docs/sdks/configuration/README.md b/docs/sdks/configuration/README.md
index e527dd7..b9540b7 100644
--- a/docs/sdks/configuration/README.md
+++ b/docs/sdks/configuration/README.md
@@ -1,5 +1,4 @@
# Configuration
-(*configuration*)
## Overview
diff --git a/docs/sdks/oauth/README.md b/docs/sdks/oauth/README.md
index 986f525..d551b58 100644
--- a/docs/sdks/oauth/README.md
+++ b/docs/sdks/oauth/README.md
@@ -1,5 +1,4 @@
# OAuth
-(*o_auth*)
## Overview
@@ -34,9 +33,9 @@ with Bolt(
) as bolt:
res = bolt.o_auth.o_auth_token(request_body={
- "client_id": "",
- "client_secret": "",
- "code": "",
+ "client_id": "PUBLISHABLE_KEY_PLACEHOLDER",
+ "client_secret": "API_KEY_PLACEHOLDER",
+ "code": "AUTH_CODE_PLACEHOLDER",
"grant_type": models.OAuthTokenInputGrantType.AUTHORIZATION_CODE,
"scope": models.Scope.BOLT_ACCOUNT_VIEW,
})
diff --git a/docs/sdks/orders/README.md b/docs/sdks/orders/README.md
index 35930e9..1a85d55 100644
--- a/docs/sdks/orders/README.md
+++ b/docs/sdks/orders/README.md
@@ -1,5 +1,4 @@
# Orders
-(*orders*)
## Overview
diff --git a/docs/sdks/statements/README.md b/docs/sdks/statements/README.md
index ea6c750..ad2c804 100644
--- a/docs/sdks/statements/README.md
+++ b/docs/sdks/statements/README.md
@@ -1,5 +1,4 @@
# Statements
-(*statements*)
## Overview
diff --git a/docs/sdks/testing/README.md b/docs/sdks/testing/README.md
index 1f241d9..ff184e0 100644
--- a/docs/sdks/testing/README.md
+++ b/docs/sdks/testing/README.md
@@ -1,5 +1,4 @@
# Testing
-(*testing*)
## Overview
diff --git a/docs/sdks/transactions/README.md b/docs/sdks/transactions/README.md
index 1e0c474..72f0d32 100644
--- a/docs/sdks/transactions/README.md
+++ b/docs/sdks/transactions/README.md
@@ -1,5 +1,4 @@
# Transactions
-(*transactions*)
## Overview
diff --git a/docs/sdks/webhooks/README.md b/docs/sdks/webhooks/README.md
index da95ea7..9d686db 100644
--- a/docs/sdks/webhooks/README.md
+++ b/docs/sdks/webhooks/README.md
@@ -1,5 +1,4 @@
# Webhooks
-(*webhooks*)
## Overview
diff --git a/poetry.lock b/poetry.lock
index 6c4e5d6..bbc9a42 100644
--- a/poetry.lock
+++ b/poetry.lock
@@ -471,14 +471,14 @@ testutils = ["gitpython (>3)"]
[[package]]
name = "pyright"
-version = "1.1.405"
+version = "1.1.398"
description = "Command line wrapper for pyright"
optional = false
python-versions = ">=3.7"
groups = ["dev"]
files = [
- {file = "pyright-1.1.405-py3-none-any.whl", hash = "sha256:a2cb13700b5508ce8e5d4546034cb7ea4aedb60215c6c33f56cec7f53996035a"},
- {file = "pyright-1.1.405.tar.gz", hash = "sha256:5c2a30e1037af27eb463a1cc0b9f6d65fec48478ccf092c1ac28385a15c55763"},
+ {file = "pyright-1.1.398-py3-none-any.whl", hash = "sha256:0a70bfd007d9ea7de1cf9740e1ad1a40a122592cfe22a3f6791b06162ad08753"},
+ {file = "pyright-1.1.398.tar.gz", hash = "sha256:357a13edd9be8082dc73be51190913e475fa41a6efb6ec0d4b7aab3bc11638d8"},
]
[package.dependencies]
@@ -587,4 +587,4 @@ typing-extensions = ">=4.12.0"
[metadata]
lock-version = "2.1"
python-versions = ">=3.9.2"
-content-hash = "feed8629015d65736379dae580e2f7eaa121b01095a9a91a2344efb03270b34e"
+content-hash = "c0dd101f07fb15e54d4562dfdf249e128fb9507759d84012283e316c226a3b8c"
diff --git a/pyproject.toml b/pyproject.toml
index a60c272..06807ac 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,10 +1,10 @@
[project]
name = "bolt-api-sdk"
-version = "0.5.6"
+version = "0.6.0"
description = "Python Client SDK Generated by Speakeasy."
authors = [{ name = "Speakeasy" },]
-readme = "README.md"
+readme = "README-PYPI.md"
requires-python = ">=3.9.2"
dependencies = [
"httpcore >=1.0.9",
@@ -13,6 +13,7 @@ dependencies = [
]
[tool.poetry]
+repository = "https://github.com/BoltApp/Bolt-Python-SDK.git"
packages = [
{ include = "bolt_api_sdk", from = "src" }
]
@@ -27,7 +28,7 @@ in-project = true
[tool.poetry.group.dev.dependencies]
mypy = "==1.15.0"
pylint = "==3.2.3"
-pyright = "==1.1.405"
+pyright = "==1.1.398"
[build-system]
requires = ["poetry-core"]
diff --git a/scripts/prepare_readme.py b/scripts/prepare_readme.py
new file mode 100644
index 0000000..b28491f
--- /dev/null
+++ b/scripts/prepare_readme.py
@@ -0,0 +1,35 @@
+"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
+
+import re
+import shutil
+
+try:
+ with open("README.md", "r", encoding="utf-8") as rh:
+ readme_contents = rh.read()
+ GITHUB_URL = "https://github.com/BoltApp/Bolt-Python-SDK.git"
+ GITHUB_URL = (
+ GITHUB_URL[: -len(".git")] if GITHUB_URL.endswith(".git") else GITHUB_URL
+ )
+ REPO_SUBDIR = ""
+ # links on PyPI should have absolute URLs
+ readme_contents = re.sub(
+ r"(\[[^\]]+\]\()((?!https?:)[^\)]+)(\))",
+ lambda m: m.group(1)
+ + GITHUB_URL
+ + "/blob/master/"
+ + REPO_SUBDIR
+ + m.group(2)
+ + m.group(3),
+ readme_contents,
+ )
+
+ with open("README-PYPI.md", "w", encoding="utf-8") as wh:
+ wh.write(readme_contents)
+except Exception as e:
+ try:
+ print("Failed to rewrite README.md to README-PYPI.md, copying original instead")
+ print(e)
+ shutil.copyfile("README.md", "README-PYPI.md")
+ except Exception as ie:
+ print("Failed to copy README.md to README-PYPI.md")
+ print(ie)
diff --git a/scripts/publish.sh b/scripts/publish.sh
index 5eb52a4..2a3ead7 100755
--- a/scripts/publish.sh
+++ b/scripts/publish.sh
@@ -1,4 +1,6 @@
#!/usr/bin/env bash
export POETRY_PYPI_TOKEN_PYPI=${PYPI_TOKEN}
+poetry run python scripts/prepare_readme.py
+
poetry publish --build --skip-existing
diff --git a/src/bolt_api_sdk/_hooks/oauth2scopes.py b/src/bolt_api_sdk/_hooks/oauth2scopes.py
new file mode 100644
index 0000000..7e1b4aa
--- /dev/null
+++ b/src/bolt_api_sdk/_hooks/oauth2scopes.py
@@ -0,0 +1,22 @@
+"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
+
+from enum import Enum
+
+
+class OAuthOAuth2Scope(str, Enum):
+ r"""Available scopes for the OAuth OAuth 2.0 scheme (authorizationCode flow).
+
+ Bolt utilizes the OAuth flow that developers can use to attain access to Bolt Account data via APIs.
+ For all APIs that require authorization, please provide your `access_token` returned from `/v1/oauth/token` via the basic auth bearer header `Authorization: bearer ${TOKEN}`.
+ [Read more about the OAuth token endpoint.](/api-bolt/#tag/OAuth)
+
+ """
+
+ BOLT_ACCOUNT_MANAGE = "bolt.account.manage"
+ r"""This scope grants permissions to perform read/edit/delete actions on Bolt Account data"""
+
+ BOLT_ACCOUNT_VIEW = "bolt.account.view"
+ r"""This scope grants permissions to perform read only actions on Bolt Account data"""
+
+ OPENID = "openid"
+ r"""This scope grants permissions that enable Bolt SSO by granting an id token JWT that stores account data. Not used in v1/account endpoints"""
diff --git a/src/bolt_api_sdk/_version.py b/src/bolt_api_sdk/_version.py
index a4ce10c..d2035df 100644
--- a/src/bolt_api_sdk/_version.py
+++ b/src/bolt_api_sdk/_version.py
@@ -3,10 +3,10 @@
import importlib.metadata
__title__: str = "bolt-api-sdk"
-__version__: str = "0.5.6"
+__version__: str = "0.6.0"
__openapi_doc_version__: str = "1.0.1"
-__gen_version__: str = "2.716.16"
-__user_agent__: str = "speakeasy-sdk/python 0.5.6 2.716.16 1.0.1 bolt-api-sdk"
+__gen_version__: str = "2.799.0"
+__user_agent__: str = "speakeasy-sdk/python 0.6.0 2.799.0 1.0.1 bolt-api-sdk"
try:
if __package__ is not None:
diff --git a/src/bolt_api_sdk/account.py b/src/bolt_api_sdk/account.py
index 2079a53..075e09f 100644
--- a/src/bolt_api_sdk/account.py
+++ b/src/bolt_api_sdk/account.py
@@ -60,6 +60,7 @@ def get_account(
accept_header_value="application/json",
http_headers=http_headers,
security=utils.get_pydantic_model(security, models.GetAccountSecurity),
+ allow_empty_value=None,
timeout_ms=timeout_ms,
)
@@ -143,6 +144,7 @@ async def get_account_async(
accept_header_value="application/json",
http_headers=http_headers,
security=utils.get_pydantic_model(security, models.GetAccountSecurity),
+ allow_empty_value=None,
timeout_ms=timeout_ms,
)
@@ -241,6 +243,7 @@ def create_account(
"json",
Optional[models.CreateAccountInput],
),
+ allow_empty_value=None,
timeout_ms=timeout_ms,
)
@@ -257,7 +260,7 @@ def create_account(
config=self.sdk_configuration,
base_url=base_url or "",
operation_id="createAccount",
- oauth2_scopes=[],
+ oauth2_scopes=None,
security_source=get_security_from_env(
self.sdk_configuration.security, models.Security
),
@@ -341,6 +344,7 @@ async def create_account_async(
"json",
Optional[models.CreateAccountInput],
),
+ allow_empty_value=None,
timeout_ms=timeout_ms,
)
@@ -357,7 +361,7 @@ async def create_account_async(
config=self.sdk_configuration,
base_url=base_url or "",
operation_id="createAccount",
- oauth2_scopes=[],
+ oauth2_scopes=None,
security_source=get_security_from_env(
self.sdk_configuration.security, models.Security
),
@@ -445,6 +449,7 @@ def update_account_profile(
"json",
Optional[models.UpdateProfile],
),
+ allow_empty_value=None,
timeout_ms=timeout_ms,
)
@@ -547,6 +552,7 @@ async def update_account_profile_async(
"json",
Optional[models.UpdateProfile],
),
+ allow_empty_value=None,
timeout_ms=timeout_ms,
)
@@ -647,6 +653,7 @@ def add_address(
"json",
Optional[models.AddressAccount],
),
+ allow_empty_value=None,
timeout_ms=timeout_ms,
)
@@ -747,6 +754,7 @@ async def add_address_async(
"json",
Optional[models.AddressAccount],
),
+ allow_empty_value=None,
timeout_ms=timeout_ms,
)
@@ -836,6 +844,7 @@ def delete_address(
accept_header_value="*/*",
http_headers=http_headers,
security=utils.get_pydantic_model(security, models.DeleteAddressSecurity),
+ allow_empty_value=None,
timeout_ms=timeout_ms,
)
@@ -925,6 +934,7 @@ async def delete_address_async(
accept_header_value="*/*",
http_headers=http_headers,
security=utils.get_pydantic_model(security, models.DeleteAddressSecurity),
+ allow_empty_value=None,
timeout_ms=timeout_ms,
)
@@ -1019,11 +1029,15 @@ def replace_address(
:param door_code: The building door code or community gate code.
:param name: The given and surname of the person associated with this address.
:param phone: A phone number following E164 standards, in its globalized format, i.e. prepended with a plus sign.
- :param region_code: The ISO 3166-2 region code associated with this address. - * If specified, value must be valid for the `country`. - * If null, value is inferred from the `region`.
+ :param region_code: The ISO 3166-2 region code associated with this address.
+ - * If specified, value must be valid for the `country`.
+ - * If null, value is inferred from the `region`.
+
:param street_address2: Any apartment, floor, or unit details.
:param street_address3: Any additional street address details.
:param street_address4: Any additional street address details.
:param metadata: A key-value pair object that allows users to store arbitrary information associated with an object. For any individual account object, we allow up to 50 keys. Keys can be up to 40 characters long and values can be up to 500 characters long. Metadata should not contain any sensitive customer information, like PII (Personally Identifiable Information). For more information about metadata, see our [documentation](https://help.bolt.com/developers/references/embedded-metadata/).
+
:param retries: Override the default retry configuration for this method
:param server_url: Override the default server URL for this method
:param timeout_ms: Override the default request timeout configuration for this method in milliseconds
@@ -1088,6 +1102,7 @@ def replace_address(
"json",
Optional[models.AddressAccount],
),
+ allow_empty_value=None,
timeout_ms=timeout_ms,
)
@@ -1182,11 +1197,15 @@ async def replace_address_async(
:param door_code: The building door code or community gate code.
:param name: The given and surname of the person associated with this address.
:param phone: A phone number following E164 standards, in its globalized format, i.e. prepended with a plus sign.
- :param region_code: The ISO 3166-2 region code associated with this address. - * If specified, value must be valid for the `country`. - * If null, value is inferred from the `region`.
+ :param region_code: The ISO 3166-2 region code associated with this address.
+ - * If specified, value must be valid for the `country`.
+ - * If null, value is inferred from the `region`.
+
:param street_address2: Any apartment, floor, or unit details.
:param street_address3: Any additional street address details.
:param street_address4: Any additional street address details.
:param metadata: A key-value pair object that allows users to store arbitrary information associated with an object. For any individual account object, we allow up to 50 keys. Keys can be up to 40 characters long and values can be up to 500 characters long. Metadata should not contain any sensitive customer information, like PII (Personally Identifiable Information). For more information about metadata, see our [documentation](https://help.bolt.com/developers/references/embedded-metadata/).
+
:param retries: Override the default retry configuration for this method
:param server_url: Override the default server URL for this method
:param timeout_ms: Override the default request timeout configuration for this method in milliseconds
@@ -1251,6 +1270,7 @@ async def replace_address_async(
"json",
Optional[models.AddressAccount],
),
+ allow_empty_value=None,
timeout_ms=timeout_ms,
)
@@ -1343,11 +1363,15 @@ def edit_address(
:param door_code: The building door code or community gate code.
:param name: The given and surname of the person associated with this address.
:param phone: A phone number following E164 standards, in its globalized format, i.e. prepended with a plus sign.
- :param region_code: The ISO 3166-2 region code associated with this address. - * If specified, value must be valid for the `country`. - * If null, value is inferred from the `region`.
+ :param region_code: The ISO 3166-2 region code associated with this address.
+ - * If specified, value must be valid for the `country`.
+ - * If null, value is inferred from the `region`.
+
:param street_address2: Any apartment, floor, or unit details.
:param street_address3: Any additional street address details.
:param street_address4: Any additional street address details.
:param metadata: A key-value pair object that allows users to store arbitrary information associated with an object. For any individual account object, we allow up to 50 keys. Keys can be up to 40 characters long and values can be up to 500 characters long. Metadata should not contain any sensitive customer information, like PII (Personally Identifiable Information). For more information about metadata, see our [documentation](https://help.bolt.com/developers/references/embedded-metadata/).
+
:param retries: Override the default retry configuration for this method
:param server_url: Override the default server URL for this method
:param timeout_ms: Override the default request timeout configuration for this method in milliseconds
@@ -1411,6 +1435,7 @@ def edit_address(
"json",
Optional[models.AddressAccount],
),
+ allow_empty_value=None,
timeout_ms=timeout_ms,
)
@@ -1503,11 +1528,15 @@ async def edit_address_async(
:param door_code: The building door code or community gate code.
:param name: The given and surname of the person associated with this address.
:param phone: A phone number following E164 standards, in its globalized format, i.e. prepended with a plus sign.
- :param region_code: The ISO 3166-2 region code associated with this address. - * If specified, value must be valid for the `country`. - * If null, value is inferred from the `region`.
+ :param region_code: The ISO 3166-2 region code associated with this address.
+ - * If specified, value must be valid for the `country`.
+ - * If null, value is inferred from the `region`.
+
:param street_address2: Any apartment, floor, or unit details.
:param street_address3: Any additional street address details.
:param street_address4: Any additional street address details.
:param metadata: A key-value pair object that allows users to store arbitrary information associated with an object. For any individual account object, we allow up to 50 keys. Keys can be up to 40 characters long and values can be up to 500 characters long. Metadata should not contain any sensitive customer information, like PII (Personally Identifiable Information). For more information about metadata, see our [documentation](https://help.bolt.com/developers/references/embedded-metadata/).
+
:param retries: Override the default retry configuration for this method
:param server_url: Override the default server URL for this method
:param timeout_ms: Override the default request timeout configuration for this method in milliseconds
@@ -1571,6 +1600,7 @@ async def edit_address_async(
"json",
Optional[models.AddressAccount],
),
+ allow_empty_value=None,
timeout_ms=timeout_ms,
)
@@ -1660,6 +1690,7 @@ def detect_account(
user_agent_header="user-agent",
accept_header_value="application/json",
http_headers=http_headers,
+ allow_empty_value=None,
timeout_ms=timeout_ms,
)
@@ -1676,7 +1707,7 @@ def detect_account(
config=self.sdk_configuration,
base_url=base_url or "",
operation_id="detectAccount",
- oauth2_scopes=[],
+ oauth2_scopes=None,
security_source=None,
),
request=req,
@@ -1755,6 +1786,7 @@ async def detect_account_async(
user_agent_header="user-agent",
accept_header_value="application/json",
http_headers=http_headers,
+ allow_empty_value=None,
timeout_ms=timeout_ms,
)
@@ -1771,7 +1803,7 @@ async def detect_account_async(
config=self.sdk_configuration,
base_url=base_url or "",
operation_id="detectAccount",
- oauth2_scopes=[],
+ oauth2_scopes=None,
security_source=None,
),
request=req,
@@ -1871,6 +1903,7 @@ def add_payment_method(
"json",
Optional[models.AddPaymentMethodRequestBody],
),
+ allow_empty_value=None,
timeout_ms=timeout_ms,
)
@@ -1981,6 +2014,7 @@ async def add_payment_method_async(
"json",
Optional[models.AddPaymentMethodRequestBody],
),
+ allow_empty_value=None,
timeout_ms=timeout_ms,
)
@@ -2072,6 +2106,7 @@ def delete_payment_method(
security=utils.get_pydantic_model(
security, models.DeletePaymentMethodSecurity
),
+ allow_empty_value=None,
timeout_ms=timeout_ms,
)
@@ -2169,6 +2204,7 @@ async def delete_payment_method_async(
security=utils.get_pydantic_model(
security, models.DeletePaymentMethodSecurity
),
+ allow_empty_value=None,
timeout_ms=timeout_ms,
)
diff --git a/src/bolt_api_sdk/basesdk.py b/src/bolt_api_sdk/basesdk.py
index 3f281c6..f7c3782 100644
--- a/src/bolt_api_sdk/basesdk.py
+++ b/src/bolt_api_sdk/basesdk.py
@@ -7,7 +7,12 @@
AfterSuccessContext,
BeforeRequestContext,
)
-from bolt_api_sdk.utils import RetryConfig, SerializedRequestBody, get_body_content
+from bolt_api_sdk.utils import (
+ RetryConfig,
+ SerializedRequestBody,
+ get_body_content,
+ run_sync_in_thread,
+)
import httpx
from typing import Callable, List, Mapping, Optional, Tuple
from urllib.parse import parse_qs, urlparse
@@ -60,6 +65,7 @@ def _build_request_async(
] = None,
url_override: Optional[str] = None,
http_headers: Optional[Mapping[str, str]] = None,
+ allow_empty_value: Optional[List[str]] = None,
) -> httpx.Request:
client = self.sdk_configuration.async_client
return self._build_request_with_client(
@@ -80,6 +86,7 @@ def _build_request_async(
get_serialized_body,
url_override,
http_headers,
+ allow_empty_value,
)
def _build_request(
@@ -102,6 +109,7 @@ def _build_request(
] = None,
url_override: Optional[str] = None,
http_headers: Optional[Mapping[str, str]] = None,
+ allow_empty_value: Optional[List[str]] = None,
) -> httpx.Request:
client = self.sdk_configuration.client
return self._build_request_with_client(
@@ -122,6 +130,7 @@ def _build_request(
get_serialized_body,
url_override,
http_headers,
+ allow_empty_value,
)
def _build_request_with_client(
@@ -145,6 +154,7 @@ def _build_request_with_client(
] = None,
url_override: Optional[str] = None,
http_headers: Optional[Mapping[str, str]] = None,
+ allow_empty_value: Optional[List[str]] = None,
) -> httpx.Request:
query_params = {}
@@ -160,6 +170,7 @@ def _build_request_with_client(
query_params = utils.get_query_params(
request if request_has_query_params else None,
_globals if request_has_query_params else None,
+ allow_empty_value,
)
else:
# Pick up the query parameter from the override so they can be
@@ -305,7 +316,10 @@ async def do_request_async(
async def do():
http_res = None
try:
- req = hooks.before_request(BeforeRequestContext(hook_ctx), request)
+ req = await run_sync_in_thread(
+ hooks.before_request, BeforeRequestContext(hook_ctx), request
+ )
+
logger.debug(
"Request:\nMethod: %s\nURL: %s\nHeaders: %s\nBody: %s",
req.method,
@@ -319,7 +333,10 @@ async def do():
http_res = await client.send(req, stream=stream)
except Exception as e:
- _, e = hooks.after_error(AfterErrorContext(hook_ctx), None, e)
+ _, e = await run_sync_in_thread(
+ hooks.after_error, AfterErrorContext(hook_ctx), None, e
+ )
+
if e is not None:
logger.debug("Request Exception", exc_info=True)
raise e
@@ -337,9 +354,10 @@ async def do():
)
if utils.match_status_codes(error_status_codes, http_res.status_code):
- result, err = hooks.after_error(
- AfterErrorContext(hook_ctx), http_res, None
+ result, err = await run_sync_in_thread(
+ hooks.after_error, AfterErrorContext(hook_ctx), http_res, None
)
+
if err is not None:
logger.debug("Request Exception", exc_info=True)
raise err
@@ -359,6 +377,8 @@ async def do():
http_res = await do()
if not utils.match_status_codes(error_status_codes, http_res.status_code):
- http_res = hooks.after_success(AfterSuccessContext(hook_ctx), http_res)
+ http_res = await run_sync_in_thread(
+ hooks.after_success, AfterSuccessContext(hook_ctx), http_res
+ )
return http_res
diff --git a/src/bolt_api_sdk/configuration.py b/src/bolt_api_sdk/configuration.py
index ca1ff86..21848fd 100644
--- a/src/bolt_api_sdk/configuration.py
+++ b/src/bolt_api_sdk/configuration.py
@@ -58,6 +58,7 @@ def get_merchant_callbacks(
accept_header_value="application/json",
http_headers=http_headers,
security=self.sdk_configuration.security,
+ allow_empty_value=None,
timeout_ms=timeout_ms,
)
@@ -74,7 +75,7 @@ def get_merchant_callbacks(
config=self.sdk_configuration,
base_url=base_url or "",
operation_id="getMerchantCallbacks",
- oauth2_scopes=[],
+ oauth2_scopes=None,
security_source=get_security_from_env(
self.sdk_configuration.security, models.Security
),
@@ -147,6 +148,7 @@ async def get_merchant_callbacks_async(
accept_header_value="application/json",
http_headers=http_headers,
security=self.sdk_configuration.security,
+ allow_empty_value=None,
timeout_ms=timeout_ms,
)
@@ -163,7 +165,7 @@ async def get_merchant_callbacks_async(
config=self.sdk_configuration,
base_url=base_url or "",
operation_id="getMerchantCallbacks",
- oauth2_scopes=[],
+ oauth2_scopes=None,
security_source=get_security_from_env(
self.sdk_configuration.security, models.Security
),
@@ -241,6 +243,7 @@ def set_merchant_callbacks(
get_serialized_body=lambda: utils.serialize_request_body(
request, False, True, "json", Optional[models.MerchantCallbacksInput]
),
+ allow_empty_value=None,
timeout_ms=timeout_ms,
)
@@ -257,7 +260,7 @@ def set_merchant_callbacks(
config=self.sdk_configuration,
base_url=base_url or "",
operation_id="setMerchantCallbacks",
- oauth2_scopes=[],
+ oauth2_scopes=None,
security_source=get_security_from_env(
self.sdk_configuration.security, models.Security
),
@@ -335,6 +338,7 @@ async def set_merchant_callbacks_async(
get_serialized_body=lambda: utils.serialize_request_body(
request, False, True, "json", Optional[models.MerchantCallbacksInput]
),
+ allow_empty_value=None,
timeout_ms=timeout_ms,
)
@@ -351,7 +355,7 @@ async def set_merchant_callbacks_async(
config=self.sdk_configuration,
base_url=base_url or "",
operation_id="setMerchantCallbacks",
- oauth2_scopes=[],
+ oauth2_scopes=None,
security_source=get_security_from_env(
self.sdk_configuration.security, models.Security
),
@@ -417,6 +421,7 @@ def get_merchant_identifiers(
accept_header_value="application/json",
http_headers=http_headers,
security=self.sdk_configuration.security,
+ allow_empty_value=None,
timeout_ms=timeout_ms,
)
@@ -433,7 +438,7 @@ def get_merchant_identifiers(
config=self.sdk_configuration,
base_url=base_url or "",
operation_id="getMerchantIdentifiers",
- oauth2_scopes=[],
+ oauth2_scopes=None,
security_source=get_security_from_env(
self.sdk_configuration.security, models.Security
),
@@ -499,6 +504,7 @@ async def get_merchant_identifiers_async(
accept_header_value="application/json",
http_headers=http_headers,
security=self.sdk_configuration.security,
+ allow_empty_value=None,
timeout_ms=timeout_ms,
)
@@ -515,7 +521,7 @@ async def get_merchant_identifiers_async(
config=self.sdk_configuration,
base_url=base_url or "",
operation_id="getMerchantIdentifiers",
- oauth2_scopes=[],
+ oauth2_scopes=None,
security_source=get_security_from_env(
self.sdk_configuration.security, models.Security
),
diff --git a/src/bolt_api_sdk/errors/apierror.py b/src/bolt_api_sdk/errors/apierror.py
index 66e602d..7e1eda9 100644
--- a/src/bolt_api_sdk/errors/apierror.py
+++ b/src/bolt_api_sdk/errors/apierror.py
@@ -9,7 +9,7 @@
MAX_MESSAGE_LEN = 10_000
-@dataclass(frozen=True)
+@dataclass(unsafe_hash=True)
class APIError(BoltError):
"""The fallback error class if no more specific error class is matched."""
diff --git a/src/bolt_api_sdk/errors/bolterror.py b/src/bolt_api_sdk/errors/bolterror.py
index c010edc..971369c 100644
--- a/src/bolt_api_sdk/errors/bolterror.py
+++ b/src/bolt_api_sdk/errors/bolterror.py
@@ -5,7 +5,7 @@
from dataclasses import dataclass, field
-@dataclass(frozen=True)
+@dataclass(unsafe_hash=True)
class BoltError(Exception):
"""The base class for all HTTP error responses."""
diff --git a/src/bolt_api_sdk/errors/capturetransactionop.py b/src/bolt_api_sdk/errors/capturetransactionop.py
index fdc7fda..dd97494 100644
--- a/src/bolt_api_sdk/errors/capturetransactionop.py
+++ b/src/bolt_api_sdk/errors/capturetransactionop.py
@@ -11,11 +11,10 @@
class UnprocessableEntityErrorData(BaseModel):
errors: Optional[List[models_capturetransactionop.Error]] = None
-
result: Optional[models_capturetransactionop.Result] = None
-@dataclass(frozen=True)
+@dataclass(unsafe_hash=True)
class UnprocessableEntityError(BoltError):
r"""Unprocessable Entity"""
diff --git a/src/bolt_api_sdk/errors/errors_bolt_api_response.py b/src/bolt_api_sdk/errors/errors_bolt_api_response.py
index a3a2560..a62ed5e 100644
--- a/src/bolt_api_sdk/errors/errors_bolt_api_response.py
+++ b/src/bolt_api_sdk/errors/errors_bolt_api_response.py
@@ -14,12 +14,11 @@
class ErrorsBoltAPIResponseData(BaseModel):
errors: Optional[List[models_error_bolt_api.ErrorBoltAPI]] = None
-
result: Optional[models_request_result.RequestResult] = None
r"""Custom-defined Bolt result object."""
-@dataclass(frozen=True)
+@dataclass(unsafe_hash=True)
class ErrorsBoltAPIResponse(BoltError):
data: ErrorsBoltAPIResponseData = field(hash=False)
diff --git a/src/bolt_api_sdk/errors/errors_oauth_server_response.py b/src/bolt_api_sdk/errors/errors_oauth_server_response.py
index 7b03b01..44f5b48 100644
--- a/src/bolt_api_sdk/errors/errors_oauth_server_response.py
+++ b/src/bolt_api_sdk/errors/errors_oauth_server_response.py
@@ -10,11 +10,10 @@
class ErrorsOauthServerResponseData(BaseModel):
error: Optional[str] = None
-
error_description: Optional[str] = None
-@dataclass(frozen=True)
+@dataclass(unsafe_hash=True)
class ErrorsOauthServerResponse(BoltError):
r"""Invalid request to OAuth Token."""
diff --git a/src/bolt_api_sdk/errors/no_response_error.py b/src/bolt_api_sdk/errors/no_response_error.py
index b710ea2..1deab64 100644
--- a/src/bolt_api_sdk/errors/no_response_error.py
+++ b/src/bolt_api_sdk/errors/no_response_error.py
@@ -3,7 +3,7 @@
from dataclasses import dataclass
-@dataclass(frozen=True)
+@dataclass(unsafe_hash=True)
class NoResponseError(Exception):
"""Error raised when no HTTP response is received from the server."""
diff --git a/src/bolt_api_sdk/errors/responsevalidationerror.py b/src/bolt_api_sdk/errors/responsevalidationerror.py
index 6f748bf..0149d6e 100644
--- a/src/bolt_api_sdk/errors/responsevalidationerror.py
+++ b/src/bolt_api_sdk/errors/responsevalidationerror.py
@@ -7,7 +7,7 @@
from bolt_api_sdk.errors import BoltError
-@dataclass(frozen=True)
+@dataclass(unsafe_hash=True)
class ResponseValidationError(BoltError):
"""Error raised when there is a type mismatch between the response data and the expected Pydantic model."""
diff --git a/src/bolt_api_sdk/httpclient.py b/src/bolt_api_sdk/httpclient.py
index 47b052c..89560b5 100644
--- a/src/bolt_api_sdk/httpclient.py
+++ b/src/bolt_api_sdk/httpclient.py
@@ -107,7 +107,6 @@ def close_clients(
# to them from the owning SDK instance and they can be reaped.
owner.client = None
owner.async_client = None
-
if sync_client is not None and not sync_client_supplied:
try:
sync_client.close()
diff --git a/src/bolt_api_sdk/models/account_details.py b/src/bolt_api_sdk/models/account_details.py
index 32787dc..ffb953e 100644
--- a/src/bolt_api_sdk/models/account_details.py
+++ b/src/bolt_api_sdk/models/account_details.py
@@ -11,7 +11,8 @@
SavedPaypalAccountView,
SavedPaypalAccountViewTypedDict,
)
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from pydantic import model_serializer
from typing import List, Optional, Union
from typing_extensions import NotRequired, TypeAliasType, TypedDict
@@ -50,3 +51,21 @@ class AccountDetails(BaseModel):
profile: Optional[ProfileView] = None
r"""The shopper's account profile."""
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(
+ ["addresses", "has_bolt_account", "payment_methods", "profile"]
+ )
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/account_details_address_view.py b/src/bolt_api_sdk/models/account_details_address_view.py
index 3932d27..e742e12 100644
--- a/src/bolt_api_sdk/models/account_details_address_view.py
+++ b/src/bolt_api_sdk/models/account_details_address_view.py
@@ -141,59 +141,58 @@ class AccountDetailsAddressView(BaseModel):
@model_serializer(mode="wrap")
def serialize_model(self, handler):
- optional_fields = [
- "company",
- "country",
- "country_code",
- "door_code",
- "email_address",
- "first_name",
- "id",
- "last_name",
- "locality",
- "name",
- "phone_number",
- "postal_code",
- "priority",
- "region",
- "region_code",
- "street_address1",
- "street_address2",
- "street_address3",
- "street_address4",
- "default",
- "metadata",
- ]
- nullable_fields = [
- "door_code",
- "priority",
- "region_code",
- "street_address3",
- "street_address4",
- "metadata",
- ]
- null_default_fields = []
-
+ optional_fields = set(
+ [
+ "company",
+ "country",
+ "country_code",
+ "door_code",
+ "email_address",
+ "first_name",
+ "id",
+ "last_name",
+ "locality",
+ "name",
+ "phone_number",
+ "postal_code",
+ "priority",
+ "region",
+ "region_code",
+ "street_address1",
+ "street_address2",
+ "street_address3",
+ "street_address4",
+ "default",
+ "metadata",
+ ]
+ )
+ nullable_fields = set(
+ [
+ "door_code",
+ "priority",
+ "region_code",
+ "street_address3",
+ "street_address4",
+ "metadata",
+ ]
+ )
serialized = handler(self)
-
m = {}
for n, f in type(self).model_fields.items():
k = f.alias or n
val = serialized.get(k)
- serialized.pop(k, None)
-
- optional_nullable = k in optional_fields and k in nullable_fields
- is_set = (
- self.__pydantic_fields_set__.intersection({n})
- or k in null_default_fields
- ) # pylint: disable=no-member
-
- if val is not None and val != UNSET_SENTINEL:
- m[k] = val
- elif val != UNSET_SENTINEL and (
- not k in optional_fields or (optional_nullable and is_set)
- ):
- m[k] = val
+ is_nullable_and_explicitly_set = (
+ k in nullable_fields
+ and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
+ )
+
+ if val != UNSET_SENTINEL:
+ if (
+ val is not None
+ or k not in optional_fields
+ or is_nullable_and_explicitly_set
+ ):
+ m[k] = val
return m
diff --git a/src/bolt_api_sdk/models/addaddressop.py b/src/bolt_api_sdk/models/addaddressop.py
index 6c383e5..9fd128e 100644
--- a/src/bolt_api_sdk/models/addaddressop.py
+++ b/src/bolt_api_sdk/models/addaddressop.py
@@ -79,6 +79,24 @@ class AddAddressRequest(BaseModel):
FieldMetadata(request=RequestMetadata(media_type="application/json")),
] = None
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(
+ ["X-Publishable-Key", "Idempotency-Key", "address_account"]
+ )
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
+
class AddAddressPriority(str, Enum):
r"""The shopper-indicated priority of this address compared to other addresses on their account."""
@@ -204,59 +222,58 @@ class AddAddressResponse(BaseModel):
@model_serializer(mode="wrap")
def serialize_model(self, handler):
- optional_fields = [
- "company",
- "country",
- "country_code",
- "door_code",
- "email_address",
- "first_name",
- "id",
- "last_name",
- "locality",
- "name",
- "phone_number",
- "postal_code",
- "priority",
- "region",
- "region_code",
- "street_address1",
- "street_address2",
- "street_address3",
- "street_address4",
- "metadata",
- "default",
- ]
- nullable_fields = [
- "door_code",
- "priority",
- "region_code",
- "street_address3",
- "street_address4",
- "metadata",
- ]
- null_default_fields = []
-
+ optional_fields = set(
+ [
+ "company",
+ "country",
+ "country_code",
+ "door_code",
+ "email_address",
+ "first_name",
+ "id",
+ "last_name",
+ "locality",
+ "name",
+ "phone_number",
+ "postal_code",
+ "priority",
+ "region",
+ "region_code",
+ "street_address1",
+ "street_address2",
+ "street_address3",
+ "street_address4",
+ "metadata",
+ "default",
+ ]
+ )
+ nullable_fields = set(
+ [
+ "door_code",
+ "priority",
+ "region_code",
+ "street_address3",
+ "street_address4",
+ "metadata",
+ ]
+ )
serialized = handler(self)
-
m = {}
for n, f in type(self).model_fields.items():
k = f.alias or n
val = serialized.get(k)
- serialized.pop(k, None)
-
- optional_nullable = k in optional_fields and k in nullable_fields
- is_set = (
- self.__pydantic_fields_set__.intersection({n})
- or k in null_default_fields
- ) # pylint: disable=no-member
-
- if val is not None and val != UNSET_SENTINEL:
- m[k] = val
- elif val != UNSET_SENTINEL and (
- not k in optional_fields or (optional_nullable and is_set)
- ):
- m[k] = val
+ is_nullable_and_explicitly_set = (
+ k in nullable_fields
+ and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
+ )
+
+ if val != UNSET_SENTINEL:
+ if (
+ val is not None
+ or k not in optional_fields
+ or is_nullable_and_explicitly_set
+ ):
+ m[k] = val
return m
diff --git a/src/bolt_api_sdk/models/addpaymentmethodop.py b/src/bolt_api_sdk/models/addpaymentmethodop.py
index eb65705..2afad3a 100644
--- a/src/bolt_api_sdk/models/addpaymentmethodop.py
+++ b/src/bolt_api_sdk/models/addpaymentmethodop.py
@@ -185,45 +185,42 @@ class AddPaymentMethodRequestBody(BaseModel):
@model_serializer(mode="wrap")
def serialize_model(self, handler):
- optional_fields = [
- "billing_address_id",
- "bin",
- "cryptogram",
- "eci",
- "last4",
- "metadata",
- "network",
- "number",
- "postal_code",
- "priority",
- "save",
- "token_type",
- "currency",
- ]
- nullable_fields = ["billing_address_id", "metadata"]
- null_default_fields = []
-
+ optional_fields = set(
+ [
+ "billing_address_id",
+ "bin",
+ "cryptogram",
+ "eci",
+ "last4",
+ "metadata",
+ "network",
+ "number",
+ "postal_code",
+ "priority",
+ "save",
+ "token_type",
+ "currency",
+ ]
+ )
+ nullable_fields = set(["billing_address_id", "metadata"])
serialized = handler(self)
-
m = {}
for n, f in type(self).model_fields.items():
k = f.alias or n
val = serialized.get(k)
- serialized.pop(k, None)
-
- optional_nullable = k in optional_fields and k in nullable_fields
- is_set = (
- self.__pydantic_fields_set__.intersection({n})
- or k in null_default_fields
- ) # pylint: disable=no-member
+ is_nullable_and_explicitly_set = (
+ k in nullable_fields
+ and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
+ )
- if val is not None and val != UNSET_SENTINEL:
- m[k] = val
- elif val != UNSET_SENTINEL and (
- not k in optional_fields or (optional_nullable and is_set)
- ):
- m[k] = val
+ if val != UNSET_SENTINEL:
+ if (
+ val is not None
+ or k not in optional_fields
+ or is_nullable_and_explicitly_set
+ ):
+ m[k] = val
return m
@@ -255,3 +252,19 @@ class AddPaymentMethodRequest(BaseModel):
Optional[AddPaymentMethodRequestBody],
FieldMetadata(request=RequestMetadata(media_type="application/json")),
] = None
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["X-Publishable-Key", "Idempotency-Key", "RequestBody"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/address.py b/src/bolt_api_sdk/models/address.py
index 33a9124..7086652 100644
--- a/src/bolt_api_sdk/models/address.py
+++ b/src/bolt_api_sdk/models/address.py
@@ -121,46 +121,40 @@ class Address(BaseModel):
@model_serializer(mode="wrap")
def serialize_model(self, handler):
- optional_fields = [
- "company",
- "country",
- "default",
- "door_code",
- "name",
- "phone",
- "region_code",
- "street_address2",
- "street_address3",
- "street_address4",
- ]
- nullable_fields = [
- "door_code",
- "region_code",
- "street_address3",
- "street_address4",
- ]
- null_default_fields = []
-
+ optional_fields = set(
+ [
+ "company",
+ "country",
+ "default",
+ "door_code",
+ "name",
+ "phone",
+ "region_code",
+ "street_address2",
+ "street_address3",
+ "street_address4",
+ ]
+ )
+ nullable_fields = set(
+ ["door_code", "region_code", "street_address3", "street_address4"]
+ )
serialized = handler(self)
-
m = {}
for n, f in type(self).model_fields.items():
k = f.alias or n
val = serialized.get(k)
- serialized.pop(k, None)
-
- optional_nullable = k in optional_fields and k in nullable_fields
- is_set = (
- self.__pydantic_fields_set__.intersection({n})
- or k in null_default_fields
- ) # pylint: disable=no-member
-
- if val is not None and val != UNSET_SENTINEL:
- m[k] = val
- elif val != UNSET_SENTINEL and (
- not k in optional_fields or (optional_nullable and is_set)
- ):
- m[k] = val
+ is_nullable_and_explicitly_set = (
+ k in nullable_fields
+ and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
+ )
+
+ if val != UNSET_SENTINEL:
+ if (
+ val is not None
+ or k not in optional_fields
+ or is_nullable_and_explicitly_set
+ ):
+ m[k] = val
return m
diff --git a/src/bolt_api_sdk/models/address_account.py b/src/bolt_api_sdk/models/address_account.py
index dce2c43..4cad557 100644
--- a/src/bolt_api_sdk/models/address_account.py
+++ b/src/bolt_api_sdk/models/address_account.py
@@ -131,48 +131,47 @@ class AddressAccount(BaseModel):
@model_serializer(mode="wrap")
def serialize_model(self, handler):
- optional_fields = [
- "company",
- "country",
- "default",
- "door_code",
- "name",
- "phone",
- "region_code",
- "street_address2",
- "street_address3",
- "street_address4",
- "metadata",
- ]
- nullable_fields = [
- "door_code",
- "region_code",
- "street_address3",
- "street_address4",
- "metadata",
- ]
- null_default_fields = []
-
+ optional_fields = set(
+ [
+ "company",
+ "country",
+ "default",
+ "door_code",
+ "name",
+ "phone",
+ "region_code",
+ "street_address2",
+ "street_address3",
+ "street_address4",
+ "metadata",
+ ]
+ )
+ nullable_fields = set(
+ [
+ "door_code",
+ "region_code",
+ "street_address3",
+ "street_address4",
+ "metadata",
+ ]
+ )
serialized = handler(self)
-
m = {}
for n, f in type(self).model_fields.items():
k = f.alias or n
val = serialized.get(k)
- serialized.pop(k, None)
-
- optional_nullable = k in optional_fields and k in nullable_fields
- is_set = (
- self.__pydantic_fields_set__.intersection({n})
- or k in null_default_fields
- ) # pylint: disable=no-member
-
- if val is not None and val != UNSET_SENTINEL:
- m[k] = val
- elif val != UNSET_SENTINEL and (
- not k in optional_fields or (optional_nullable and is_set)
- ):
- m[k] = val
+ is_nullable_and_explicitly_set = (
+ k in nullable_fields
+ and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
+ )
+
+ if val != UNSET_SENTINEL:
+ if (
+ val is not None
+ or k not in optional_fields
+ or is_nullable_and_explicitly_set
+ ):
+ m[k] = val
return m
diff --git a/src/bolt_api_sdk/models/address_change_request_metadata_view.py b/src/bolt_api_sdk/models/address_change_request_metadata_view.py
index 8e6bcba..f440473 100644
--- a/src/bolt_api_sdk/models/address_change_request_metadata_view.py
+++ b/src/bolt_api_sdk/models/address_change_request_metadata_view.py
@@ -1,7 +1,8 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import NotRequired, TypedDict
@@ -24,3 +25,27 @@ class AddressChangeRequestMetadataView(BaseModel):
ticket_id: Optional[str] = None
ticket_status: Optional[str] = None
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(
+ [
+ "can_change_shipping_address",
+ "id",
+ "status",
+ "ticket_id",
+ "ticket_status",
+ ]
+ )
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/address_change_view.py b/src/bolt_api_sdk/models/address_change_view.py
index 9ddce57..2bba004 100644
--- a/src/bolt_api_sdk/models/address_change_view.py
+++ b/src/bolt_api_sdk/models/address_change_view.py
@@ -2,7 +2,8 @@
from __future__ import annotations
from .address_view import AddressView, AddressViewTypedDict
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import NotRequired, TypedDict
@@ -29,3 +30,21 @@ class AddressChangeView(BaseModel):
to_address: Optional[AddressView] = None
r"""The address object returned in the response."""
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(
+ ["from_address", "status", "ticket_id", "timestamp", "to_address"]
+ )
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/address_view.py b/src/bolt_api_sdk/models/address_view.py
index 9ca3ced..00720be 100644
--- a/src/bolt_api_sdk/models/address_view.py
+++ b/src/bolt_api_sdk/models/address_view.py
@@ -126,56 +126,55 @@ class AddressView(BaseModel):
@model_serializer(mode="wrap")
def serialize_model(self, handler):
- optional_fields = [
- "company",
- "country",
- "country_code",
- "door_code",
- "email_address",
- "first_name",
- "id",
- "last_name",
- "locality",
- "name",
- "phone_number",
- "postal_code",
- "priority",
- "region",
- "region_code",
- "street_address1",
- "street_address2",
- "street_address3",
- "street_address4",
- ]
- nullable_fields = [
- "door_code",
- "priority",
- "region_code",
- "street_address3",
- "street_address4",
- ]
- null_default_fields = []
-
+ optional_fields = set(
+ [
+ "company",
+ "country",
+ "country_code",
+ "door_code",
+ "email_address",
+ "first_name",
+ "id",
+ "last_name",
+ "locality",
+ "name",
+ "phone_number",
+ "postal_code",
+ "priority",
+ "region",
+ "region_code",
+ "street_address1",
+ "street_address2",
+ "street_address3",
+ "street_address4",
+ ]
+ )
+ nullable_fields = set(
+ [
+ "door_code",
+ "priority",
+ "region_code",
+ "street_address3",
+ "street_address4",
+ ]
+ )
serialized = handler(self)
-
m = {}
for n, f in type(self).model_fields.items():
k = f.alias or n
val = serialized.get(k)
- serialized.pop(k, None)
-
- optional_nullable = k in optional_fields and k in nullable_fields
- is_set = (
- self.__pydantic_fields_set__.intersection({n})
- or k in null_default_fields
- ) # pylint: disable=no-member
-
- if val is not None and val != UNSET_SENTINEL:
- m[k] = val
- elif val != UNSET_SENTINEL and (
- not k in optional_fields or (optional_nullable and is_set)
- ):
- m[k] = val
+ is_nullable_and_explicitly_set = (
+ k in nullable_fields
+ and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
+ )
+
+ if val != UNSET_SENTINEL:
+ if (
+ val is not None
+ or k not in optional_fields
+ or is_nullable_and_explicitly_set
+ ):
+ m[k] = val
return m
diff --git a/src/bolt_api_sdk/models/amount_view.py b/src/bolt_api_sdk/models/amount_view.py
index 3f927f6..b7bce5e 100644
--- a/src/bolt_api_sdk/models/amount_view.py
+++ b/src/bolt_api_sdk/models/amount_view.py
@@ -1,7 +1,8 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import NotRequired, TypedDict
@@ -18,3 +19,19 @@ class AmountView(BaseModel):
currency: Optional[str] = None
currency_symbol: Optional[str] = None
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["amount", "currency", "currency_symbol"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/auth_rejection_details.py b/src/bolt_api_sdk/models/auth_rejection_details.py
index 3d28799..27b37dd 100644
--- a/src/bolt_api_sdk/models/auth_rejection_details.py
+++ b/src/bolt_api_sdk/models/auth_rejection_details.py
@@ -1,7 +1,8 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import NotRequired, TypedDict
@@ -15,3 +16,19 @@ class AuthRejectionDetails(BaseModel):
reason_code: Optional[str] = None
reason_description: Optional[str] = None
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["reason_code", "reason_description"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/auth_rejection_details_view.py b/src/bolt_api_sdk/models/auth_rejection_details_view.py
index 67dade2..68e64ce 100644
--- a/src/bolt_api_sdk/models/auth_rejection_details_view.py
+++ b/src/bolt_api_sdk/models/auth_rejection_details_view.py
@@ -1,7 +1,8 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import NotRequired, TypedDict
@@ -15,3 +16,19 @@ class AuthRejectionDetailsView(BaseModel):
reason_description: str
reason_code: Optional[str] = None
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["reason_code"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/authorizetransactionop.py b/src/bolt_api_sdk/models/authorizetransactionop.py
index 3d9932f..bc71b4f 100644
--- a/src/bolt_api_sdk/models/authorizetransactionop.py
+++ b/src/bolt_api_sdk/models/authorizetransactionop.py
@@ -9,7 +9,7 @@
MerchantCreditCardAuthorizationRecharge,
MerchantCreditCardAuthorizationRechargeTypedDict,
)
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
from bolt_api_sdk.utils import (
FieldMetadata,
HeaderMetadata,
@@ -17,6 +17,7 @@
SecurityMetadata,
)
import pydantic
+from pydantic import model_serializer
from typing import Optional, Union
from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict
@@ -115,3 +116,19 @@ class AuthorizeTransactionRequest(BaseModel):
* • **Anytime the shopper is paying while logged-in attach their OAuth `access_token` to the request.**
"""
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["X-Publishable-Key", "Idempotency-Key", "RequestBody"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/capture_transaction_with_reference.py b/src/bolt_api_sdk/models/capture_transaction_with_reference.py
index 7c63f43..c7a46b7 100644
--- a/src/bolt_api_sdk/models/capture_transaction_with_reference.py
+++ b/src/bolt_api_sdk/models/capture_transaction_with_reference.py
@@ -1,7 +1,8 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import NotRequired, TypedDict
@@ -38,3 +39,19 @@ class CaptureTransactionWithReference(BaseModel):
skip_hook_notification: Optional[bool] = None
r"""Set to `true` to skip receiving a webhook notification from Bolt that is triggered by this update to the transaction."""
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["merchant_event_id", "skip_hook_notification"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/capture_view.py b/src/bolt_api_sdk/models/capture_view.py
index 94fcc87..e493c4b 100644
--- a/src/bolt_api_sdk/models/capture_view.py
+++ b/src/bolt_api_sdk/models/capture_view.py
@@ -3,8 +3,9 @@
from __future__ import annotations
from .amount_view import AmountView, AmountViewTypedDict
from .capture_status import CaptureStatus
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
from enum import Enum
+from pydantic import model_serializer
from typing import Dict, List, Optional
from typing_extensions import NotRequired, TypedDict
@@ -41,6 +42,22 @@ class Split(BaseModel):
"""
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["amount", "type"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
+
class CaptureViewTypedDict(TypedDict):
r"""Deprecated. Use `captures`."""
@@ -77,3 +94,21 @@ class CaptureView(BaseModel):
status: Optional[CaptureStatus] = None
r"""The status of the capture. **Nullable** for Transactions Details."""
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(
+ ["amount", "id", "merchant_event_id", "metadata", "splits", "status"]
+ )
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/capturetransactionop.py b/src/bolt_api_sdk/models/capturetransactionop.py
index 426e207..cc6eed6 100644
--- a/src/bolt_api_sdk/models/capturetransactionop.py
+++ b/src/bolt_api_sdk/models/capturetransactionop.py
@@ -5,9 +5,10 @@
CaptureTransactionWithReference,
CaptureTransactionWithReferenceTypedDict,
)
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
from bolt_api_sdk.utils import FieldMetadata, HeaderMetadata, RequestMetadata
import pydantic
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import Annotated, NotRequired, TypedDict
@@ -35,6 +36,22 @@ class CaptureTransactionRequest(BaseModel):
] = None
r"""Capture a Transaction"""
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["Idempotency-Key", "capture_transaction_with_reference"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
+
class ErrorTypedDict(TypedDict):
code: NotRequired[float]
@@ -49,6 +66,22 @@ class Error(BaseModel):
message: Optional[str] = None
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["code", "field", "message"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
+
class ResultTypedDict(TypedDict):
pass
diff --git a/src/bolt_api_sdk/models/cart_add_on.py b/src/bolt_api_sdk/models/cart_add_on.py
index 954eda3..f935570 100644
--- a/src/bolt_api_sdk/models/cart_add_on.py
+++ b/src/bolt_api_sdk/models/cart_add_on.py
@@ -1,8 +1,9 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
import pydantic
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import Annotated, NotRequired, TypedDict
@@ -46,3 +47,19 @@ class CartAddOn(BaseModel):
Optional[str], pydantic.Field(alias="productPageUrl")
] = None
r"""The URL to the product page of the product being displayed as an add on."""
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["description", "imageUrl", "productPageUrl"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/cart_create.py b/src/bolt_api_sdk/models/cart_create.py
index dd7dfc7..a13f0d6 100644
--- a/src/bolt_api_sdk/models/cart_create.py
+++ b/src/bolt_api_sdk/models/cart_create.py
@@ -10,7 +10,8 @@
from .cart_shipment import CartShipment, CartShipmentTypedDict
from .fulfillment import Fulfillment, FulfillmentTypedDict
from .in_store_cart_shipment import InStoreCartShipment, InStoreCartShipmentTypedDict
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from pydantic import model_serializer
from typing import Dict, List, Optional
from typing_extensions import NotRequired, TypedDict
@@ -91,3 +92,36 @@ class CartCreate(BaseModel):
order_description: Optional[str] = None
r"""Used optionally to pass additional information like order numbers or other IDs as needed."""
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(
+ [
+ "add_ons",
+ "billing_address",
+ "discounts",
+ "fees",
+ "fulfillments",
+ "in_store_cart_shipments",
+ "items",
+ "loyalty_rewards",
+ "shipments",
+ "tax_amount",
+ "cart_url",
+ "display_id",
+ "metadata",
+ "order_description",
+ ]
+ )
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/cart_discount.py b/src/bolt_api_sdk/models/cart_discount.py
index 9afe2d8..18ed932 100644
--- a/src/bolt_api_sdk/models/cart_discount.py
+++ b/src/bolt_api_sdk/models/cart_discount.py
@@ -1,8 +1,9 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
from enum import Enum
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import NotRequired, TypedDict
@@ -17,6 +18,7 @@ class CartDiscountDiscountCategory(str, Enum):
MEMBERSHIP_GIFTCARD = "membership_giftcard"
SUBSCRIPTION_DISCOUNT = "subscription_discount"
REWARDS_DISCOUNT = "rewards_discount"
+ SHIPPING_DISCOUNT = "shipping_discount"
UNKNOWN = "unknown"
@@ -60,3 +62,29 @@ class CartDiscount(BaseModel):
type: Optional[CartDiscountType] = None
r"""The type of discount."""
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(
+ [
+ "amount",
+ "code",
+ "description",
+ "details_url",
+ "discount_category",
+ "reference",
+ "type",
+ ]
+ )
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/cart_fee.py b/src/bolt_api_sdk/models/cart_fee.py
index 41e382d..1fb0e0e 100644
--- a/src/bolt_api_sdk/models/cart_fee.py
+++ b/src/bolt_api_sdk/models/cart_fee.py
@@ -42,30 +42,25 @@ class CartFee(BaseModel):
@model_serializer(mode="wrap")
def serialize_model(self, handler):
- optional_fields = ["description"]
- nullable_fields = ["name", "description"]
- null_default_fields = []
-
+ optional_fields = set(["description"])
+ nullable_fields = set(["name", "description"])
serialized = handler(self)
-
m = {}
for n, f in type(self).model_fields.items():
k = f.alias or n
val = serialized.get(k)
- serialized.pop(k, None)
-
- optional_nullable = k in optional_fields and k in nullable_fields
- is_set = (
- self.__pydantic_fields_set__.intersection({n})
- or k in null_default_fields
- ) # pylint: disable=no-member
-
- if val is not None and val != UNSET_SENTINEL:
- m[k] = val
- elif val != UNSET_SENTINEL and (
- not k in optional_fields or (optional_nullable and is_set)
- ):
- m[k] = val
+ is_nullable_and_explicitly_set = (
+ k in nullable_fields
+ and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
+ )
+
+ if val != UNSET_SENTINEL:
+ if (
+ val is not None
+ or k not in optional_fields
+ or is_nullable_and_explicitly_set
+ ):
+ m[k] = val
return m
diff --git a/src/bolt_api_sdk/models/cart_item.py b/src/bolt_api_sdk/models/cart_item.py
index 72cd50d..320fb9f 100644
--- a/src/bolt_api_sdk/models/cart_item.py
+++ b/src/bolt_api_sdk/models/cart_item.py
@@ -197,86 +197,85 @@ class CartItem(BaseModel):
@model_serializer(mode="wrap")
def serialize_model(self, handler):
- optional_fields = [
- "brand",
- "category",
- "collections",
- "color",
- "customizations",
- "description",
- "details_url",
- "external_inputs",
- "gift_option",
- "image_url",
- "isbn",
- "item_group",
- "manufacturer",
- "merchant_product_id",
- "merchant_variant_id",
- "msrp",
- "options",
- "properties",
- "shipment",
- "shipment_type",
- "size",
- "sku",
- "source",
- "seller_id",
- "tags",
- "tax_amount",
- "tax_code",
- "taxable",
- "type",
- "uom",
- "upc",
- "weight",
- "weight_unit",
- ]
- nullable_fields = [
- "brand",
- "category",
- "color",
- "description",
- "isbn",
- "item_group",
- "manufacturer",
- "msrp",
- "options",
- "size",
- "sku",
- "source",
- "seller_id",
- "tags",
- "tax_amount",
- "tax_code",
- "taxable",
- "uom",
- "upc",
- "weight",
- "weight_unit",
- ]
- null_default_fields = []
-
+ optional_fields = set(
+ [
+ "brand",
+ "category",
+ "collections",
+ "color",
+ "customizations",
+ "description",
+ "details_url",
+ "external_inputs",
+ "gift_option",
+ "image_url",
+ "isbn",
+ "item_group",
+ "manufacturer",
+ "merchant_product_id",
+ "merchant_variant_id",
+ "msrp",
+ "options",
+ "properties",
+ "shipment",
+ "shipment_type",
+ "size",
+ "sku",
+ "source",
+ "seller_id",
+ "tags",
+ "tax_amount",
+ "tax_code",
+ "taxable",
+ "type",
+ "uom",
+ "upc",
+ "weight",
+ "weight_unit",
+ ]
+ )
+ nullable_fields = set(
+ [
+ "brand",
+ "category",
+ "color",
+ "description",
+ "isbn",
+ "item_group",
+ "manufacturer",
+ "msrp",
+ "options",
+ "size",
+ "sku",
+ "source",
+ "seller_id",
+ "tags",
+ "tax_amount",
+ "tax_code",
+ "taxable",
+ "uom",
+ "upc",
+ "weight",
+ "weight_unit",
+ ]
+ )
serialized = handler(self)
-
m = {}
for n, f in type(self).model_fields.items():
k = f.alias or n
val = serialized.get(k)
- serialized.pop(k, None)
-
- optional_nullable = k in optional_fields and k in nullable_fields
- is_set = (
- self.__pydantic_fields_set__.intersection({n})
- or k in null_default_fields
- ) # pylint: disable=no-member
-
- if val is not None and val != UNSET_SENTINEL:
- m[k] = val
- elif val != UNSET_SENTINEL and (
- not k in optional_fields or (optional_nullable and is_set)
- ):
- m[k] = val
+ is_nullable_and_explicitly_set = (
+ k in nullable_fields
+ and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
+ )
+
+ if val != UNSET_SENTINEL:
+ if (
+ val is not None
+ or k not in optional_fields
+ or is_nullable_and_explicitly_set
+ ):
+ m[k] = val
return m
diff --git a/src/bolt_api_sdk/models/cart_item_customization.py b/src/bolt_api_sdk/models/cart_item_customization.py
index 9f44233..7850978 100644
--- a/src/bolt_api_sdk/models/cart_item_customization.py
+++ b/src/bolt_api_sdk/models/cart_item_customization.py
@@ -1,7 +1,8 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from pydantic import model_serializer
from typing import Dict, Optional
from typing_extensions import NotRequired, TypedDict
@@ -18,3 +19,19 @@ class CartItemCustomization(BaseModel):
name: Optional[str] = None
price: Optional[float] = None
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["attributes", "name", "price"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/cart_item_gift_option.py b/src/bolt_api_sdk/models/cart_item_gift_option.py
index ed2738b..00c5fe3 100644
--- a/src/bolt_api_sdk/models/cart_item_gift_option.py
+++ b/src/bolt_api_sdk/models/cart_item_gift_option.py
@@ -1,7 +1,8 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import NotRequired, TypedDict
@@ -33,3 +34,19 @@ class CartItemGiftOption(BaseModel):
wrap: Optional[bool] = None
r"""Defines whether gift wrapping was requested."""
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["cost", "merchant_product_id", "message", "wrap"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/cart_item_property.py b/src/bolt_api_sdk/models/cart_item_property.py
index 637ead4..2ce8dc5 100644
--- a/src/bolt_api_sdk/models/cart_item_property.py
+++ b/src/bolt_api_sdk/models/cart_item_property.py
@@ -1,7 +1,8 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import NotRequired, TypedDict
@@ -27,3 +28,21 @@ class CartItemProperty(BaseModel):
value: Optional[str] = None
value_id: Optional[float] = None
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(
+ ["color", "display", "name", "name_id", "value", "value_id"]
+ )
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/cart_item_property_view.py b/src/bolt_api_sdk/models/cart_item_property_view.py
index 9250b86..ae74110 100644
--- a/src/bolt_api_sdk/models/cart_item_property_view.py
+++ b/src/bolt_api_sdk/models/cart_item_property_view.py
@@ -1,7 +1,8 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import NotRequired, TypedDict
@@ -21,3 +22,19 @@ class CartItemPropertyView(BaseModel):
name: Optional[str] = None
value: Optional[str] = None
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["color", "display", "name", "value"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/cart_loyalty_rewards.py b/src/bolt_api_sdk/models/cart_loyalty_rewards.py
index 396fbcd..e34651b 100644
--- a/src/bolt_api_sdk/models/cart_loyalty_rewards.py
+++ b/src/bolt_api_sdk/models/cart_loyalty_rewards.py
@@ -1,7 +1,8 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import NotRequired, TypedDict
@@ -44,3 +45,29 @@ class CartLoyaltyRewards(BaseModel):
type: Optional[str] = None
r"""The type of loyalty reward."""
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(
+ [
+ "amount",
+ "coupon_code",
+ "description",
+ "details",
+ "points",
+ "source",
+ "type",
+ ]
+ )
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/cart_loyalty_rewards_view.py b/src/bolt_api_sdk/models/cart_loyalty_rewards_view.py
index 7d92138..b924fe4 100644
--- a/src/bolt_api_sdk/models/cart_loyalty_rewards_view.py
+++ b/src/bolt_api_sdk/models/cart_loyalty_rewards_view.py
@@ -2,7 +2,8 @@
from __future__ import annotations
from .amount_view import AmountView, AmountViewTypedDict
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import NotRequired, TypedDict
@@ -31,3 +32,29 @@ class CartLoyaltyRewardsView(BaseModel):
source: Optional[str] = None
type: Optional[str] = None
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(
+ [
+ "amount",
+ "coupon_code",
+ "description",
+ "details",
+ "points",
+ "source",
+ "type",
+ ]
+ )
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/cart_shipment.py b/src/bolt_api_sdk/models/cart_shipment.py
index d94ee7b..a964952 100644
--- a/src/bolt_api_sdk/models/cart_shipment.py
+++ b/src/bolt_api_sdk/models/cart_shipment.py
@@ -3,7 +3,8 @@
from __future__ import annotations
from .address import Address, AddressTypedDict
from .cart_shipment_type import CartShipmentType
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import NotRequired, TypedDict
@@ -120,3 +121,43 @@ class CartShipment(BaseModel):
type: Optional[CartShipmentType] = None
r"""The type corresponding to this shipment, if applicable."""
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(
+ [
+ "carrier",
+ "cost",
+ "discounted_by_membership",
+ "estimated_delivery_date",
+ "expedited",
+ "package_depth",
+ "package_dimension_unit",
+ "package_height",
+ "package_type",
+ "package_weight_unit",
+ "package_width",
+ "service",
+ "shipping_address",
+ "shipping_address_id",
+ "shipping_method",
+ "signature",
+ "tax_amount",
+ "tax_code",
+ "total_weight",
+ "total_weight_unit",
+ "type",
+ ]
+ )
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/cart_view.py b/src/bolt_api_sdk/models/cart_view.py
index a0b0171..166082e 100644
--- a/src/bolt_api_sdk/models/cart_view.py
+++ b/src/bolt_api_sdk/models/cart_view.py
@@ -13,7 +13,8 @@
from .i_cart_shipment_view import ICartShipmentView, ICartShipmentViewTypedDict
from .i_currency import ICurrency, ICurrencyTypedDict
from .in_store_shipment2 import InStoreShipment2, InStoreShipment2TypedDict
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from pydantic import model_serializer
from typing import Dict, List, Optional
from typing_extensions import NotRequired, TypedDict
@@ -109,3 +110,46 @@ class CartView(BaseModel):
transaction_reference: Optional[str] = None
r"""The 12 digit reference ID associated to a given transaction webhook for an order."""
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(
+ [
+ "billing_address",
+ "cart_url",
+ "currency",
+ "discount_amount",
+ "discounts",
+ "display_id",
+ "fee_amount",
+ "fees",
+ "fulfillments",
+ "in_store_shipments",
+ "items",
+ "loyalty_rewards",
+ "loyalty_rewards_amount",
+ "merchant_order_url",
+ "metadata",
+ "msrp",
+ "order_description",
+ "order_reference",
+ "shipments",
+ "shipping_amount",
+ "subtotal_amount",
+ "tax_amount",
+ "total_amount",
+ "transaction_reference",
+ ]
+ )
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/chargeback_details.py b/src/bolt_api_sdk/models/chargeback_details.py
index 3f69997..d7be98d 100644
--- a/src/bolt_api_sdk/models/chargeback_details.py
+++ b/src/bolt_api_sdk/models/chargeback_details.py
@@ -5,7 +5,8 @@
from .chargeback_event_view import ChargebackEventView, ChargebackEventViewTypedDict
from .chargeback_reason_code import ChargebackReasonCode
from .chargeback_representment_result import ChargebackRepresentmentResult
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from pydantic import model_serializer
from typing import List, Optional
from typing_extensions import NotRequired, TypedDict
@@ -53,3 +54,32 @@ class ChargebackDetails(BaseModel):
representment_result: Optional[ChargebackRepresentmentResult] = None
r"""The result of the chargeback representment."""
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(
+ [
+ "amt_won",
+ "chargeback_amt",
+ "chargeback_fee",
+ "chargeback_id",
+ "event_views",
+ "net_amt",
+ "reason",
+ "reason_code",
+ "representment_reply_by_date",
+ "representment_result",
+ ]
+ )
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/chargeback_details_view.py b/src/bolt_api_sdk/models/chargeback_details_view.py
index 665329b..1bceae7 100644
--- a/src/bolt_api_sdk/models/chargeback_details_view.py
+++ b/src/bolt_api_sdk/models/chargeback_details_view.py
@@ -3,8 +3,9 @@
from __future__ import annotations
from .amount_view import AmountView, AmountViewTypedDict
from .chargeback_event_view import ChargebackEventView, ChargebackEventViewTypedDict
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
from enum import Enum
+from pydantic import model_serializer
from typing import List, Optional
from typing_extensions import NotRequired, TypedDict
@@ -51,3 +52,32 @@ class ChargebackDetailsView(BaseModel):
r"""The reply-by date of the dispute in UnixMillis format."""
representment_result: Optional[RepresentmentResult] = None
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(
+ [
+ "amt_won",
+ "chargeback_amt",
+ "chargeback_fee",
+ "chargeback_id",
+ "event_views",
+ "net_amt",
+ "reason",
+ "reason_code",
+ "representment_reply_by_date",
+ "representment_result",
+ ]
+ )
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/chargeback_event_view.py b/src/bolt_api_sdk/models/chargeback_event_view.py
index 1741e77..9d1aea5 100644
--- a/src/bolt_api_sdk/models/chargeback_event_view.py
+++ b/src/bolt_api_sdk/models/chargeback_event_view.py
@@ -1,7 +1,8 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import NotRequired, TypedDict
@@ -15,3 +16,19 @@ class ChargebackEventView(BaseModel):
content: Optional[str] = None
time: Optional[float] = None
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["content", "time"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/consumer_billing_address.py b/src/bolt_api_sdk/models/consumer_billing_address.py
index 68b4e91..09da46e 100644
--- a/src/bolt_api_sdk/models/consumer_billing_address.py
+++ b/src/bolt_api_sdk/models/consumer_billing_address.py
@@ -99,43 +99,40 @@ class ConsumerBillingAddress(BaseModel):
@model_serializer(mode="wrap")
def serialize_model(self, handler):
- optional_fields = [
- "company",
- "country",
- "country_code",
- "email_address",
- "first_name",
- "id",
- "last_name",
- "name",
- "phone_number",
- "street_address2",
- "street_address3",
- "street_address4",
- ]
- nullable_fields = ["id"]
- null_default_fields = []
-
+ optional_fields = set(
+ [
+ "company",
+ "country",
+ "country_code",
+ "email_address",
+ "first_name",
+ "id",
+ "last_name",
+ "name",
+ "phone_number",
+ "street_address2",
+ "street_address3",
+ "street_address4",
+ ]
+ )
+ nullable_fields = set(["id"])
serialized = handler(self)
-
m = {}
for n, f in type(self).model_fields.items():
k = f.alias or n
val = serialized.get(k)
- serialized.pop(k, None)
-
- optional_nullable = k in optional_fields and k in nullable_fields
- is_set = (
- self.__pydantic_fields_set__.intersection({n})
- or k in null_default_fields
- ) # pylint: disable=no-member
-
- if val is not None and val != UNSET_SENTINEL:
- m[k] = val
- elif val != UNSET_SENTINEL and (
- not k in optional_fields or (optional_nullable and is_set)
- ):
- m[k] = val
+ is_nullable_and_explicitly_set = (
+ k in nullable_fields
+ and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
+ )
+
+ if val != UNSET_SENTINEL:
+ if (
+ val is not None
+ or k not in optional_fields
+ or is_nullable_and_explicitly_set
+ ):
+ m[k] = val
return m
diff --git a/src/bolt_api_sdk/models/consumer_self_view.py b/src/bolt_api_sdk/models/consumer_self_view.py
index 0eb99b7..a643631 100644
--- a/src/bolt_api_sdk/models/consumer_self_view.py
+++ b/src/bolt_api_sdk/models/consumer_self_view.py
@@ -4,8 +4,9 @@
from .email_view import EmailView, EmailViewTypedDict
from .login_view import LoginView, LoginViewTypedDict
from .phone_view import PhoneView, PhoneViewTypedDict
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
from enum import Enum
+from pydantic import model_serializer
from typing import List, Optional
from typing_extensions import NotRequired, TypedDict
@@ -43,3 +44,30 @@ class ConsumerSelfView(BaseModel):
phones: Optional[List[PhoneView]] = None
platform_account_status: Optional[PlatformAccountStatus] = None
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(
+ [
+ "first_name",
+ "id",
+ "last_name",
+ "authentication",
+ "email_verified",
+ "emails",
+ "phones",
+ "platform_account_status",
+ ]
+ )
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/consumer_summary_view.py b/src/bolt_api_sdk/models/consumer_summary_view.py
index 5c9832a..77072ac 100644
--- a/src/bolt_api_sdk/models/consumer_summary_view.py
+++ b/src/bolt_api_sdk/models/consumer_summary_view.py
@@ -1,7 +1,8 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import NotRequired, TypedDict
@@ -22,3 +23,19 @@ class ConsumerSummaryView(BaseModel):
last_name: Optional[str] = None
r"""The surname of the person associated with this record."""
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["first_name", "id", "last_name"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/create_account_input.py b/src/bolt_api_sdk/models/create_account_input.py
index 689e2a1..a193d70 100644
--- a/src/bolt_api_sdk/models/create_account_input.py
+++ b/src/bolt_api_sdk/models/create_account_input.py
@@ -4,7 +4,8 @@
from .address_account import AddressAccount, AddressAccountTypedDict
from .payment_method_account import PaymentMethodAccount, PaymentMethodAccountTypedDict
from .profile import Profile, ProfileTypedDict
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from pydantic import model_serializer
from typing import List, Optional
from typing_extensions import NotRequired, TypedDict
@@ -31,3 +32,19 @@ class CreateAccountInput(BaseModel):
payment_methods: Optional[List[PaymentMethodAccount]] = None
r"""A list of payment methods associated with this account."""
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["addresses", "payment_methods"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/createaccountop.py b/src/bolt_api_sdk/models/createaccountop.py
index eb53702..b7f5794 100644
--- a/src/bolt_api_sdk/models/createaccountop.py
+++ b/src/bolt_api_sdk/models/createaccountop.py
@@ -2,9 +2,10 @@
from __future__ import annotations
from .create_account_input import CreateAccountInput, CreateAccountInputTypedDict
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
from bolt_api_sdk.utils import FieldMetadata, HeaderMetadata, RequestMetadata
import pydantic
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import Annotated, NotRequired, TypedDict
@@ -36,3 +37,21 @@ class CreateAccountRequest(BaseModel):
Optional[CreateAccountInput],
FieldMetadata(request=RequestMetadata(media_type="application/json")),
] = None
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(
+ ["X-Publishable-Key", "Idempotency-Key", "create_account_input"]
+ )
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/createtestingshopperaccountop.py b/src/bolt_api_sdk/models/createtestingshopperaccountop.py
index b038aea..2023de5 100644
--- a/src/bolt_api_sdk/models/createtestingshopperaccountop.py
+++ b/src/bolt_api_sdk/models/createtestingshopperaccountop.py
@@ -5,9 +5,10 @@
TestingAccountRequest,
TestingAccountRequestTypedDict,
)
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
from bolt_api_sdk.utils import FieldMetadata, HeaderMetadata, RequestMetadata
import pydantic
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import Annotated, NotRequired, TypedDict
@@ -30,3 +31,19 @@ class CreateTestingShopperAccountRequest(BaseModel):
Optional[TestingAccountRequest],
FieldMetadata(request=RequestMetadata(media_type="application/json")),
] = None
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["X-Publishable-Key", "testing_account_request"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/credit.py b/src/bolt_api_sdk/models/credit.py
index 696e17b..55f5832 100644
--- a/src/bolt_api_sdk/models/credit.py
+++ b/src/bolt_api_sdk/models/credit.py
@@ -1,7 +1,8 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import NotRequired, TypedDict
@@ -12,3 +13,19 @@ class CreditTypedDict(TypedDict):
class Credit(BaseModel):
status: Optional[str] = None
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["status"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/credit_card.py b/src/bolt_api_sdk/models/credit_card.py
index 2f15b0c..ae17c5e 100644
--- a/src/bolt_api_sdk/models/credit_card.py
+++ b/src/bolt_api_sdk/models/credit_card.py
@@ -2,8 +2,9 @@
from __future__ import annotations
from .address import Address, AddressTypedDict
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
from enum import Enum
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import NotRequired, TypedDict
@@ -73,3 +74,19 @@ class CreditCard(BaseModel):
save: Optional[bool] = None
r"""Determines whether or not the credit card will be saved to the shopper's account. Defaults to `true`."""
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["billing_address", "priority", "save"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/credit_card_authorization_view.py b/src/bolt_api_sdk/models/credit_card_authorization_view.py
index 236a8c3..c4d35f4 100644
--- a/src/bolt_api_sdk/models/credit_card_authorization_view.py
+++ b/src/bolt_api_sdk/models/credit_card_authorization_view.py
@@ -3,8 +3,9 @@
from __future__ import annotations
from .credit_card_authorization_reason import CreditCardAuthorizationReason
from .credit_card_authorization_status import CreditCardAuthorizationStatus
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
from enum import Enum
+from pydantic import model_serializer
from typing import Dict, Optional
from typing_extensions import NotRequired, TypedDict
@@ -154,3 +155,30 @@ class CreditCardAuthorizationView(BaseModel):
* `3` - error
"""
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(
+ [
+ "auth",
+ "avs_response",
+ "cvv_response",
+ "merchant_event_id",
+ "metadata",
+ "processor",
+ "reason",
+ "status",
+ ]
+ )
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/credit_card_capture_view.py b/src/bolt_api_sdk/models/credit_card_capture_view.py
index b4804b5..ecdf74e 100644
--- a/src/bolt_api_sdk/models/credit_card_capture_view.py
+++ b/src/bolt_api_sdk/models/credit_card_capture_view.py
@@ -7,7 +7,8 @@
TransactionSplitsView,
TransactionSplitsViewTypedDict,
)
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from pydantic import model_serializer
from typing import Dict, Optional
from typing_extensions import NotRequired, TypedDict
@@ -39,3 +40,21 @@ class CreditCardCaptureView(BaseModel):
status: Optional[CaptureStatus] = None
r"""The status of the capture. **Nullable** for Transactions Details."""
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(
+ ["amount", "id", "merchant_event_id", "metadata", "splits", "status"]
+ )
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/credit_card_credit_view.py b/src/bolt_api_sdk/models/credit_card_credit_view.py
index d58d381..de47c42 100644
--- a/src/bolt_api_sdk/models/credit_card_credit_view.py
+++ b/src/bolt_api_sdk/models/credit_card_credit_view.py
@@ -1,8 +1,9 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
from enum import Enum
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import NotRequired, TypedDict
@@ -30,3 +31,19 @@ class CreditCardCreditView(BaseModel):
merchant_event_id: Optional[str] = None
r"""The reference ID associated with a transaction event (auth, capture, refund, void). This is an arbitrary identifier created by the merchant. Bolt does not enforce any uniqueness constraints on this ID. It is up to the merchant to generate identifiers that properly fulfill its needs."""
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["status", "merchant_event_id"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/credit_card_user.py b/src/bolt_api_sdk/models/credit_card_user.py
index 17fa5f9..469c597 100644
--- a/src/bolt_api_sdk/models/credit_card_user.py
+++ b/src/bolt_api_sdk/models/credit_card_user.py
@@ -6,7 +6,8 @@
PhonesWithCountryCode,
PhonesWithCountryCodeTypedDict,
)
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from pydantic import model_serializer
from typing import List, Optional
from typing_extensions import NotRequired, TypedDict
@@ -43,3 +44,19 @@ class CreditCardUser(BaseModel):
phones: Optional[List[PhonesWithCountryCode]] = None
r"""A list of phone numbers."""
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["emails", "first_name", "id", "last_name", "phones"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/credit_card_view.py b/src/bolt_api_sdk/models/credit_card_view.py
index fb86708..7cd21a4 100644
--- a/src/bolt_api_sdk/models/credit_card_view.py
+++ b/src/bolt_api_sdk/models/credit_card_view.py
@@ -7,7 +7,8 @@
from .card_status import CardStatus
from .card_token_type import CardTokenType
from .priority import Priority
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import NotRequired, TypedDict
@@ -91,3 +92,34 @@ class CreditCardView(BaseModel):
r"""Used to define which payment processor generated the token for this credit card.
"""
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(
+ [
+ "billing_address",
+ "bin",
+ "display_network",
+ "expiration",
+ "icon_asset_path",
+ "id",
+ "last4",
+ "network",
+ "priority",
+ "status",
+ "token",
+ "token_type",
+ ]
+ )
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/credit_card_void.py b/src/bolt_api_sdk/models/credit_card_void.py
index 6d6520f..d362795 100644
--- a/src/bolt_api_sdk/models/credit_card_void.py
+++ b/src/bolt_api_sdk/models/credit_card_void.py
@@ -1,7 +1,8 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import NotRequired, TypedDict
@@ -24,3 +25,19 @@ class CreditCardVoid(BaseModel):
skip_hook_notification: Optional[bool] = None
r"""Set to `true` to skip receiving a webhook notification from Bolt that is triggered by this update to the transaction."""
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["merchant_event_id", "skip_hook_notification"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/credit_card_void_view.py b/src/bolt_api_sdk/models/credit_card_void_view.py
index 0971369..9769b8f 100644
--- a/src/bolt_api_sdk/models/credit_card_void_view.py
+++ b/src/bolt_api_sdk/models/credit_card_void_view.py
@@ -3,7 +3,8 @@
from __future__ import annotations
from .credit_card_void_cause import CreditCardVoidCause
from .credit_card_void_status import CreditCardVoidStatus
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import NotRequired, TypedDict
@@ -31,3 +32,19 @@ class CreditCardVoidView(BaseModel):
void: Optional[str] = None
r"""The void ID returned from the payment processor."""
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["cause", "merchant_event_id", "status", "void"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/custom_field_full_response_view.py b/src/bolt_api_sdk/models/custom_field_full_response_view.py
index 9058a6f..f974377 100644
--- a/src/bolt_api_sdk/models/custom_field_full_response_view.py
+++ b/src/bolt_api_sdk/models/custom_field_full_response_view.py
@@ -6,7 +6,8 @@
CustomFieldResponseViewTypedDict,
)
from .custom_field_view import CustomFieldView, CustomFieldViewTypedDict
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import NotRequired, TypedDict
@@ -20,3 +21,19 @@ class CustomFieldFullResponseView(BaseModel):
field: Optional[CustomFieldView] = None
response: Optional[CustomFieldResponseView] = None
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["field", "response"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/custom_field_response_view.py b/src/bolt_api_sdk/models/custom_field_response_view.py
index 240bec5..3008ed1 100644
--- a/src/bolt_api_sdk/models/custom_field_response_view.py
+++ b/src/bolt_api_sdk/models/custom_field_response_view.py
@@ -1,7 +1,8 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from pydantic import model_serializer
from typing import Optional, Union
from typing_extensions import NotRequired, TypeAliasType, TypedDict
@@ -18,3 +19,19 @@ class CustomFieldResponseViewTypedDict(TypedDict):
class CustomFieldResponseView(BaseModel):
response: Optional[Response] = None
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["response"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/custom_field_view.py b/src/bolt_api_sdk/models/custom_field_view.py
index ad0e051..30b03aa 100644
--- a/src/bolt_api_sdk/models/custom_field_view.py
+++ b/src/bolt_api_sdk/models/custom_field_view.py
@@ -1,9 +1,10 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
from enum import Enum
import pydantic
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import Annotated, NotRequired, TypedDict
@@ -55,3 +56,32 @@ class CustomFieldView(BaseModel):
subscribe_to_newsletter: Annotated[
Optional[bool], pydantic.Field(alias="subscribeToNewsletter")
] = None
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(
+ [
+ "checkout_step",
+ "dynamic",
+ "context",
+ "external_id",
+ "field_setup",
+ "label",
+ "position",
+ "public_id",
+ "required",
+ "subscribeToNewsletter",
+ ]
+ )
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/custom_fields.py b/src/bolt_api_sdk/models/custom_fields.py
index 7a8c9d2..83b2e0b 100644
--- a/src/bolt_api_sdk/models/custom_fields.py
+++ b/src/bolt_api_sdk/models/custom_fields.py
@@ -1,8 +1,9 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
from enum import Enum
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import NotRequired, TypedDict
@@ -68,3 +69,32 @@ class CustomFields(BaseModel):
subscribe_to_newsletter: Optional[bool] = None
r"""Defines whether the shopper is opted into a newsletter or not."""
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(
+ [
+ "checkout_setup",
+ "dynamic",
+ "context",
+ "external_id",
+ "field_setup",
+ "label",
+ "position",
+ "public_id",
+ "required",
+ "subscribe_to_newsletter",
+ ]
+ )
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/customer_list_status.py b/src/bolt_api_sdk/models/customer_list_status.py
index 8c0259e..e71834b 100644
--- a/src/bolt_api_sdk/models/customer_list_status.py
+++ b/src/bolt_api_sdk/models/customer_list_status.py
@@ -1,7 +1,8 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import NotRequired, TypedDict
@@ -15,3 +16,19 @@ class CustomerListStatus(BaseModel):
auto_approved: Optional[bool] = None
block_listed: Optional[bool] = None
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["auto_approved", "block_listed"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/deleteaddressop.py b/src/bolt_api_sdk/models/deleteaddressop.py
index d5a1d78..5c33ce3 100644
--- a/src/bolt_api_sdk/models/deleteaddressop.py
+++ b/src/bolt_api_sdk/models/deleteaddressop.py
@@ -1,7 +1,7 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
from bolt_api_sdk.utils import (
FieldMetadata,
HeaderMetadata,
@@ -9,6 +9,7 @@
SecurityMetadata,
)
import pydantic
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import Annotated, NotRequired, TypedDict
@@ -60,3 +61,19 @@ class DeleteAddressRequest(BaseModel):
FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
] = None
r"""The publicly viewable identifier used to identify a merchant division. This key is found in the Developer > API section of the Bolt Merchant Dashboard [RECOMMENDED]."""
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["X-Publishable-Key"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/deletepaymentmethodop.py b/src/bolt_api_sdk/models/deletepaymentmethodop.py
index feafd7b..aeac58d 100644
--- a/src/bolt_api_sdk/models/deletepaymentmethodop.py
+++ b/src/bolt_api_sdk/models/deletepaymentmethodop.py
@@ -1,7 +1,7 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
from bolt_api_sdk.utils import (
FieldMetadata,
HeaderMetadata,
@@ -9,6 +9,7 @@
SecurityMetadata,
)
import pydantic
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import Annotated, NotRequired, TypedDict
@@ -60,3 +61,19 @@ class DeletePaymentMethodRequest(BaseModel):
FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
] = None
r"""The publicly viewable identifier used to identify a merchant division. This key is found in the Developer > API section of the Bolt Merchant Dashboard [RECOMMENDED]."""
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["X-Publishable-Key"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/detectaccountop.py b/src/bolt_api_sdk/models/detectaccountop.py
index 80c4898..3261176 100644
--- a/src/bolt_api_sdk/models/detectaccountop.py
+++ b/src/bolt_api_sdk/models/detectaccountop.py
@@ -1,9 +1,10 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
from bolt_api_sdk.utils import FieldMetadata, HeaderMetadata, QueryParamMetadata
import pydantic
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import Annotated, NotRequired, TypedDict
@@ -44,3 +45,19 @@ class DetectAccountRequest(BaseModel):
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
] = None
r"""The shopper's phone number. Includes country code (e.g. +1); does not include dashes or spaces. Can be used to detect an account instead of `sha256_email` or `email`."""
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["email", "sha256_email", "phone"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/digital_delivery.py b/src/bolt_api_sdk/models/digital_delivery.py
index ca44e08..c378cea 100644
--- a/src/bolt_api_sdk/models/digital_delivery.py
+++ b/src/bolt_api_sdk/models/digital_delivery.py
@@ -1,7 +1,8 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import NotRequired, TypedDict
@@ -15,3 +16,19 @@ class DigitalDelivery(BaseModel):
email: Optional[str] = None
phone: Optional[str] = None
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["email", "phone"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/editaddressop.py b/src/bolt_api_sdk/models/editaddressop.py
index 7bc73e9..32d714c 100644
--- a/src/bolt_api_sdk/models/editaddressop.py
+++ b/src/bolt_api_sdk/models/editaddressop.py
@@ -78,6 +78,22 @@ class EditAddressRequest(BaseModel):
FieldMetadata(request=RequestMetadata(media_type="application/json")),
] = None
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["X-Publishable-Key", "address_account"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
+
class EditAddressPriority(str, Enum):
r"""The shopper-indicated priority of this address compared to other addresses on their account."""
@@ -203,59 +219,58 @@ class EditAddressResponse(BaseModel):
@model_serializer(mode="wrap")
def serialize_model(self, handler):
- optional_fields = [
- "company",
- "country",
- "country_code",
- "door_code",
- "email_address",
- "first_name",
- "id",
- "last_name",
- "locality",
- "name",
- "phone_number",
- "postal_code",
- "priority",
- "region",
- "region_code",
- "street_address1",
- "street_address2",
- "street_address3",
- "street_address4",
- "metadata",
- "default",
- ]
- nullable_fields = [
- "door_code",
- "priority",
- "region_code",
- "street_address3",
- "street_address4",
- "metadata",
- ]
- null_default_fields = []
-
+ optional_fields = set(
+ [
+ "company",
+ "country",
+ "country_code",
+ "door_code",
+ "email_address",
+ "first_name",
+ "id",
+ "last_name",
+ "locality",
+ "name",
+ "phone_number",
+ "postal_code",
+ "priority",
+ "region",
+ "region_code",
+ "street_address1",
+ "street_address2",
+ "street_address3",
+ "street_address4",
+ "metadata",
+ "default",
+ ]
+ )
+ nullable_fields = set(
+ [
+ "door_code",
+ "priority",
+ "region_code",
+ "street_address3",
+ "street_address4",
+ "metadata",
+ ]
+ )
serialized = handler(self)
-
m = {}
for n, f in type(self).model_fields.items():
k = f.alias or n
val = serialized.get(k)
- serialized.pop(k, None)
-
- optional_nullable = k in optional_fields and k in nullable_fields
- is_set = (
- self.__pydantic_fields_set__.intersection({n})
- or k in null_default_fields
- ) # pylint: disable=no-member
-
- if val is not None and val != UNSET_SENTINEL:
- m[k] = val
- elif val != UNSET_SENTINEL and (
- not k in optional_fields or (optional_nullable and is_set)
- ):
- m[k] = val
+ is_nullable_and_explicitly_set = (
+ k in nullable_fields
+ and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
+ )
+
+ if val != UNSET_SENTINEL:
+ if (
+ val is not None
+ or k not in optional_fields
+ or is_nullable_and_explicitly_set
+ ):
+ m[k] = val
return m
diff --git a/src/bolt_api_sdk/models/eligible_payment_method.py b/src/bolt_api_sdk/models/eligible_payment_method.py
index 91b89c5..28f3ed3 100644
--- a/src/bolt_api_sdk/models/eligible_payment_method.py
+++ b/src/bolt_api_sdk/models/eligible_payment_method.py
@@ -2,7 +2,8 @@
from __future__ import annotations
from .payment_service import PaymentService
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import NotRequired, TypedDict
@@ -16,3 +17,19 @@ class EligiblePaymentMethod(BaseModel):
eligible: Optional[bool] = None
transaction_processor_type: Optional[PaymentService] = None
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["eligible", "transaction_processor_type"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/email_view.py b/src/bolt_api_sdk/models/email_view.py
index 5888804..7e6b6cf 100644
--- a/src/bolt_api_sdk/models/email_view.py
+++ b/src/bolt_api_sdk/models/email_view.py
@@ -2,7 +2,8 @@
from __future__ import annotations
from .priority import Priority
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import NotRequired, TypedDict
@@ -28,3 +29,19 @@ class EmailView(BaseModel):
"""
status: Optional[str] = None
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["address", "id", "priority", "status"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/emails.py b/src/bolt_api_sdk/models/emails.py
index 75e30b0..b3cbcaf 100644
--- a/src/bolt_api_sdk/models/emails.py
+++ b/src/bolt_api_sdk/models/emails.py
@@ -3,7 +3,8 @@
from __future__ import annotations
from .email_priority import EmailPriority
from .email_status import EmailStatus
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import NotRequired, TypedDict
@@ -35,3 +36,19 @@ class Emails(BaseModel):
status: Optional[EmailStatus] = None
r"""This is the status of the contact method."""
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["address", "id", "priority", "status"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/error_bolt_api.py b/src/bolt_api_sdk/models/error_bolt_api.py
index 04828cd..b6700a8 100644
--- a/src/bolt_api_sdk/models/error_bolt_api.py
+++ b/src/bolt_api_sdk/models/error_bolt_api.py
@@ -1,7 +1,8 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import NotRequired, TypedDict
@@ -23,3 +24,19 @@ class ErrorBoltAPI(BaseModel):
message: Optional[str] = None
r"""Human-readable description of the error for developers. Should not be shown to users and is not localized."""
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["code", "message"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/event_group_create_webhook.py b/src/bolt_api_sdk/models/event_group_create_webhook.py
index fa3203e..81ffac7 100644
--- a/src/bolt_api_sdk/models/event_group_create_webhook.py
+++ b/src/bolt_api_sdk/models/event_group_create_webhook.py
@@ -40,30 +40,25 @@ class EventGroupCreateWebhook(BaseModel):
@model_serializer(mode="wrap")
def serialize_model(self, handler):
- optional_fields = ["event_group"]
- nullable_fields = ["event_group"]
- null_default_fields = []
-
+ optional_fields = set(["event_group"])
+ nullable_fields = set(["event_group"])
serialized = handler(self)
-
m = {}
for n, f in type(self).model_fields.items():
k = f.alias or n
val = serialized.get(k)
- serialized.pop(k, None)
-
- optional_nullable = k in optional_fields and k in nullable_fields
- is_set = (
- self.__pydantic_fields_set__.intersection({n})
- or k in null_default_fields
- ) # pylint: disable=no-member
-
- if val is not None and val != UNSET_SENTINEL:
- m[k] = val
- elif val != UNSET_SENTINEL and (
- not k in optional_fields or (optional_nullable and is_set)
- ):
- m[k] = val
+ is_nullable_and_explicitly_set = (
+ k in nullable_fields
+ and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
+ )
+
+ if val != UNSET_SENTINEL:
+ if (
+ val is not None
+ or k not in optional_fields
+ or is_nullable_and_explicitly_set
+ ):
+ m[k] = val
return m
diff --git a/src/bolt_api_sdk/models/events_array_create_webhook.py b/src/bolt_api_sdk/models/events_array_create_webhook.py
index 1191aef..d3111d0 100644
--- a/src/bolt_api_sdk/models/events_array_create_webhook.py
+++ b/src/bolt_api_sdk/models/events_array_create_webhook.py
@@ -2,7 +2,8 @@
from __future__ import annotations
from .webhooks_type import WebhooksType
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from pydantic import model_serializer
from typing import List, Optional
from typing_extensions import NotRequired, TypedDict
@@ -29,3 +30,19 @@ class EventsArrayCreateWebhook(BaseModel):
r"""If `webhook_event_group` is null, pick a list of notification events to subscribe to.
"""
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["events"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/fulfillment.py b/src/bolt_api_sdk/models/fulfillment.py
index 8f582bc..dcc2cdf 100644
--- a/src/bolt_api_sdk/models/fulfillment.py
+++ b/src/bolt_api_sdk/models/fulfillment.py
@@ -5,8 +5,9 @@
from .cart_shipment import CartShipment, CartShipmentTypedDict
from .digital_delivery import DigitalDelivery, DigitalDeliveryTypedDict
from .in_store_cart_shipment import InStoreCartShipment, InStoreCartShipmentTypedDict
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
from enum import Enum
+from pydantic import model_serializer
from typing import List, Optional
from typing_extensions import NotRequired, TypedDict
@@ -43,3 +44,27 @@ class Fulfillment(BaseModel):
in_store_cart_shipment: Optional[InStoreCartShipment] = None
type: Optional[FulfillmentType] = None
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(
+ [
+ "cart_items",
+ "cart_shipment",
+ "digital_delivery",
+ "in_store_cart_shipment",
+ "type",
+ ]
+ )
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/fulfillment_view.py b/src/bolt_api_sdk/models/fulfillment_view.py
index e3d81e1..f1d85d1 100644
--- a/src/bolt_api_sdk/models/fulfillment_view.py
+++ b/src/bolt_api_sdk/models/fulfillment_view.py
@@ -4,7 +4,8 @@
from .i_cart_item_view import ICartItemView, ICartItemViewTypedDict
from .i_cart_shipment_view import ICartShipmentView, ICartShipmentViewTypedDict
from .in_store_shipment2 import InStoreShipment2, InStoreShipment2TypedDict
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from pydantic import model_serializer
from typing import List, Optional
from typing_extensions import NotRequired, TypedDict
@@ -29,3 +30,27 @@ class FulfillmentView(BaseModel):
r"""A cart that is being prepared for shipment"""
items: Optional[List[ICartItemView]] = None
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(
+ [
+ "cart_shipment",
+ "fulfillment_type",
+ "id",
+ "in_store_cart_shipment",
+ "items",
+ ]
+ )
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/getaccountop.py b/src/bolt_api_sdk/models/getaccountop.py
index 9516699..d75e414 100644
--- a/src/bolt_api_sdk/models/getaccountop.py
+++ b/src/bolt_api_sdk/models/getaccountop.py
@@ -1,9 +1,10 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
from bolt_api_sdk.utils import FieldMetadata, HeaderMetadata, SecurityMetadata
import pydantic
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import Annotated, NotRequired, TypedDict
@@ -48,3 +49,19 @@ class GetAccountRequest(BaseModel):
FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
] = None
r"""The publicly viewable identifier used to identify a merchant division. This key is found in the Developer > API section of the Bolt Merchant Dashboard [RECOMMENDED]."""
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["X-Publishable-Key"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/gettestcreditcardtokenop.py b/src/bolt_api_sdk/models/gettestcreditcardtokenop.py
index 61020f5..1df22e3 100644
--- a/src/bolt_api_sdk/models/gettestcreditcardtokenop.py
+++ b/src/bolt_api_sdk/models/gettestcreditcardtokenop.py
@@ -1,7 +1,8 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import NotRequired, TypedDict
@@ -38,3 +39,19 @@ class GetTestCreditCardTokenResponse(BaseModel):
network: Optional[str] = None
r"""The credit card network."""
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["token", "expiry", "last4", "bin", "network"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/gift_option_view.py b/src/bolt_api_sdk/models/gift_option_view.py
index c48ffd0..7c396fa 100644
--- a/src/bolt_api_sdk/models/gift_option_view.py
+++ b/src/bolt_api_sdk/models/gift_option_view.py
@@ -1,7 +1,8 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import NotRequired, TypedDict
@@ -19,3 +20,19 @@ class GiftOptionView(BaseModel):
hide_gift_message: Optional[bool] = None
hide_gift_wrap: Optional[bool] = None
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["hide_gift_message", "hide_gift_wrap"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/gift_options.py b/src/bolt_api_sdk/models/gift_options.py
index b0a0d29..72cb423 100644
--- a/src/bolt_api_sdk/models/gift_options.py
+++ b/src/bolt_api_sdk/models/gift_options.py
@@ -1,7 +1,8 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import NotRequired, TypedDict
@@ -23,3 +24,19 @@ class GiftOptions(BaseModel):
wrap: Optional[bool] = None
r"""Defines whether gift wrapping was requested."""
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["message", "wrap"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/i_authorize_result_view.py b/src/bolt_api_sdk/models/i_authorize_result_view.py
index 47f3f26..20c0edf 100644
--- a/src/bolt_api_sdk/models/i_authorize_result_view.py
+++ b/src/bolt_api_sdk/models/i_authorize_result_view.py
@@ -2,7 +2,8 @@
from __future__ import annotations
from .transaction_view import TransactionView, TransactionViewTypedDict
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import NotRequired, TypedDict
@@ -19,3 +20,21 @@ class IAuthorizeResultView(BaseModel):
order_number: Optional[str] = None
transaction: Optional[TransactionView] = None
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(
+ ["did_create_bolt_account", "order_number", "transaction"]
+ )
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/i_cart_discount_view.py b/src/bolt_api_sdk/models/i_cart_discount_view.py
index 77b1f01..1e9688d 100644
--- a/src/bolt_api_sdk/models/i_cart_discount_view.py
+++ b/src/bolt_api_sdk/models/i_cart_discount_view.py
@@ -6,8 +6,9 @@
IFreeShippingDiscountView,
IFreeShippingDiscountViewTypedDict,
)
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
from enum import Enum
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import NotRequired, TypedDict
@@ -22,6 +23,7 @@ class ICartDiscountViewDiscountCategory(str, Enum):
MEMBERSHIP_GIFTCARD = "membership_giftcard"
SUBSCRIPTION_DISCOUNT = "subscription_discount"
REWARDS_DISCOUNT = "rewards_discount"
+ SHIPPING_DISCOUNT = "shipping_discount"
UNKNOWN = "unknown"
@@ -57,3 +59,29 @@ class ICartDiscountView(BaseModel):
reference: Optional[str] = None
r"""Used to define the reference ID associated with the discount available."""
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(
+ [
+ "amount",
+ "code",
+ "description",
+ "details_url",
+ "discount_category",
+ "free_shipping",
+ "reference",
+ ]
+ )
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/i_cart_fee_view.py b/src/bolt_api_sdk/models/i_cart_fee_view.py
index 3c4d16e..975be62 100644
--- a/src/bolt_api_sdk/models/i_cart_fee_view.py
+++ b/src/bolt_api_sdk/models/i_cart_fee_view.py
@@ -44,37 +44,34 @@ class ICartFeeView(BaseModel):
@model_serializer(mode="wrap")
def serialize_model(self, handler):
- optional_fields = [
- "reference",
- "name",
- "description",
- "unit_price",
- "unit_tax_amount",
- "quantity",
- ]
- nullable_fields = ["name", "description"]
- null_default_fields = []
-
+ optional_fields = set(
+ [
+ "reference",
+ "name",
+ "description",
+ "unit_price",
+ "unit_tax_amount",
+ "quantity",
+ ]
+ )
+ nullable_fields = set(["name", "description"])
serialized = handler(self)
-
m = {}
for n, f in type(self).model_fields.items():
k = f.alias or n
val = serialized.get(k)
- serialized.pop(k, None)
-
- optional_nullable = k in optional_fields and k in nullable_fields
- is_set = (
- self.__pydantic_fields_set__.intersection({n})
- or k in null_default_fields
- ) # pylint: disable=no-member
-
- if val is not None and val != UNSET_SENTINEL:
- m[k] = val
- elif val != UNSET_SENTINEL and (
- not k in optional_fields or (optional_nullable and is_set)
- ):
- m[k] = val
+ is_nullable_and_explicitly_set = (
+ k in nullable_fields
+ and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
+ )
+
+ if val != UNSET_SENTINEL:
+ if (
+ val is not None
+ or k not in optional_fields
+ or is_nullable_and_explicitly_set
+ ):
+ m[k] = val
return m
diff --git a/src/bolt_api_sdk/models/i_cart_item_external_inputs.py b/src/bolt_api_sdk/models/i_cart_item_external_inputs.py
index e00a6fd..c356b6b 100644
--- a/src/bolt_api_sdk/models/i_cart_item_external_inputs.py
+++ b/src/bolt_api_sdk/models/i_cart_item_external_inputs.py
@@ -1,7 +1,8 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import NotRequired, TypedDict
@@ -18,3 +19,25 @@ class ICartItemExternalInputs(BaseModel):
shopify_product_reference: Optional[float] = None
shopify_product_variant_reference: Optional[float] = None
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(
+ [
+ "shopify_line_item_reference",
+ "shopify_product_reference",
+ "shopify_product_variant_reference",
+ ]
+ )
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/i_cart_item_view.py b/src/bolt_api_sdk/models/i_cart_item_view.py
index d9c3ce4..399232b 100644
--- a/src/bolt_api_sdk/models/i_cart_item_view.py
+++ b/src/bolt_api_sdk/models/i_cart_item_view.py
@@ -187,70 +187,67 @@ class ICartItemView(BaseModel):
@model_serializer(mode="wrap")
def serialize_model(self, handler):
- optional_fields = [
- "bolt_product_id",
- "brand",
- "category",
- "collections",
- "color",
- "customizations",
- "description",
- "details_url",
- "gift_option",
- "hide",
- "image_url",
- "isbn",
- "item_group",
- "manufacturer",
- "merchant_product_id",
- "merchant_variant_id",
- "msrp",
- "name",
- "options",
- "properties",
- "quantity",
- "reference",
- "shipment_id",
- "shipment_type",
- "shopify_line_item_reference",
- "shopify_product_reference",
- "shopify_product_variant_reference",
- "size",
- "sku",
- "subscription",
- "tags",
- "tax_amount",
- "taxable",
- "total_amount",
- "type",
- "unit_price",
- "uom",
- "upc",
- "weight",
- ]
- nullable_fields = ["category", "isbn", "manufacturer", "sku", "uom", "upc"]
- null_default_fields = []
-
+ optional_fields = set(
+ [
+ "bolt_product_id",
+ "brand",
+ "category",
+ "collections",
+ "color",
+ "customizations",
+ "description",
+ "details_url",
+ "gift_option",
+ "hide",
+ "image_url",
+ "isbn",
+ "item_group",
+ "manufacturer",
+ "merchant_product_id",
+ "merchant_variant_id",
+ "msrp",
+ "name",
+ "options",
+ "properties",
+ "quantity",
+ "reference",
+ "shipment_id",
+ "shipment_type",
+ "shopify_line_item_reference",
+ "shopify_product_reference",
+ "shopify_product_variant_reference",
+ "size",
+ "sku",
+ "subscription",
+ "tags",
+ "tax_amount",
+ "taxable",
+ "total_amount",
+ "type",
+ "unit_price",
+ "uom",
+ "upc",
+ "weight",
+ ]
+ )
+ nullable_fields = set(["category", "isbn", "manufacturer", "sku", "uom", "upc"])
serialized = handler(self)
-
m = {}
for n, f in type(self).model_fields.items():
k = f.alias or n
val = serialized.get(k)
- serialized.pop(k, None)
-
- optional_nullable = k in optional_fields and k in nullable_fields
- is_set = (
- self.__pydantic_fields_set__.intersection({n})
- or k in null_default_fields
- ) # pylint: disable=no-member
-
- if val is not None and val != UNSET_SENTINEL:
- m[k] = val
- elif val != UNSET_SENTINEL and (
- not k in optional_fields or (optional_nullable and is_set)
- ):
- m[k] = val
+ is_nullable_and_explicitly_set = (
+ k in nullable_fields
+ and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
+ )
+
+ if val != UNSET_SENTINEL:
+ if (
+ val is not None
+ or k not in optional_fields
+ or is_nullable_and_explicitly_set
+ ):
+ m[k] = val
return m
diff --git a/src/bolt_api_sdk/models/i_cart_shipment_view.py b/src/bolt_api_sdk/models/i_cart_shipment_view.py
index ad63cb7..02e2c01 100644
--- a/src/bolt_api_sdk/models/i_cart_shipment_view.py
+++ b/src/bolt_api_sdk/models/i_cart_shipment_view.py
@@ -7,8 +7,9 @@
from .i_description_part import IDescriptionPart, IDescriptionPartTypedDict
from .i_description_tooltip import IDescriptionTooltip, IDescriptionTooltipTypedDict
from .i_weight import IWeight, IWeightTypedDict
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
from datetime import datetime
+from pydantic import model_serializer
from typing import List, Optional
from typing_extensions import NotRequired, TypedDict
@@ -29,6 +30,22 @@ class ICartShipmentViewPackageDimension(BaseModel):
width: Optional[float] = None
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["depth", "height", "unit", "width"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
+
class ICartShipmentViewTypedDict(TypedDict):
carrier: NotRequired[str]
@@ -101,3 +118,42 @@ class ICartShipmentView(BaseModel):
total_weight: Optional[IWeight] = None
type: Optional[str] = None
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(
+ [
+ "carrier",
+ "cost",
+ "default",
+ "description",
+ "description_tooltips",
+ "estimated_delivery_date",
+ "expedited",
+ "gift_options",
+ "id",
+ "package_dimension",
+ "package_type",
+ "package_weight",
+ "reference",
+ "service",
+ "shipping_address",
+ "shipping_method",
+ "signature",
+ "tax_amount",
+ "total_weight",
+ "type",
+ ]
+ )
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/i_cart_view.py b/src/bolt_api_sdk/models/i_cart_view.py
index 07beb28..d9e47ab 100644
--- a/src/bolt_api_sdk/models/i_cart_view.py
+++ b/src/bolt_api_sdk/models/i_cart_view.py
@@ -8,7 +8,8 @@
from .i_cart_item_view import ICartItemView, ICartItemViewTypedDict
from .i_cart_shipment_view import ICartShipmentView, ICartShipmentViewTypedDict
from .i_currency import ICurrency, ICurrencyTypedDict
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from pydantic import model_serializer
from typing import List, Optional
from typing_extensions import NotRequired, TypedDict
@@ -84,3 +85,40 @@ class ICartView(BaseModel):
transaction_reference: Optional[str] = None
r"""The 12 digit reference ID associated to a given transaction webhook for an order."""
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(
+ [
+ "billing_address",
+ "cart_url",
+ "currency",
+ "discount_amount",
+ "discounts",
+ "display_id",
+ "fee_amount",
+ "fees",
+ "items",
+ "merchant_order_url",
+ "order_description",
+ "order_reference",
+ "shipments",
+ "shipping_amount",
+ "subtotal_amount",
+ "tax_amount",
+ "total_amount",
+ "transaction_reference",
+ ]
+ )
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/i_currency.py b/src/bolt_api_sdk/models/i_currency.py
index 0429884..81ce401 100644
--- a/src/bolt_api_sdk/models/i_currency.py
+++ b/src/bolt_api_sdk/models/i_currency.py
@@ -1,7 +1,8 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import NotRequired, TypedDict
@@ -15,3 +16,19 @@ class ICurrency(BaseModel):
currency: Optional[str] = None
currency_symbol: Optional[str] = None
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["currency", "currency_symbol"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/i_custom_field_view.py b/src/bolt_api_sdk/models/i_custom_field_view.py
index 3cb6523..65aa5e9 100644
--- a/src/bolt_api_sdk/models/i_custom_field_view.py
+++ b/src/bolt_api_sdk/models/i_custom_field_view.py
@@ -1,9 +1,10 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
from enum import Enum
import pydantic
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import Annotated, NotRequired, TypedDict
@@ -58,3 +59,33 @@ class ICustomFieldView(BaseModel):
subscribe_to_newsletter: Annotated[
Optional[bool], pydantic.Field(alias="subscribeToNewsletter")
] = None
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(
+ [
+ "checkout_step",
+ "dynamic",
+ "context",
+ "external_id",
+ "field_setup",
+ "helper_text",
+ "label",
+ "position",
+ "public_id",
+ "required",
+ "subscribeToNewsletter",
+ ]
+ )
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/i_description_part.py b/src/bolt_api_sdk/models/i_description_part.py
index 8bc6d9d..2efc201 100644
--- a/src/bolt_api_sdk/models/i_description_part.py
+++ b/src/bolt_api_sdk/models/i_description_part.py
@@ -1,7 +1,8 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import NotRequired, TypedDict
@@ -15,3 +16,19 @@ class IDescriptionPart(BaseModel):
content: Optional[str] = None
is_html: Optional[bool] = None
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["content", "is_html"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/i_description_tooltip.py b/src/bolt_api_sdk/models/i_description_tooltip.py
index 01705f0..2af6e1e 100644
--- a/src/bolt_api_sdk/models/i_description_tooltip.py
+++ b/src/bolt_api_sdk/models/i_description_tooltip.py
@@ -1,7 +1,8 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import NotRequired, TypedDict
@@ -15,3 +16,19 @@ class IDescriptionTooltip(BaseModel):
html_content: Optional[str] = None
target: Optional[float] = None
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["html_content", "target"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/i_free_shipping_discount_view.py b/src/bolt_api_sdk/models/i_free_shipping_discount_view.py
index 21f0da9..bb85f2d 100644
--- a/src/bolt_api_sdk/models/i_free_shipping_discount_view.py
+++ b/src/bolt_api_sdk/models/i_free_shipping_discount_view.py
@@ -1,7 +1,8 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import NotRequired, TypedDict
@@ -15,3 +16,19 @@ class IFreeShippingDiscountView(BaseModel):
is_free_shipping: Optional[bool] = None
maximum_cost_allowed: Optional[float] = None
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["is_free_shipping", "maximum_cost_allowed"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/i_gift_option_view.py b/src/bolt_api_sdk/models/i_gift_option_view.py
index a0f17a2..534a7ee 100644
--- a/src/bolt_api_sdk/models/i_gift_option_view.py
+++ b/src/bolt_api_sdk/models/i_gift_option_view.py
@@ -1,7 +1,8 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import NotRequired, TypedDict
@@ -15,3 +16,19 @@ class IGiftOptionView(BaseModel):
hide_gift_message: Optional[bool] = None
hide_gift_wrap: Optional[bool] = None
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["hide_gift_message", "hide_gift_wrap"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/i_order_dynamic_content.py b/src/bolt_api_sdk/models/i_order_dynamic_content.py
index d829853..bd42196 100644
--- a/src/bolt_api_sdk/models/i_order_dynamic_content.py
+++ b/src/bolt_api_sdk/models/i_order_dynamic_content.py
@@ -7,8 +7,9 @@
)
from .i_custom_field_view import ICustomFieldView, ICustomFieldViewTypedDict
from .i_gift_option_view import IGiftOptionView, IGiftOptionViewTypedDict
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
from enum import Enum
+from pydantic import model_serializer
from typing import List, Optional
from typing_extensions import NotRequired, TypedDict
@@ -53,3 +54,30 @@ class IOrderDynamicContent(BaseModel):
shipping_info_notice: Optional[str] = None
shipping_notice: Optional[str] = None
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(
+ [
+ "custom_fields",
+ "eligible_payment_methods",
+ "gift_option_view",
+ "hide_apm",
+ "order_notice",
+ "payment_notice",
+ "shipping_info_notice",
+ "shipping_notice",
+ ]
+ )
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/i_order_external_data.py b/src/bolt_api_sdk/models/i_order_external_data.py
index 8fdb2fc..19a3469 100644
--- a/src/bolt_api_sdk/models/i_order_external_data.py
+++ b/src/bolt_api_sdk/models/i_order_external_data.py
@@ -1,7 +1,8 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import NotRequired, TypedDict
@@ -12,3 +13,19 @@ class IOrderExternalDataTypedDict(TypedDict):
class IOrderExternalData(BaseModel):
steam_id: Optional[str] = None
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["steam_id"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/i_order_metadata.py b/src/bolt_api_sdk/models/i_order_metadata.py
index e86fa2a..8f7eeee 100644
--- a/src/bolt_api_sdk/models/i_order_metadata.py
+++ b/src/bolt_api_sdk/models/i_order_metadata.py
@@ -1,7 +1,8 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import NotRequired, TypedDict
@@ -12,3 +13,19 @@ class IOrderMetadataTypedDict(TypedDict):
class IOrderMetadata(BaseModel):
encrypted_user_id: Optional[str] = None
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["encrypted_user_id"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/i_order_view.py b/src/bolt_api_sdk/models/i_order_view.py
index 5a9bfa7..132ba50 100644
--- a/src/bolt_api_sdk/models/i_order_view.py
+++ b/src/bolt_api_sdk/models/i_order_view.py
@@ -4,7 +4,8 @@
from .i_cart_view import ICartView, ICartViewTypedDict
from .i_order_dynamic_content import IOrderDynamicContent, IOrderDynamicContentTypedDict
from .i_order_external_data import IOrderExternalData, IOrderExternalDataTypedDict
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import NotRequired, TypedDict
@@ -31,3 +32,21 @@ class IOrderView(BaseModel):
user_note: Optional[str] = None
r"""Used by shoppers to make extra requests or provide details for gift messages."""
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(
+ ["cart", "dynamic_content", "external_data", "token", "user_note"]
+ )
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/i_weight.py b/src/bolt_api_sdk/models/i_weight.py
index e96f213..ff2267c 100644
--- a/src/bolt_api_sdk/models/i_weight.py
+++ b/src/bolt_api_sdk/models/i_weight.py
@@ -1,7 +1,8 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import NotRequired, TypedDict
@@ -15,3 +16,19 @@ class IWeight(BaseModel):
unit: Optional[str] = None
weight: Optional[float] = None
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["unit", "weight"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/in_store_cart_shipment.py b/src/bolt_api_sdk/models/in_store_cart_shipment.py
index 72f3c53..a61a4b9 100644
--- a/src/bolt_api_sdk/models/in_store_cart_shipment.py
+++ b/src/bolt_api_sdk/models/in_store_cart_shipment.py
@@ -3,8 +3,9 @@
from __future__ import annotations
from .address import Address, AddressTypedDict
from .cart_shipment import CartShipment, CartShipmentTypedDict
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
from enum import Enum
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import NotRequired, TypedDict
@@ -49,3 +50,30 @@ class InStoreCartShipment(BaseModel):
store_name: Optional[str] = None
r"""The local store's name where the item can be picked up."""
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(
+ [
+ "cart_shipment",
+ "description",
+ "distance",
+ "distance_unit",
+ "in_store_pickup_address",
+ "pickup_window_close",
+ "pickup_window_open",
+ "store_name",
+ ]
+ )
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/in_store_shipment.py b/src/bolt_api_sdk/models/in_store_shipment.py
index e9ec6e2..d821d4d 100644
--- a/src/bolt_api_sdk/models/in_store_shipment.py
+++ b/src/bolt_api_sdk/models/in_store_shipment.py
@@ -10,7 +10,8 @@
from .package_dimension import PackageDimension, PackageDimensionTypedDict
from .package_weights import PackageWeights, PackageWeightsTypedDict
from .total_weight import TotalWeight, TotalWeightTypedDict
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import NotRequired, TypedDict
@@ -99,3 +100,39 @@ class InStoreShipment(BaseModel):
r"""The amount. **Nullable** for Transactions Details."""
total_weight: Optional[TotalWeight] = None
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(
+ [
+ "carrier",
+ "cost",
+ "default",
+ "estimated_delivery_date",
+ "expedited",
+ "gift_options",
+ "id",
+ "package_dimension",
+ "package_type",
+ "package_weights",
+ "reference",
+ "service",
+ "shipping_address",
+ "shipping_method",
+ "signature",
+ "tax_amount",
+ "total_weight",
+ ]
+ )
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/in_store_shipment2.py b/src/bolt_api_sdk/models/in_store_shipment2.py
index a2dd60d..c6a150e 100644
--- a/src/bolt_api_sdk/models/in_store_shipment2.py
+++ b/src/bolt_api_sdk/models/in_store_shipment2.py
@@ -3,8 +3,9 @@
from __future__ import annotations
from .address_view import AddressView, AddressViewTypedDict
from .in_store_shipment import InStoreShipment, InStoreShipmentTypedDict
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
from enum import Enum
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import NotRequired, TypedDict
@@ -40,3 +41,21 @@ class InStoreShipment2(BaseModel):
r"""A cart that is being prepared for shipment"""
store_name: Optional[str] = None
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(
+ ["address", "distance", "distance_unit", "shipment", "store_name"]
+ )
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/item.py b/src/bolt_api_sdk/models/item.py
index 6a89827..3d409c0 100644
--- a/src/bolt_api_sdk/models/item.py
+++ b/src/bolt_api_sdk/models/item.py
@@ -7,7 +7,8 @@
from .metadata_component import MetadataComponent, MetadataComponentTypedDict
from .total_weight import TotalWeight, TotalWeightTypedDict
from .type import Type
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from pydantic import model_serializer
from typing import List, Optional
from typing_extensions import NotRequired, TypedDict
@@ -168,3 +169,46 @@ class Item(BaseModel):
upc: Optional[str] = None
weight: Optional[TotalWeight] = None
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(
+ [
+ "bolt_product_id",
+ "brand",
+ "category",
+ "collections",
+ "color",
+ "customizations",
+ "description",
+ "details_url",
+ "image_url",
+ "isbn",
+ "item_group",
+ "manufacturer",
+ "options",
+ "properties",
+ "shipment_type",
+ "size",
+ "sku",
+ "tags",
+ "tax_amount",
+ "taxable",
+ "type",
+ "uom",
+ "upc",
+ "weight",
+ ]
+ )
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/item_property.py b/src/bolt_api_sdk/models/item_property.py
index 82e251a..527f29c 100644
--- a/src/bolt_api_sdk/models/item_property.py
+++ b/src/bolt_api_sdk/models/item_property.py
@@ -1,7 +1,8 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import NotRequired, TypedDict
@@ -15,3 +16,19 @@ class ItemProperty(BaseModel):
name: Optional[str] = None
value: Optional[str] = None
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["name", "value"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/login_view.py b/src/bolt_api_sdk/models/login_view.py
index d0f9869..4d7ad1c 100644
--- a/src/bolt_api_sdk/models/login_view.py
+++ b/src/bolt_api_sdk/models/login_view.py
@@ -1,8 +1,9 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
from enum import Enum
+from pydantic import model_serializer
from typing import List, Optional
from typing_extensions import NotRequired, TypedDict
@@ -31,3 +32,19 @@ class LoginView(BaseModel):
methods: Optional[List[Method]] = None
sso_authorization_url: Optional[str] = None
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["actions", "methods", "sso_authorization_url"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/manual_dispute_view.py b/src/bolt_api_sdk/models/manual_dispute_view.py
index 0b5e490..2c77f48 100644
--- a/src/bolt_api_sdk/models/manual_dispute_view.py
+++ b/src/bolt_api_sdk/models/manual_dispute_view.py
@@ -1,8 +1,9 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
from enum import Enum
+from pydantic import model_serializer
from typing import List, Optional
from typing_extensions import NotRequired, TypedDict
@@ -46,3 +47,32 @@ class ManualDisputeView(BaseModel):
reason: Optional[str] = None
status: Optional[ManualDisputeViewStatus] = None
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(
+ [
+ "amount",
+ "currency",
+ "delivery_evidence",
+ "delivery_link",
+ "dispute_evidence",
+ "dispute_link",
+ "other_evidence",
+ "other_link",
+ "reason",
+ "status",
+ ]
+ )
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/manual_disputes.py b/src/bolt_api_sdk/models/manual_disputes.py
index e338d3e..fcedf98 100644
--- a/src/bolt_api_sdk/models/manual_disputes.py
+++ b/src/bolt_api_sdk/models/manual_disputes.py
@@ -1,8 +1,9 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
from enum import Enum
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import NotRequired, TypedDict
@@ -50,3 +51,32 @@ class ManualDisputes(BaseModel):
reason: Optional[str] = None
status: Optional[ManualDisputesStatus] = None
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(
+ [
+ "amount",
+ "currency",
+ "delivery_evidence",
+ "delivery_link",
+ "dispute_evidence",
+ "dispute_link",
+ "other_evidence",
+ "other_link",
+ "reason",
+ "status",
+ ]
+ )
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/marketplace_commission_fee.py b/src/bolt_api_sdk/models/marketplace_commission_fee.py
index 8eca18c..6ce1f56 100644
--- a/src/bolt_api_sdk/models/marketplace_commission_fee.py
+++ b/src/bolt_api_sdk/models/marketplace_commission_fee.py
@@ -38,30 +38,25 @@ class MarketplaceCommissionFee(BaseModel):
@model_serializer(mode="wrap")
def serialize_model(self, handler):
- optional_fields = ["metadata"]
- nullable_fields = ["metadata"]
- null_default_fields = []
-
+ optional_fields = set(["metadata"])
+ nullable_fields = set(["metadata"])
serialized = handler(self)
-
m = {}
for n, f in type(self).model_fields.items():
k = f.alias or n
val = serialized.get(k)
- serialized.pop(k, None)
-
- optional_nullable = k in optional_fields and k in nullable_fields
- is_set = (
- self.__pydantic_fields_set__.intersection({n})
- or k in null_default_fields
- ) # pylint: disable=no-member
-
- if val is not None and val != UNSET_SENTINEL:
- m[k] = val
- elif val != UNSET_SENTINEL and (
- not k in optional_fields or (optional_nullable and is_set)
- ):
- m[k] = val
+ is_nullable_and_explicitly_set = (
+ k in nullable_fields
+ and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
+ )
+
+ if val != UNSET_SENTINEL:
+ if (
+ val is not None
+ or k not in optional_fields
+ or is_nullable_and_explicitly_set
+ ):
+ m[k] = val
return m
diff --git a/src/bolt_api_sdk/models/merchant.py b/src/bolt_api_sdk/models/merchant.py
index 1df533c..b66dd46 100644
--- a/src/bolt_api_sdk/models/merchant.py
+++ b/src/bolt_api_sdk/models/merchant.py
@@ -8,7 +8,8 @@
TransactionOperationalProcessorTypedDict,
)
from .transaction_processor import TransactionProcessor
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from pydantic import model_serializer
from typing import List, Optional
from typing_extensions import NotRequired, TypedDict
@@ -68,3 +69,19 @@ class Merchant(BaseModel):
* `3` - Offboarding
"""
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["onboarding_status", "public_id", "status"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/merchant_callbacks_view.py b/src/bolt_api_sdk/models/merchant_callbacks_view.py
index 6dcb9b1..cfb48e6 100644
--- a/src/bolt_api_sdk/models/merchant_callbacks_view.py
+++ b/src/bolt_api_sdk/models/merchant_callbacks_view.py
@@ -2,7 +2,8 @@
from __future__ import annotations
from .merchant_callback_url_type import MerchantCallbackURLType
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from pydantic import model_serializer
from typing import List, Optional
from typing_extensions import NotRequired, TypedDict
@@ -21,6 +22,22 @@ class MerchantCallbacksViewCallbackURL(BaseModel):
url: Optional[str] = None
r"""The full callback URL."""
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["type", "url"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
+
class MerchantCallbacksViewTypedDict(TypedDict):
callback_urls: NotRequired[List[MerchantCallbacksViewCallbackURLTypedDict]]
@@ -30,3 +47,19 @@ class MerchantCallbacksViewTypedDict(TypedDict):
class MerchantCallbacksView(BaseModel):
callback_urls: Optional[List[MerchantCallbacksViewCallbackURL]] = None
r"""List of callback URLs retrieved"""
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["callback_urls"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/merchant_credit_card_authorization.py b/src/bolt_api_sdk/models/merchant_credit_card_authorization.py
index 6a204c9..ca7e16f 100644
--- a/src/bolt_api_sdk/models/merchant_credit_card_authorization.py
+++ b/src/bolt_api_sdk/models/merchant_credit_card_authorization.py
@@ -133,36 +133,33 @@ class MerchantCreditCardAuthorization(BaseModel):
@model_serializer(mode="wrap")
def serialize_model(self, handler):
- optional_fields = [
- "auto_capture",
- "merchant_event_id",
- "previous_transaction_id",
- "processing_initiator",
- "shipping_address",
- ]
- nullable_fields = ["previous_transaction_id"]
- null_default_fields = []
-
+ optional_fields = set(
+ [
+ "auto_capture",
+ "merchant_event_id",
+ "previous_transaction_id",
+ "processing_initiator",
+ "shipping_address",
+ ]
+ )
+ nullable_fields = set(["previous_transaction_id"])
serialized = handler(self)
-
m = {}
for n, f in type(self).model_fields.items():
k = f.alias or n
val = serialized.get(k)
- serialized.pop(k, None)
-
- optional_nullable = k in optional_fields and k in nullable_fields
- is_set = (
- self.__pydantic_fields_set__.intersection({n})
- or k in null_default_fields
- ) # pylint: disable=no-member
-
- if val is not None and val != UNSET_SENTINEL:
- m[k] = val
- elif val != UNSET_SENTINEL and (
- not k in optional_fields or (optional_nullable and is_set)
- ):
- m[k] = val
+ is_nullable_and_explicitly_set = (
+ k in nullable_fields
+ and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
+ )
+
+ if val != UNSET_SENTINEL:
+ if (
+ val is not None
+ or k not in optional_fields
+ or is_nullable_and_explicitly_set
+ ):
+ m[k] = val
return m
diff --git a/src/bolt_api_sdk/models/merchant_credit_card_authorization_recharge.py b/src/bolt_api_sdk/models/merchant_credit_card_authorization_recharge.py
index c8cc440..8a20b76 100644
--- a/src/bolt_api_sdk/models/merchant_credit_card_authorization_recharge.py
+++ b/src/bolt_api_sdk/models/merchant_credit_card_authorization_recharge.py
@@ -82,36 +82,33 @@ class MerchantCreditCardAuthorizationRecharge(BaseModel):
@model_serializer(mode="wrap")
def serialize_model(self, handler):
- optional_fields = [
- "auto_capture",
- "merchant_event_id",
- "previous_transaction_id",
- "processing_initiator",
- "shipping_address",
- ]
- nullable_fields = ["previous_transaction_id"]
- null_default_fields = []
-
+ optional_fields = set(
+ [
+ "auto_capture",
+ "merchant_event_id",
+ "previous_transaction_id",
+ "processing_initiator",
+ "shipping_address",
+ ]
+ )
+ nullable_fields = set(["previous_transaction_id"])
serialized = handler(self)
-
m = {}
for n, f in type(self).model_fields.items():
k = f.alias or n
val = serialized.get(k)
- serialized.pop(k, None)
-
- optional_nullable = k in optional_fields and k in nullable_fields
- is_set = (
- self.__pydantic_fields_set__.intersection({n})
- or k in null_default_fields
- ) # pylint: disable=no-member
-
- if val is not None and val != UNSET_SENTINEL:
- m[k] = val
- elif val != UNSET_SENTINEL and (
- not k in optional_fields or (optional_nullable and is_set)
- ):
- m[k] = val
+ is_nullable_and_explicitly_set = (
+ k in nullable_fields
+ and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
+ )
+
+ if val != UNSET_SENTINEL:
+ if (
+ val is not None
+ or k not in optional_fields
+ or is_nullable_and_explicitly_set
+ ):
+ m[k] = val
return m
diff --git a/src/bolt_api_sdk/models/merchant_division.py b/src/bolt_api_sdk/models/merchant_division.py
index 6a5a983..2f120f8 100644
--- a/src/bolt_api_sdk/models/merchant_division.py
+++ b/src/bolt_api_sdk/models/merchant_division.py
@@ -4,7 +4,8 @@
from .merchant_logo import MerchantLogo, MerchantLogoTypedDict
from .merchant_platform import MerchantPlatform
from .webhooks_type import WebhooksType
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import NotRequired, TypedDict
@@ -152,3 +153,44 @@ class MerchantDivision(BaseModel):
validate_additional_account_data_url: Optional[str] = None
r"""The endpoint URL provided by the merchant for validating additional account data."""
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(
+ [
+ "account_page_url",
+ "api_base_domain_url",
+ "create_order_url",
+ "debug_url",
+ "get_account_url",
+ "shopper_custom_fields_updated_url",
+ "hook_type",
+ "hook_url",
+ "id",
+ "logo",
+ "oauth_logout_url",
+ "oauth_redirect_url",
+ "platform",
+ "plugin_config_url",
+ "privacy_policy_url",
+ "product_info_url",
+ "public_id",
+ "shipping_and_tax_url",
+ "terms_of_service_url",
+ "universal_merchant_api_url",
+ "update_cart_url",
+ "validate_additional_account_data_url",
+ ]
+ )
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/merchant_division_logo_view.py b/src/bolt_api_sdk/models/merchant_division_logo_view.py
index c0ed735..2375636 100644
--- a/src/bolt_api_sdk/models/merchant_division_logo_view.py
+++ b/src/bolt_api_sdk/models/merchant_division_logo_view.py
@@ -1,7 +1,8 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import NotRequired, TypedDict
@@ -15,3 +16,19 @@ class MerchantDivisionLogoView(BaseModel):
domain: Optional[str] = None
resource: Optional[str] = None
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["domain", "resource"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/merchant_division_summary_view.py b/src/bolt_api_sdk/models/merchant_division_summary_view.py
index bfe86ca..be3729e 100644
--- a/src/bolt_api_sdk/models/merchant_division_summary_view.py
+++ b/src/bolt_api_sdk/models/merchant_division_summary_view.py
@@ -5,8 +5,9 @@
MerchantDivisionLogoView,
MerchantDivisionLogoViewTypedDict,
)
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
from enum import Enum
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import NotRequired, TypedDict
@@ -139,3 +140,60 @@ class MerchantDivisionSummaryView(BaseModel):
merchant_password_login_url: Optional[str] = None
r"""(Optional) Link shoppers can use to log into a merchant store via the Bolt SSO modal."""
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(
+ [
+ "account_page_url",
+ "api_base_domain_url",
+ "base_domain_url",
+ "confirmation_redirect_url",
+ "create_order_url",
+ "debug_url",
+ "description",
+ "display_name",
+ "get_account_url",
+ "shopper_custom_fields_updated_url",
+ "hook_type",
+ "hook_url",
+ "id",
+ "is_universal_merchant_api",
+ "is_webhooks_v2",
+ "logo",
+ "logo_dashboard",
+ "merchant_id",
+ "mobile_app_domain_url",
+ "oauth_logout_url",
+ "oauth_redirect_url",
+ "platform",
+ "plugin_config_url",
+ "privacy_policy_url",
+ "product_info_url",
+ "public_id",
+ "remote_apiurl",
+ "shipping_and_tax_url",
+ "shipping_url",
+ "status",
+ "tax_url",
+ "terms_of_service_url",
+ "universal_merchant_api_url",
+ "update_cart_url",
+ "use_async_refunds_amazon_pay",
+ "use_async_refunds_paypal",
+ "validate_additional_account_data_url",
+ "merchant_password_login_url",
+ ]
+ )
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/merchant_divisions_identifiers_view.py b/src/bolt_api_sdk/models/merchant_divisions_identifiers_view.py
index 9d61d80..24ab3c6 100644
--- a/src/bolt_api_sdk/models/merchant_divisions_identifiers_view.py
+++ b/src/bolt_api_sdk/models/merchant_divisions_identifiers_view.py
@@ -1,7 +1,8 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import NotRequired, TypedDict
@@ -19,3 +20,19 @@ class MerchantDivisionsIdentifiersView(BaseModel):
publishable_key: Optional[str] = None
r"""The publishable key tied to this division."""
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["division_id", "publishable_key"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/merchant_identifiers_view.py b/src/bolt_api_sdk/models/merchant_identifiers_view.py
index 25e133b..0c82fe7 100644
--- a/src/bolt_api_sdk/models/merchant_identifiers_view.py
+++ b/src/bolt_api_sdk/models/merchant_identifiers_view.py
@@ -5,7 +5,8 @@
MerchantDivisionsIdentifiersView,
MerchantDivisionsIdentifiersViewTypedDict,
)
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from pydantic import model_serializer
from typing import List, Optional
from typing_extensions import NotRequired, TypedDict
@@ -26,3 +27,19 @@ class MerchantIdentifiersView(BaseModel):
signing_secret: Optional[str] = None
r"""Bolt generates one secret key per merchant and uses it to securely sign requests."""
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["merchant_divisions", "merchant_id", "signing_secret"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/merchant_logo.py b/src/bolt_api_sdk/models/merchant_logo.py
index 5ff1b93..3e6d9ba 100644
--- a/src/bolt_api_sdk/models/merchant_logo.py
+++ b/src/bolt_api_sdk/models/merchant_logo.py
@@ -1,7 +1,8 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import NotRequired, TypedDict
@@ -19,3 +20,19 @@ class MerchantLogo(BaseModel):
resource: Optional[str] = None
r"""The logo image file for the merchant division."""
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["domain", "resource"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/metadata_component.py b/src/bolt_api_sdk/models/metadata_component.py
index 2415b90..0214332 100644
--- a/src/bolt_api_sdk/models/metadata_component.py
+++ b/src/bolt_api_sdk/models/metadata_component.py
@@ -1,7 +1,8 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import NotRequired, TypedDict
@@ -15,3 +16,19 @@ class MetadataComponent(BaseModel):
key1: Optional[str] = None
key2: Optional[str] = None
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["key1", "key2"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/o_auth_token_input.py b/src/bolt_api_sdk/models/o_auth_token_input.py
index b054ed5..a87f8f7 100644
--- a/src/bolt_api_sdk/models/o_auth_token_input.py
+++ b/src/bolt_api_sdk/models/o_auth_token_input.py
@@ -1,9 +1,10 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
from bolt_api_sdk.utils import FieldMetadata
from enum import Enum
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import Annotated, NotRequired, TypedDict
@@ -67,3 +68,19 @@ class OAuthTokenInput(BaseModel):
state: Annotated[Optional[str], FieldMetadata(form=True)] = None
r"""A randomly generated string issued to the merchant when receiving an authorization code used to prevent CSRF attacks"""
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["state"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/o_auth_token_input_refresh.py b/src/bolt_api_sdk/models/o_auth_token_input_refresh.py
index 6b81ad8..1b24b19 100644
--- a/src/bolt_api_sdk/models/o_auth_token_input_refresh.py
+++ b/src/bolt_api_sdk/models/o_auth_token_input_refresh.py
@@ -1,9 +1,10 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
from bolt_api_sdk.utils import FieldMetadata
from enum import Enum
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import Annotated, NotRequired, TypedDict
@@ -59,3 +60,19 @@ class OAuthTokenInputRefresh(BaseModel):
state: Annotated[Optional[str], FieldMetadata(form=True)] = None
r"""A randomly generated string issued to the merchant when receiving an authorization code used to prevent CSRF attacks"""
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["state"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/o_auth_token_response.py b/src/bolt_api_sdk/models/o_auth_token_response.py
index 5f9ba3a..5785aaf 100644
--- a/src/bolt_api_sdk/models/o_auth_token_response.py
+++ b/src/bolt_api_sdk/models/o_auth_token_response.py
@@ -1,7 +1,8 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import NotRequired, TypedDict
@@ -44,3 +45,29 @@ class OAuthTokenResponse(BaseModel):
token_type: Optional[str] = None
r"""The token_type will always be bearer."""
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(
+ [
+ "access_token",
+ "expires_in",
+ "id_token",
+ "refresh_token",
+ "refresh_token_scope",
+ "scope",
+ "token_type",
+ ]
+ )
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/oauthtokenop.py b/src/bolt_api_sdk/models/oauthtokenop.py
index a5bc8fd..623aa07 100644
--- a/src/bolt_api_sdk/models/oauthtokenop.py
+++ b/src/bolt_api_sdk/models/oauthtokenop.py
@@ -6,9 +6,15 @@
OAuthTokenInputRefresh,
OAuthTokenInputRefreshTypedDict,
)
-from bolt_api_sdk.types import BaseModel
-from bolt_api_sdk.utils import FieldMetadata, HeaderMetadata, RequestMetadata
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from bolt_api_sdk.utils import (
+ FieldMetadata,
+ HeaderMetadata,
+ RequestMetadata,
+ get_discriminator,
+)
import pydantic
+from pydantic import Discriminator, Tag, model_serializer
from typing import Optional, Union
from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict
@@ -19,9 +25,13 @@
)
-OAuthTokenRequestBody = TypeAliasType(
- "OAuthTokenRequestBody", Union[OAuthTokenInput, OAuthTokenInputRefresh]
-)
+OAuthTokenRequestBody = Annotated[
+ Union[
+ Annotated[OAuthTokenInput, Tag("authorization_code")],
+ Annotated[OAuthTokenInputRefresh, Tag("refresh_token")],
+ ],
+ Discriminator(lambda m: get_discriminator(m, "grant_type", "grant_type")),
+]
class OAuthTokenRequestTypedDict(TypedDict):
@@ -44,3 +54,19 @@ class OAuthTokenRequest(BaseModel):
request=RequestMetadata(media_type="application/x-www-form-urlencoded")
),
] = None
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["X-Publishable-Key", "RequestBody"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/order_create.py b/src/bolt_api_sdk/models/order_create.py
index 736253e..a74656f 100644
--- a/src/bolt_api_sdk/models/order_create.py
+++ b/src/bolt_api_sdk/models/order_create.py
@@ -102,6 +102,39 @@ class Cart(BaseModel):
order_description: Optional[str] = None
r"""Used optionally to pass additional information like order numbers or other IDs as needed."""
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(
+ [
+ "add_ons",
+ "billing_address",
+ "discounts",
+ "fees",
+ "fulfillments",
+ "in_store_cart_shipments",
+ "items",
+ "loyalty_rewards",
+ "shipments",
+ "tax_amount",
+ "cart_url",
+ "display_id",
+ "metadata",
+ "order_description",
+ ]
+ )
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
+
class Channel(str, Enum):
r"""Used to determine the channel from which the order was created."""
@@ -142,39 +175,34 @@ class OrderCreate(BaseModel):
@model_serializer(mode="wrap")
def serialize_model(self, handler):
- optional_fields = [
- "create_cart_on_merchant_backend",
- "metadata",
- "user_note",
- "seller_splits",
- ]
- nullable_fields = [
- "create_cart_on_merchant_backend",
- "metadata",
- "seller_splits",
- ]
- null_default_fields = []
-
+ optional_fields = set(
+ [
+ "create_cart_on_merchant_backend",
+ "metadata",
+ "user_note",
+ "seller_splits",
+ ]
+ )
+ nullable_fields = set(
+ ["create_cart_on_merchant_backend", "metadata", "seller_splits"]
+ )
serialized = handler(self)
-
m = {}
for n, f in type(self).model_fields.items():
k = f.alias or n
val = serialized.get(k)
- serialized.pop(k, None)
-
- optional_nullable = k in optional_fields and k in nullable_fields
- is_set = (
- self.__pydantic_fields_set__.intersection({n})
- or k in null_default_fields
- ) # pylint: disable=no-member
-
- if val is not None and val != UNSET_SENTINEL:
- m[k] = val
- elif val != UNSET_SENTINEL and (
- not k in optional_fields or (optional_nullable and is_set)
- ):
- m[k] = val
+ is_nullable_and_explicitly_set = (
+ k in nullable_fields
+ and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
+ )
+
+ if val != UNSET_SENTINEL:
+ if (
+ val is not None
+ or k not in optional_fields
+ or is_nullable_and_explicitly_set
+ ):
+ m[k] = val
return m
diff --git a/src/bolt_api_sdk/models/order_decision.py b/src/bolt_api_sdk/models/order_decision.py
index 39be1bb..173b197 100644
--- a/src/bolt_api_sdk/models/order_decision.py
+++ b/src/bolt_api_sdk/models/order_decision.py
@@ -2,7 +2,8 @@
from __future__ import annotations
from .risk_decision_factor_yml import RiskDecisionFactorYml
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from pydantic import model_serializer
from typing import List, Optional
from typing_extensions import NotRequired, TypedDict
@@ -24,3 +25,19 @@ class OrderDecision(BaseModel):
score: Optional[int] = None
r"""The total fraud risk score of the order."""
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["decision_factors", "score"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/order_decision_details_view.py b/src/bolt_api_sdk/models/order_decision_details_view.py
index 5008b50..ec4ee84 100644
--- a/src/bolt_api_sdk/models/order_decision_details_view.py
+++ b/src/bolt_api_sdk/models/order_decision_details_view.py
@@ -1,7 +1,8 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from pydantic import model_serializer
from typing import List, Optional
from typing_extensions import NotRequired, TypedDict
@@ -15,3 +16,19 @@ class OrderDecisionDetailsView(BaseModel):
decision_factors: Optional[List[str]] = None
score: Optional[float] = None
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["decision_factors", "score"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/order_external_data_view.py b/src/bolt_api_sdk/models/order_external_data_view.py
index 2245ee6..aa97e70 100644
--- a/src/bolt_api_sdk/models/order_external_data_view.py
+++ b/src/bolt_api_sdk/models/order_external_data_view.py
@@ -1,7 +1,8 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import NotRequired, TypedDict
@@ -12,3 +13,19 @@ class OrderExternalDataViewTypedDict(TypedDict):
class OrderExternalDataView(BaseModel):
shopify: Optional[str] = None
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["shopify"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/order_track_requestbody.py b/src/bolt_api_sdk/models/order_track_requestbody.py
index 503fcd2..9c5a3a4 100644
--- a/src/bolt_api_sdk/models/order_track_requestbody.py
+++ b/src/bolt_api_sdk/models/order_track_requestbody.py
@@ -2,7 +2,8 @@
from __future__ import annotations
from .item import Item, ItemTypedDict
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from pydantic import model_serializer
from typing import List, Optional
from typing_extensions import NotRequired, TypedDict
@@ -39,3 +40,19 @@ class OrderTrackRequestBody(BaseModel):
is_non_bolt_order: Optional[bool] = None
r"""Designates if the order was placed outside of Bolt checkout."""
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["is_non_bolt_order"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/order_view.py b/src/bolt_api_sdk/models/order_view.py
index f13930d..72caf99 100644
--- a/src/bolt_api_sdk/models/order_view.py
+++ b/src/bolt_api_sdk/models/order_view.py
@@ -7,7 +7,8 @@
OrderExternalDataView,
OrderExternalDataViewTypedDict,
)
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import NotRequired, TypedDict
@@ -40,3 +41,29 @@ class OrderView(BaseModel):
user_note: Optional[str] = None
r"""Used by shoppers to make extra requests or provide details for gift messages."""
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(
+ [
+ "cart",
+ "dynamic_content",
+ "external_data",
+ "platform_user_id",
+ "requires_action",
+ "token",
+ "user_note",
+ ]
+ )
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/package_dimension.py b/src/bolt_api_sdk/models/package_dimension.py
index 15f662a..415056c 100644
--- a/src/bolt_api_sdk/models/package_dimension.py
+++ b/src/bolt_api_sdk/models/package_dimension.py
@@ -1,7 +1,8 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import NotRequired, TypedDict
@@ -33,3 +34,19 @@ class PackageDimension(BaseModel):
width: Optional[int] = None
r"""The width."""
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["depth", "height", "unit", "width"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/package_weights.py b/src/bolt_api_sdk/models/package_weights.py
index 716eee2..975f4af 100644
--- a/src/bolt_api_sdk/models/package_weights.py
+++ b/src/bolt_api_sdk/models/package_weights.py
@@ -1,7 +1,8 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import NotRequired, TypedDict
@@ -19,3 +20,19 @@ class PackageWeights(BaseModel):
weight: Optional[int] = None
r"""The weight of an item."""
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["unit", "weight"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/payment_method_account.py b/src/bolt_api_sdk/models/payment_method_account.py
index 406fa74..b78e02e 100644
--- a/src/bolt_api_sdk/models/payment_method_account.py
+++ b/src/bolt_api_sdk/models/payment_method_account.py
@@ -150,44 +150,41 @@ class PaymentMethodAccount(BaseModel):
@model_serializer(mode="wrap")
def serialize_model(self, handler):
- optional_fields = [
- "billing_address_id",
- "bin",
- "cryptogram",
- "eci",
- "last4",
- "metadata",
- "network",
- "number",
- "postal_code",
- "priority",
- "save",
- "token_type",
- "default",
- ]
- nullable_fields = ["billing_address_id", "metadata"]
- null_default_fields = []
-
+ optional_fields = set(
+ [
+ "billing_address_id",
+ "bin",
+ "cryptogram",
+ "eci",
+ "last4",
+ "metadata",
+ "network",
+ "number",
+ "postal_code",
+ "priority",
+ "save",
+ "token_type",
+ "default",
+ ]
+ )
+ nullable_fields = set(["billing_address_id", "metadata"])
serialized = handler(self)
-
m = {}
for n, f in type(self).model_fields.items():
k = f.alias or n
val = serialized.get(k)
- serialized.pop(k, None)
-
- optional_nullable = k in optional_fields and k in nullable_fields
- is_set = (
- self.__pydantic_fields_set__.intersection({n})
- or k in null_default_fields
- ) # pylint: disable=no-member
-
- if val is not None and val != UNSET_SENTINEL:
- m[k] = val
- elif val != UNSET_SENTINEL and (
- not k in optional_fields or (optional_nullable and is_set)
- ):
- m[k] = val
+ is_nullable_and_explicitly_set = (
+ k in nullable_fields
+ and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
+ )
+
+ if val != UNSET_SENTINEL:
+ if (
+ val is not None
+ or k not in optional_fields
+ or is_nullable_and_explicitly_set
+ ):
+ m[k] = val
return m
diff --git a/src/bolt_api_sdk/models/phone_view.py b/src/bolt_api_sdk/models/phone_view.py
index 08ffa87..b5d562f 100644
--- a/src/bolt_api_sdk/models/phone_view.py
+++ b/src/bolt_api_sdk/models/phone_view.py
@@ -1,8 +1,9 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
from enum import Enum
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import NotRequired, TypedDict
@@ -32,3 +33,19 @@ class PhoneView(BaseModel):
priority: Optional[PhoneViewPriority] = None
status: Optional[str] = None
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["country_code", "id", "number", "priority", "status"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/phones_with_country_code.py b/src/bolt_api_sdk/models/phones_with_country_code.py
index d102df0..461ef90 100644
--- a/src/bolt_api_sdk/models/phones_with_country_code.py
+++ b/src/bolt_api_sdk/models/phones_with_country_code.py
@@ -3,7 +3,8 @@
from __future__ import annotations
from .phone_priority import PhonePriority
from .phone_status import PhoneStatus
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import NotRequired, TypedDict
@@ -40,3 +41,19 @@ class PhonesWithCountryCode(BaseModel):
status: Optional[PhoneStatus] = None
r"""This is the status of the contact method."""
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["country_code", "id", "number", "priority", "status"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/profile.py b/src/bolt_api_sdk/models/profile.py
index be57f58..d7e6999 100644
--- a/src/bolt_api_sdk/models/profile.py
+++ b/src/bolt_api_sdk/models/profile.py
@@ -53,30 +53,25 @@ class Profile(BaseModel):
@model_serializer(mode="wrap")
def serialize_model(self, handler):
- optional_fields = ["metadata", "phone"]
- nullable_fields = ["metadata"]
- null_default_fields = []
-
+ optional_fields = set(["metadata", "phone"])
+ nullable_fields = set(["metadata"])
serialized = handler(self)
-
m = {}
for n, f in type(self).model_fields.items():
k = f.alias or n
val = serialized.get(k)
- serialized.pop(k, None)
-
- optional_nullable = k in optional_fields and k in nullable_fields
- is_set = (
- self.__pydantic_fields_set__.intersection({n})
- or k in null_default_fields
- ) # pylint: disable=no-member
-
- if val is not None and val != UNSET_SENTINEL:
- m[k] = val
- elif val != UNSET_SENTINEL and (
- not k in optional_fields or (optional_nullable and is_set)
- ):
- m[k] = val
+ is_nullable_and_explicitly_set = (
+ k in nullable_fields
+ and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
+ )
+
+ if val != UNSET_SENTINEL:
+ if (
+ val is not None
+ or k not in optional_fields
+ or is_nullable_and_explicitly_set
+ ):
+ m[k] = val
return m
diff --git a/src/bolt_api_sdk/models/profile_view.py b/src/bolt_api_sdk/models/profile_view.py
index aa772d0..f419809 100644
--- a/src/bolt_api_sdk/models/profile_view.py
+++ b/src/bolt_api_sdk/models/profile_view.py
@@ -58,37 +58,27 @@ class ProfileView(BaseModel):
@model_serializer(mode="wrap")
def serialize_model(self, handler):
- optional_fields = [
- "email",
- "first_name",
- "last_name",
- "metadata",
- "name",
- "phone",
- ]
- nullable_fields = ["metadata"]
- null_default_fields = []
-
+ optional_fields = set(
+ ["email", "first_name", "last_name", "metadata", "name", "phone"]
+ )
+ nullable_fields = set(["metadata"])
serialized = handler(self)
-
m = {}
for n, f in type(self).model_fields.items():
k = f.alias or n
val = serialized.get(k)
- serialized.pop(k, None)
-
- optional_nullable = k in optional_fields and k in nullable_fields
- is_set = (
- self.__pydantic_fields_set__.intersection({n})
- or k in null_default_fields
- ) # pylint: disable=no-member
-
- if val is not None and val != UNSET_SENTINEL:
- m[k] = val
- elif val != UNSET_SENTINEL and (
- not k in optional_fields or (optional_nullable and is_set)
- ):
- m[k] = val
+ is_nullable_and_explicitly_set = (
+ k in nullable_fields
+ and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
+ )
+
+ if val != UNSET_SENTINEL:
+ if (
+ val is not None
+ or k not in optional_fields
+ or is_nullable_and_explicitly_set
+ ):
+ m[k] = val
return m
diff --git a/src/bolt_api_sdk/models/querywebhooksop.py b/src/bolt_api_sdk/models/querywebhooksop.py
index e65b9ae..6455075 100644
--- a/src/bolt_api_sdk/models/querywebhooksop.py
+++ b/src/bolt_api_sdk/models/querywebhooksop.py
@@ -2,8 +2,9 @@
from __future__ import annotations
from .webhook import Webhook, WebhookTypedDict
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
from bolt_api_sdk.utils import FieldMetadata, QueryParamMetadata
+from pydantic import model_serializer
from typing import List, Optional
from typing_extensions import Annotated, NotRequired, TypedDict
@@ -30,3 +31,19 @@ class QueryWebhooksResponse(BaseModel):
r"""Success"""
webhooks: Optional[List[Webhook]] = None
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["webhooks"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/refundtransactionop.py b/src/bolt_api_sdk/models/refundtransactionop.py
index a98e59e..72c1676 100644
--- a/src/bolt_api_sdk/models/refundtransactionop.py
+++ b/src/bolt_api_sdk/models/refundtransactionop.py
@@ -2,9 +2,10 @@
from __future__ import annotations
from .transaction_credit import TransactionCredit, TransactionCreditTypedDict
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
from bolt_api_sdk.utils import FieldMetadata, HeaderMetadata, RequestMetadata
import pydantic
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import Annotated, NotRequired, TypedDict
@@ -29,3 +30,19 @@ class RefundTransactionRequest(BaseModel):
FieldMetadata(request=RequestMetadata(media_type="application/json")),
] = None
r"""Refund a Transaction"""
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["Idempotency-Key", "transaction_credit"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/replaceaddressop.py b/src/bolt_api_sdk/models/replaceaddressop.py
index 4576f8f..59b10be 100644
--- a/src/bolt_api_sdk/models/replaceaddressop.py
+++ b/src/bolt_api_sdk/models/replaceaddressop.py
@@ -87,6 +87,24 @@ class ReplaceAddressRequest(BaseModel):
FieldMetadata(request=RequestMetadata(media_type="application/json")),
] = None
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(
+ ["X-Publishable-Key", "Idempotency-Key", "address_account"]
+ )
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
+
class ReplaceAddressPriority(str, Enum):
r"""The shopper-indicated priority of this address compared to other addresses on their account."""
@@ -212,59 +230,58 @@ class ReplaceAddressResponse(BaseModel):
@model_serializer(mode="wrap")
def serialize_model(self, handler):
- optional_fields = [
- "company",
- "country",
- "country_code",
- "door_code",
- "email_address",
- "first_name",
- "id",
- "last_name",
- "locality",
- "name",
- "phone_number",
- "postal_code",
- "priority",
- "region",
- "region_code",
- "street_address1",
- "street_address2",
- "street_address3",
- "street_address4",
- "metadata",
- "default",
- ]
- nullable_fields = [
- "door_code",
- "priority",
- "region_code",
- "street_address3",
- "street_address4",
- "metadata",
- ]
- null_default_fields = []
-
+ optional_fields = set(
+ [
+ "company",
+ "country",
+ "country_code",
+ "door_code",
+ "email_address",
+ "first_name",
+ "id",
+ "last_name",
+ "locality",
+ "name",
+ "phone_number",
+ "postal_code",
+ "priority",
+ "region",
+ "region_code",
+ "street_address1",
+ "street_address2",
+ "street_address3",
+ "street_address4",
+ "metadata",
+ "default",
+ ]
+ )
+ nullable_fields = set(
+ [
+ "door_code",
+ "priority",
+ "region_code",
+ "street_address3",
+ "street_address4",
+ "metadata",
+ ]
+ )
serialized = handler(self)
-
m = {}
for n, f in type(self).model_fields.items():
k = f.alias or n
val = serialized.get(k)
- serialized.pop(k, None)
-
- optional_nullable = k in optional_fields and k in nullable_fields
- is_set = (
- self.__pydantic_fields_set__.intersection({n})
- or k in null_default_fields
- ) # pylint: disable=no-member
-
- if val is not None and val != UNSET_SENTINEL:
- m[k] = val
- elif val != UNSET_SENTINEL and (
- not k in optional_fields or (optional_nullable and is_set)
- ):
- m[k] = val
+ is_nullable_and_explicitly_set = (
+ k in nullable_fields
+ and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
+ )
+
+ if val != UNSET_SENTINEL:
+ if (
+ val is not None
+ or k not in optional_fields
+ or is_nullable_and_explicitly_set
+ ):
+ m[k] = val
return m
diff --git a/src/bolt_api_sdk/models/request_result.py b/src/bolt_api_sdk/models/request_result.py
index f439c76..41c6be1 100644
--- a/src/bolt_api_sdk/models/request_result.py
+++ b/src/bolt_api_sdk/models/request_result.py
@@ -1,7 +1,8 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import NotRequired, TypedDict
@@ -18,3 +19,19 @@ class RequestResult(BaseModel):
success: Optional[bool] = None
r"""Indicates that the request failed. This value is always false."""
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["success"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/review_ticket.py b/src/bolt_api_sdk/models/review_ticket.py
index 7ab6d10..ede429e 100644
--- a/src/bolt_api_sdk/models/review_ticket.py
+++ b/src/bolt_api_sdk/models/review_ticket.py
@@ -2,7 +2,8 @@
from __future__ import annotations
from .request_status import RequestStatus
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import NotRequired, TypedDict
@@ -25,3 +26,19 @@ class ReviewTicket(BaseModel):
request_deadline: Optional[int] = None
status: Optional[RequestStatus] = None
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["id", "request_deadline", "status"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/review_ticket_view.py b/src/bolt_api_sdk/models/review_ticket_view.py
index 22ad6f6..d75f36f 100644
--- a/src/bolt_api_sdk/models/review_ticket_view.py
+++ b/src/bolt_api_sdk/models/review_ticket_view.py
@@ -1,7 +1,8 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import NotRequired, TypedDict
@@ -18,3 +19,19 @@ class ReviewTicketView(BaseModel):
request_deadline: Optional[float] = None
status: Optional[str] = None
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["id", "request_deadline", "status"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/reviewtransactionop.py b/src/bolt_api_sdk/models/reviewtransactionop.py
index c7421b0..e511164 100644
--- a/src/bolt_api_sdk/models/reviewtransactionop.py
+++ b/src/bolt_api_sdk/models/reviewtransactionop.py
@@ -5,9 +5,10 @@
MerchantCreditCardReview,
MerchantCreditCardReviewTypedDict,
)
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
from bolt_api_sdk.utils import FieldMetadata, HeaderMetadata, RequestMetadata
import pydantic
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import Annotated, NotRequired, TypedDict
@@ -32,3 +33,19 @@ class ReviewTransactionRequest(BaseModel):
FieldMetadata(request=RequestMetadata(media_type="application/json")),
] = None
r"""Review a Transaction"""
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["Idempotency-Key", "merchant_credit_card_review"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/risk_insights_yml.py b/src/bolt_api_sdk/models/risk_insights_yml.py
index 09d440e..f0d8786 100644
--- a/src/bolt_api_sdk/models/risk_insights_yml.py
+++ b/src/bolt_api_sdk/models/risk_insights_yml.py
@@ -2,7 +2,8 @@
from __future__ import annotations
from .risk_decision_factor_yml import RiskDecisionFactorYml
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from pydantic import model_serializer
from typing import Dict, List, Optional
from typing_extensions import NotRequired, TypedDict
@@ -36,3 +37,26 @@ class RiskInsightsYml(BaseModel):
"""
payment_instrument_factors: Optional[Dict[str, str]] = None
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(
+ [
+ "available",
+ "decision_factors",
+ "fraud_probability",
+ "payment_instrument_factors",
+ ]
+ )
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/risk_model_external_result_view.py b/src/bolt_api_sdk/models/risk_model_external_result_view.py
index a3fd690..83fc961 100644
--- a/src/bolt_api_sdk/models/risk_model_external_result_view.py
+++ b/src/bolt_api_sdk/models/risk_model_external_result_view.py
@@ -1,7 +1,8 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from pydantic import model_serializer
from typing import Dict, List, Optional
from typing_extensions import NotRequired, TypedDict
@@ -23,3 +24,26 @@ class RiskModelExternalResultView(BaseModel):
fraud_probability: Optional[float] = None
payment_instrument_factors: Optional[Dict[str, str]] = None
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(
+ [
+ "available",
+ "decision_factors",
+ "fraud_probability",
+ "payment_instrument_factors",
+ ]
+ )
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/risk_model_resul_contribution_view.py b/src/bolt_api_sdk/models/risk_model_resul_contribution_view.py
index f3a72c5..c0f1f60 100644
--- a/src/bolt_api_sdk/models/risk_model_resul_contribution_view.py
+++ b/src/bolt_api_sdk/models/risk_model_resul_contribution_view.py
@@ -1,7 +1,8 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import NotRequired, TypedDict
@@ -15,3 +16,19 @@ class RiskModelResulContributionView(BaseModel):
category: Optional[str] = None
weight: Optional[str] = None
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["category", "weight"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/risk_model_result_view.py b/src/bolt_api_sdk/models/risk_model_result_view.py
index c5dcd0e..a45d1c6 100644
--- a/src/bolt_api_sdk/models/risk_model_result_view.py
+++ b/src/bolt_api_sdk/models/risk_model_result_view.py
@@ -5,7 +5,8 @@
RiskModelResulContributionView,
RiskModelResulContributionViewTypedDict,
)
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from pydantic import model_serializer
from typing import List, Optional
from typing_extensions import NotRequired, TypedDict
@@ -16,3 +17,19 @@ class RiskModelResultViewTypedDict(TypedDict):
class RiskModelResultView(BaseModel):
contribution: Optional[List[RiskModelResulContributionView]] = None
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["contribution"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/saved_credit_card_view.py b/src/bolt_api_sdk/models/saved_credit_card_view.py
index 7994345..b6e484c 100644
--- a/src/bolt_api_sdk/models/saved_credit_card_view.py
+++ b/src/bolt_api_sdk/models/saved_credit_card_view.py
@@ -92,41 +92,38 @@ class SavedCreditCardView(BaseModel):
@model_serializer(mode="wrap")
def serialize_model(self, handler):
- optional_fields = [
- "billing_address",
- "id",
- "last4",
- "exp_month",
- "exp_year",
- "network",
- "default",
- "type",
- "description",
- "metadata",
- ]
- nullable_fields = ["metadata"]
- null_default_fields = []
-
+ optional_fields = set(
+ [
+ "billing_address",
+ "id",
+ "last4",
+ "exp_month",
+ "exp_year",
+ "network",
+ "default",
+ "type",
+ "description",
+ "metadata",
+ ]
+ )
+ nullable_fields = set(["metadata"])
serialized = handler(self)
-
m = {}
for n, f in type(self).model_fields.items():
k = f.alias or n
val = serialized.get(k)
- serialized.pop(k, None)
-
- optional_nullable = k in optional_fields and k in nullable_fields
- is_set = (
- self.__pydantic_fields_set__.intersection({n})
- or k in null_default_fields
- ) # pylint: disable=no-member
-
- if val is not None and val != UNSET_SENTINEL:
- m[k] = val
- elif val != UNSET_SENTINEL and (
- not k in optional_fields or (optional_nullable and is_set)
- ):
- m[k] = val
+ is_nullable_and_explicitly_set = (
+ k in nullable_fields
+ and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
+ )
+
+ if val != UNSET_SENTINEL:
+ if (
+ val is not None
+ or k not in optional_fields
+ or is_nullable_and_explicitly_set
+ ):
+ m[k] = val
return m
diff --git a/src/bolt_api_sdk/models/saved_paypal_account_view.py b/src/bolt_api_sdk/models/saved_paypal_account_view.py
index 69ac86c..523ce03 100644
--- a/src/bolt_api_sdk/models/saved_paypal_account_view.py
+++ b/src/bolt_api_sdk/models/saved_paypal_account_view.py
@@ -55,30 +55,25 @@ class SavedPaypalAccountView(BaseModel):
@model_serializer(mode="wrap")
def serialize_model(self, handler):
- optional_fields = ["id", "type", "description", "metadata"]
- nullable_fields = ["metadata"]
- null_default_fields = []
-
+ optional_fields = set(["id", "type", "description", "metadata"])
+ nullable_fields = set(["metadata"])
serialized = handler(self)
-
m = {}
for n, f in type(self).model_fields.items():
k = f.alias or n
val = serialized.get(k)
- serialized.pop(k, None)
-
- optional_nullable = k in optional_fields and k in nullable_fields
- is_set = (
- self.__pydantic_fields_set__.intersection({n})
- or k in null_default_fields
- ) # pylint: disable=no-member
-
- if val is not None and val != UNSET_SENTINEL:
- m[k] = val
- elif val != UNSET_SENTINEL and (
- not k in optional_fields or (optional_nullable and is_set)
- ):
- m[k] = val
+ is_nullable_and_explicitly_set = (
+ k in nullable_fields
+ and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
+ )
+
+ if val != UNSET_SENTINEL:
+ if (
+ val is not None
+ or k not in optional_fields
+ or is_nullable_and_explicitly_set
+ ):
+ m[k] = val
return m
diff --git a/src/bolt_api_sdk/models/security.py b/src/bolt_api_sdk/models/security.py
index 9e469c8..39ff6f0 100644
--- a/src/bolt_api_sdk/models/security.py
+++ b/src/bolt_api_sdk/models/security.py
@@ -1,8 +1,9 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
from bolt_api_sdk.utils import FieldMetadata, SecurityMetadata
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import Annotated, NotRequired, TypedDict
@@ -33,3 +34,19 @@ class Security(BaseModel):
)
),
] = None
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["X-API-Key", "OAuth"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/shopper_metadata.py b/src/bolt_api_sdk/models/shopper_metadata.py
index 75ca8c0..0d73610 100644
--- a/src/bolt_api_sdk/models/shopper_metadata.py
+++ b/src/bolt_api_sdk/models/shopper_metadata.py
@@ -1,8 +1,9 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
import pydantic
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import Annotated, NotRequired, TypedDict
@@ -19,3 +20,19 @@ class ShopperMetadata(BaseModel):
additional_properties: Annotated[
Optional[str], pydantic.Field(alias="additionalProperties")
] = None
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["additionalProperties"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/splits_view.py b/src/bolt_api_sdk/models/splits_view.py
index 1b2e78c..c41ea53 100644
--- a/src/bolt_api_sdk/models/splits_view.py
+++ b/src/bolt_api_sdk/models/splits_view.py
@@ -2,8 +2,9 @@
from __future__ import annotations
from .amount_view import AmountView, AmountViewTypedDict
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
from enum import Enum
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import NotRequired, TypedDict
@@ -38,3 +39,19 @@ class SplitsView(BaseModel):
r"""**Nullable** for Transactions Details.
"""
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["amount", "type"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/subscription.py b/src/bolt_api_sdk/models/subscription.py
index 8ccd220..a5eadf2 100644
--- a/src/bolt_api_sdk/models/subscription.py
+++ b/src/bolt_api_sdk/models/subscription.py
@@ -1,8 +1,9 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
from enum import Enum
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import NotRequired, TypedDict
@@ -34,6 +35,22 @@ class Frequency(BaseModel):
value: Optional[int] = None
r"""The value applied to the unit frequency."""
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["unit", "value"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
+
class SubscriptionTypedDict(TypedDict):
r"""Describes a product added as a recurring subscription."""
@@ -47,3 +64,19 @@ class Subscription(BaseModel):
frequency: Optional[Frequency] = None
r"""Describes how often the subscription recurs."""
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["frequency"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/testing_account_details.py b/src/bolt_api_sdk/models/testing_account_details.py
index 1fb4e73..fa0991e 100644
--- a/src/bolt_api_sdk/models/testing_account_details.py
+++ b/src/bolt_api_sdk/models/testing_account_details.py
@@ -2,7 +2,8 @@
from __future__ import annotations
from .account_identifier_status import AccountIdentifierStatus
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import NotRequired, TypedDict
@@ -54,3 +55,30 @@ class TestingAccountDetails(BaseModel):
oauth_code: Optional[str] = None
r"""OAuth code that is associated with this account and can be used to exchange for an access token"""
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(
+ [
+ "email",
+ "email_state",
+ "phone",
+ "phone_state",
+ "otp_code",
+ "migrated_merchant_owner_id",
+ "will_deactivate_at",
+ "oauth_code",
+ ]
+ )
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/testing_account_request.py b/src/bolt_api_sdk/models/testing_account_request.py
index b7ff1e8..c20d01e 100644
--- a/src/bolt_api_sdk/models/testing_account_request.py
+++ b/src/bolt_api_sdk/models/testing_account_request.py
@@ -2,7 +2,8 @@
from __future__ import annotations
from .account_identifier_status import AccountIdentifierStatus
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import NotRequired, TypedDict
@@ -49,3 +50,29 @@ class TestingAccountRequest(BaseModel):
has_address: Optional[bool] = None
r"""Add a random U.S. address to the created account if set to `true`"""
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(
+ [
+ "deactivate_in_days",
+ "email",
+ "email_state",
+ "phone",
+ "phone_state",
+ "migrated",
+ "has_address",
+ ]
+ )
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/total_weight.py b/src/bolt_api_sdk/models/total_weight.py
index ac84616..40171eb 100644
--- a/src/bolt_api_sdk/models/total_weight.py
+++ b/src/bolt_api_sdk/models/total_weight.py
@@ -1,7 +1,8 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import NotRequired, TypedDict
@@ -19,3 +20,19 @@ class TotalWeight(BaseModel):
weight: Optional[int] = None
r"""The weight of an item."""
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["unit", "weight"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/transaction_credit.py b/src/bolt_api_sdk/models/transaction_credit.py
index e341f7d..8ca7163 100644
--- a/src/bolt_api_sdk/models/transaction_credit.py
+++ b/src/bolt_api_sdk/models/transaction_credit.py
@@ -1,7 +1,8 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import NotRequired, TypedDict
@@ -34,3 +35,19 @@ class TransactionCredit(BaseModel):
skip_hook_notification: Optional[bool] = None
r"""Set to `true` to skip receiving a webhook notification from Bolt that is triggered by this update to the transaction."""
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["merchant_event_id", "skip_hook_notification"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/transaction_details.py b/src/bolt_api_sdk/models/transaction_details.py
index a73e202..954808e 100644
--- a/src/bolt_api_sdk/models/transaction_details.py
+++ b/src/bolt_api_sdk/models/transaction_details.py
@@ -47,8 +47,9 @@
)
from .transaction_type import TransactionType
from .transaction_view import TransactionView, TransactionViewTypedDict
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
import pydantic
+from pydantic import model_serializer
from typing import Dict, List, Optional
from typing_extensions import Annotated, NotRequired, TypedDict
@@ -291,3 +292,71 @@ class TransactionDetails(BaseModel):
void: Optional[CreditCardVoidView] = None
void_cause: Optional[str] = None
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(
+ [
+ "address_change_request_metadata",
+ "adjust_transactions",
+ "amount",
+ "auth_verification_status",
+ "authorization",
+ "authorization_id",
+ "capture",
+ "captures",
+ "chargeback_details",
+ "credit",
+ "custom_fields",
+ "customer_list_status",
+ "date",
+ "from_consumer",
+ "from_consumer_membership_users",
+ "from_credit_card",
+ "id",
+ "indemnification_decision",
+ "indemnification_reason",
+ "last_viewed_utc",
+ "last4",
+ "manual_disputes",
+ "merchant",
+ "merchant_division",
+ "merchant_order_number",
+ "order",
+ "order_decision",
+ "platform_metadata",
+ "processor",
+ "reference",
+ "refund_transaction_ids",
+ "refund_transactions",
+ "refunded_amount",
+ "review_ticket",
+ "risk_insights",
+ "risk_review_status",
+ "risk_score",
+ "source_transaction",
+ "splits",
+ "status",
+ "timeline",
+ "to_consumer",
+ "to_credit_card",
+ "transaction_properties",
+ "transaction_rejection_details",
+ "type",
+ "view_status",
+ "void",
+ "void_cause",
+ ]
+ )
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/transaction_details_view.py b/src/bolt_api_sdk/models/transaction_details_view.py
index 6ea86cf..097a140 100644
--- a/src/bolt_api_sdk/models/transaction_details_view.py
+++ b/src/bolt_api_sdk/models/transaction_details_view.py
@@ -62,9 +62,10 @@
)
from .transaction_type import TransactionType
from .transaction_view import TransactionView, TransactionViewTypedDict
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
from enum import Enum
import pydantic
+from pydantic import model_serializer
from typing import Dict, List, Optional
from typing_extensions import Annotated, NotRequired, TypedDict
@@ -87,6 +88,22 @@ class TransactionRejectionDetailsTypedDict(TypedDict):
class TransactionRejectionDetails(BaseModel):
auth_rejection_details: Optional[AuthRejectionDetailsView] = None
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["auth_rejection_details"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
+
class VoidCause(str, Enum):
r"""Determines why the transaction was voided."""
@@ -286,3 +303,68 @@ class TransactionDetailsView(BaseModel):
void_cause: Optional[VoidCause] = None
r"""Determines why the transaction was voided."""
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(
+ [
+ "amount",
+ "authorization",
+ "capture",
+ "captures",
+ "credit",
+ "date",
+ "from_consumer",
+ "from_credit_card",
+ "id",
+ "indemnification_decision",
+ "indemnification_reason",
+ "last4",
+ "last_viewed_utc",
+ "merchant_division",
+ "merchant_order_number",
+ "order_decision",
+ "processor",
+ "reference",
+ "review_ticket",
+ "risk_insights",
+ "risk_review_status",
+ "risk_score",
+ "splits",
+ "status",
+ "to_consumer",
+ "to_credit_card",
+ "transaction_properties",
+ "type",
+ "void",
+ "view_status",
+ "address_change_request_metadata",
+ "adjust_transactions",
+ "auth_verification_status",
+ "authorization_id",
+ "chargeback_details",
+ "custom_fields",
+ "customer_list_status",
+ "manual_disputes",
+ "order",
+ "refund_transaction_ids",
+ "refund_transactions",
+ "refunded_amount",
+ "source_transaction",
+ "timeline",
+ "transaction_rejection_details",
+ "void_cause",
+ ]
+ )
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/transaction_rejection_details_view.py b/src/bolt_api_sdk/models/transaction_rejection_details_view.py
index ad89af1..6203cc8 100644
--- a/src/bolt_api_sdk/models/transaction_rejection_details_view.py
+++ b/src/bolt_api_sdk/models/transaction_rejection_details_view.py
@@ -2,7 +2,8 @@
from __future__ import annotations
from .auth_rejection_details import AuthRejectionDetails, AuthRejectionDetailsTypedDict
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import NotRequired, TypedDict
@@ -13,3 +14,19 @@ class TransactionRejectionDetailsViewTypedDict(TypedDict):
class TransactionRejectionDetailsView(BaseModel):
auth_rejection_details: Optional[AuthRejectionDetails] = None
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["auth_rejection_details"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/transaction_review_view.py b/src/bolt_api_sdk/models/transaction_review_view.py
index 4b55c4f..317a186 100644
--- a/src/bolt_api_sdk/models/transaction_review_view.py
+++ b/src/bolt_api_sdk/models/transaction_review_view.py
@@ -2,8 +2,9 @@
from __future__ import annotations
from .risk_model_result_view import RiskModelResultView, RiskModelResultViewTypedDict
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
import pydantic
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import Annotated, NotRequired, TypedDict
@@ -23,3 +24,19 @@ class TransactionReviewView(BaseModel):
risk_model_result: Optional[RiskModelResultView] = None
source: Optional[str] = None
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["date", "decision", "risk_model_result", "source"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/transaction_splits_view.py b/src/bolt_api_sdk/models/transaction_splits_view.py
index 3ad9c85..6332e61 100644
--- a/src/bolt_api_sdk/models/transaction_splits_view.py
+++ b/src/bolt_api_sdk/models/transaction_splits_view.py
@@ -2,8 +2,9 @@
from __future__ import annotations
from .amount_view import AmountView, AmountViewTypedDict
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
from enum import Enum
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import NotRequired, TypedDict
@@ -26,3 +27,19 @@ class TransactionSplitsView(BaseModel):
amount: Optional[AmountView] = None
type: Optional[TransactionSplitsViewType] = None
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["amount", "type"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/transaction_timeline_view.py b/src/bolt_api_sdk/models/transaction_timeline_view.py
index 379201a..db29f50 100644
--- a/src/bolt_api_sdk/models/transaction_timeline_view.py
+++ b/src/bolt_api_sdk/models/transaction_timeline_view.py
@@ -9,9 +9,10 @@
TransactionReviewViewTypedDict,
)
from .transaction_view import TransactionView, TransactionViewTypedDict
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
from enum import Enum
import pydantic
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import Annotated, NotRequired, TypedDict
@@ -57,3 +58,31 @@ class TransactionTimelineView(BaseModel):
type: Optional[TransactionTimelineViewType] = None
visibility: Optional[str] = None
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(
+ [
+ "address_change",
+ "amount",
+ "consumer",
+ "date",
+ "note",
+ "review",
+ "transaction",
+ "type",
+ "visibility",
+ ]
+ )
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/transaction_update_input.py b/src/bolt_api_sdk/models/transaction_update_input.py
index 2f3be9c..a195373 100644
--- a/src/bolt_api_sdk/models/transaction_update_input.py
+++ b/src/bolt_api_sdk/models/transaction_update_input.py
@@ -1,7 +1,8 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from pydantic import model_serializer
from typing import Dict, Optional
from typing_extensions import NotRequired, TypedDict
@@ -19,3 +20,19 @@ class TransactionUpdateInput(BaseModel):
metadata: Optional[Dict[str, str]] = None
r"""Custom metadata associated with this Bolt transaction."""
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["display_id", "metadata"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/transaction_view.py b/src/bolt_api_sdk/models/transaction_view.py
index 2ff4818..bc47665 100644
--- a/src/bolt_api_sdk/models/transaction_view.py
+++ b/src/bolt_api_sdk/models/transaction_view.py
@@ -38,9 +38,10 @@
)
from .transaction_status import TransactionStatus
from .transaction_type import TransactionType
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
from enum import Enum
import pydantic
+from pydantic import model_serializer
from typing import Dict, List, Optional
from typing_extensions import Annotated, NotRequired, TypedDict
@@ -178,3 +179,52 @@ class TransactionView(BaseModel):
void: Optional[CreditCardVoidView] = None
view_status: Optional[TransactionViewViewStatus] = None
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(
+ [
+ "amount",
+ "authorization",
+ "capture",
+ "captures",
+ "credit",
+ "date",
+ "from_consumer",
+ "from_credit_card",
+ "id",
+ "indemnification_decision",
+ "indemnification_reason",
+ "last4",
+ "last_viewed_utc",
+ "merchant_division",
+ "merchant_order_number",
+ "order_decision",
+ "processor",
+ "reference",
+ "review_ticket",
+ "risk_insights",
+ "risk_review_status",
+ "risk_score",
+ "splits",
+ "status",
+ "to_consumer",
+ "to_credit_card",
+ "transaction_properties",
+ "type",
+ "void",
+ "view_status",
+ ]
+ )
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/update_profile.py b/src/bolt_api_sdk/models/update_profile.py
index 8a9a6c8..4530335 100644
--- a/src/bolt_api_sdk/models/update_profile.py
+++ b/src/bolt_api_sdk/models/update_profile.py
@@ -43,30 +43,25 @@ class UpdateProfile(BaseModel):
@model_serializer(mode="wrap")
def serialize_model(self, handler):
- optional_fields = ["first_name", "last_name", "metadata"]
- nullable_fields = ["metadata"]
- null_default_fields = []
-
+ optional_fields = set(["first_name", "last_name", "metadata"])
+ nullable_fields = set(["metadata"])
serialized = handler(self)
-
m = {}
for n, f in type(self).model_fields.items():
k = f.alias or n
val = serialized.get(k)
- serialized.pop(k, None)
-
- optional_nullable = k in optional_fields and k in nullable_fields
- is_set = (
- self.__pydantic_fields_set__.intersection({n})
- or k in null_default_fields
- ) # pylint: disable=no-member
-
- if val is not None and val != UNSET_SENTINEL:
- m[k] = val
- elif val != UNSET_SENTINEL and (
- not k in optional_fields or (optional_nullable and is_set)
- ):
- m[k] = val
+ is_nullable_and_explicitly_set = (
+ k in nullable_fields
+ and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
+ )
+
+ if val != UNSET_SENTINEL:
+ if (
+ val is not None
+ or k not in optional_fields
+ or is_nullable_and_explicitly_set
+ ):
+ m[k] = val
return m
diff --git a/src/bolt_api_sdk/models/updateaccountprofileop.py b/src/bolt_api_sdk/models/updateaccountprofileop.py
index a9b8762..86e5356 100644
--- a/src/bolt_api_sdk/models/updateaccountprofileop.py
+++ b/src/bolt_api_sdk/models/updateaccountprofileop.py
@@ -2,7 +2,7 @@
from __future__ import annotations
from .update_profile import UpdateProfile, UpdateProfileTypedDict
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
from bolt_api_sdk.utils import (
FieldMetadata,
HeaderMetadata,
@@ -10,6 +10,7 @@
SecurityMetadata,
)
import pydantic
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import Annotated, NotRequired, TypedDict
@@ -60,3 +61,19 @@ class UpdateAccountProfileRequest(BaseModel):
Optional[UpdateProfile],
FieldMetadata(request=RequestMetadata(media_type="application/json")),
] = None
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["X-Publishable-Key", "update_profile"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/updatetransactionop.py b/src/bolt_api_sdk/models/updatetransactionop.py
index 6d968fc..6e6bab5 100644
--- a/src/bolt_api_sdk/models/updatetransactionop.py
+++ b/src/bolt_api_sdk/models/updatetransactionop.py
@@ -5,7 +5,7 @@
TransactionUpdateInput,
TransactionUpdateInputTypedDict,
)
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
from bolt_api_sdk.utils import (
FieldMetadata,
HeaderMetadata,
@@ -13,6 +13,7 @@
RequestMetadata,
)
import pydantic
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import Annotated, NotRequired, TypedDict
@@ -44,3 +45,19 @@ class UpdateTransactionRequest(BaseModel):
Optional[TransactionUpdateInput],
FieldMetadata(request=RequestMetadata(media_type="application/json")),
] = None
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["Idempotency-Key", "transaction_update_input"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/user_identifier.py b/src/bolt_api_sdk/models/user_identifier.py
index 0e722df..804a40e 100644
--- a/src/bolt_api_sdk/models/user_identifier.py
+++ b/src/bolt_api_sdk/models/user_identifier.py
@@ -1,7 +1,8 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import NotRequired, TypedDict
@@ -36,3 +37,19 @@ class UserIdentifier(BaseModel):
phone_id: Optional[str] = None
r"""The ID associated with the identifying phone number for this account."""
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["artifact", "email", "email_id", "phone_id"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/user_identity.py b/src/bolt_api_sdk/models/user_identity.py
index 33bcf46..45ec90c 100644
--- a/src/bolt_api_sdk/models/user_identity.py
+++ b/src/bolt_api_sdk/models/user_identity.py
@@ -1,7 +1,8 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import NotRequired, TypedDict
@@ -19,3 +20,19 @@ class UserIdentity(BaseModel):
last_name: Optional[str] = None
r"""The person's last name."""
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["first_name", "last_name"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/v1_accounts_view.py b/src/bolt_api_sdk/models/v1_accounts_view.py
index 51ca5cc..a68b84e 100644
--- a/src/bolt_api_sdk/models/v1_accounts_view.py
+++ b/src/bolt_api_sdk/models/v1_accounts_view.py
@@ -1,7 +1,8 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from __future__ import annotations
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import NotRequired, TypedDict
@@ -12,3 +13,19 @@ class V1AccountsViewTypedDict(TypedDict):
class V1AccountsView(BaseModel):
has_bolt_account: Optional[bool] = None
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["has_bolt_account"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/voidtransactionop.py b/src/bolt_api_sdk/models/voidtransactionop.py
index 386a32d..e770583 100644
--- a/src/bolt_api_sdk/models/voidtransactionop.py
+++ b/src/bolt_api_sdk/models/voidtransactionop.py
@@ -2,9 +2,10 @@
from __future__ import annotations
from .credit_card_void import CreditCardVoid, CreditCardVoidTypedDict
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import BaseModel, UNSET_SENTINEL
from bolt_api_sdk.utils import FieldMetadata, HeaderMetadata, RequestMetadata
import pydantic
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import Annotated, NotRequired, TypedDict
@@ -29,3 +30,19 @@ class VoidTransactionRequest(BaseModel):
FieldMetadata(request=RequestMetadata(media_type="application/json")),
] = None
r"""Void a Transaction"""
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(["Idempotency-Key", "credit_card_void"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k)
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
diff --git a/src/bolt_api_sdk/models/webhook.py b/src/bolt_api_sdk/models/webhook.py
index 2f2810d..c780ccf 100644
--- a/src/bolt_api_sdk/models/webhook.py
+++ b/src/bolt_api_sdk/models/webhook.py
@@ -56,30 +56,25 @@ class Webhook(BaseModel):
@model_serializer(mode="wrap")
def serialize_model(self, handler):
- optional_fields = ["event_group", "events"]
- nullable_fields = ["event_group", "events"]
- null_default_fields = []
-
+ optional_fields = set(["event_group", "events"])
+ nullable_fields = set(["event_group", "events"])
serialized = handler(self)
-
m = {}
for n, f in type(self).model_fields.items():
k = f.alias or n
val = serialized.get(k)
- serialized.pop(k, None)
-
- optional_nullable = k in optional_fields and k in nullable_fields
- is_set = (
- self.__pydantic_fields_set__.intersection({n})
- or k in null_default_fields
- ) # pylint: disable=no-member
-
- if val is not None and val != UNSET_SENTINEL:
- m[k] = val
- elif val != UNSET_SENTINEL and (
- not k in optional_fields or (optional_nullable and is_set)
- ):
- m[k] = val
+ is_nullable_and_explicitly_set = (
+ k in nullable_fields
+ and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
+ )
+
+ if val != UNSET_SENTINEL:
+ if (
+ val is not None
+ or k not in optional_fields
+ or is_nullable_and_explicitly_set
+ ):
+ m[k] = val
return m
diff --git a/src/bolt_api_sdk/oauth.py b/src/bolt_api_sdk/oauth.py
index 3af9000..6685f96 100644
--- a/src/bolt_api_sdk/oauth.py
+++ b/src/bolt_api_sdk/oauth.py
@@ -77,6 +77,7 @@ def o_auth_token(
"form",
Optional[models.OAuthTokenRequestBody],
),
+ allow_empty_value=None,
timeout_ms=timeout_ms,
)
@@ -93,7 +94,7 @@ def o_auth_token(
config=self.sdk_configuration,
base_url=base_url or "",
operation_id="OAuthToken",
- oauth2_scopes=[],
+ oauth2_scopes=None,
security_source=get_security_from_env(
self.sdk_configuration.security, models.Security
),
@@ -185,6 +186,7 @@ async def o_auth_token_async(
"form",
Optional[models.OAuthTokenRequestBody],
),
+ allow_empty_value=None,
timeout_ms=timeout_ms,
)
@@ -201,7 +203,7 @@ async def o_auth_token_async(
config=self.sdk_configuration,
base_url=base_url or "",
operation_id="OAuthToken",
- oauth2_scopes=[],
+ oauth2_scopes=None,
security_source=get_security_from_env(
self.sdk_configuration.security, models.Security
),
diff --git a/src/bolt_api_sdk/orders.py b/src/bolt_api_sdk/orders.py
index f0283ab..5505f7a 100644
--- a/src/bolt_api_sdk/orders.py
+++ b/src/bolt_api_sdk/orders.py
@@ -63,6 +63,7 @@ def create_order_token(
get_serialized_body=lambda: utils.serialize_request_body(
request, False, True, "json", Optional[models.OrderCreate]
),
+ allow_empty_value=None,
timeout_ms=timeout_ms,
)
@@ -79,7 +80,7 @@ def create_order_token(
config=self.sdk_configuration,
base_url=base_url or "",
operation_id="createOrderToken",
- oauth2_scopes=[],
+ oauth2_scopes=None,
security_source=get_security_from_env(
self.sdk_configuration.security, models.Security
),
@@ -157,6 +158,7 @@ async def create_order_token_async(
get_serialized_body=lambda: utils.serialize_request_body(
request, False, True, "json", Optional[models.OrderCreate]
),
+ allow_empty_value=None,
timeout_ms=timeout_ms,
)
@@ -173,7 +175,7 @@ async def create_order_token_async(
config=self.sdk_configuration,
base_url=base_url or "",
operation_id="createOrderToken",
- oauth2_scopes=[],
+ oauth2_scopes=None,
security_source=get_security_from_env(
self.sdk_configuration.security, models.Security
),
@@ -252,6 +254,7 @@ def track_order(
get_serialized_body=lambda: utils.serialize_request_body(
request, False, True, "json", Optional[models.OrderTrackRequestBody]
),
+ allow_empty_value=None,
timeout_ms=timeout_ms,
)
@@ -268,7 +271,7 @@ def track_order(
config=self.sdk_configuration,
base_url=base_url or "",
operation_id="trackOrder",
- oauth2_scopes=[],
+ oauth2_scopes=None,
security_source=get_security_from_env(
self.sdk_configuration.security, models.Security
),
@@ -347,6 +350,7 @@ async def track_order_async(
get_serialized_body=lambda: utils.serialize_request_body(
request, False, True, "json", Optional[models.OrderTrackRequestBody]
),
+ allow_empty_value=None,
timeout_ms=timeout_ms,
)
@@ -363,7 +367,7 @@ async def track_order_async(
config=self.sdk_configuration,
base_url=base_url or "",
operation_id="trackOrder",
- oauth2_scopes=[],
+ oauth2_scopes=None,
security_source=get_security_from_env(
self.sdk_configuration.security, models.Security
),
diff --git a/src/bolt_api_sdk/statements.py b/src/bolt_api_sdk/statements.py
index 92eb57c..e3ce1af 100644
--- a/src/bolt_api_sdk/statements.py
+++ b/src/bolt_api_sdk/statements.py
@@ -68,6 +68,7 @@ def get_statements(
get_serialized_body=lambda: utils.serialize_request_body(
request, False, True, "json", Optional[models.StatementsViewRequestBody]
),
+ allow_empty_value=None,
timeout_ms=timeout_ms,
)
@@ -84,7 +85,7 @@ def get_statements(
config=self.sdk_configuration,
base_url=base_url or "",
operation_id="getStatements",
- oauth2_scopes=[],
+ oauth2_scopes=None,
security_source=get_security_from_env(
self.sdk_configuration.security, models.Security
),
@@ -167,6 +168,7 @@ async def get_statements_async(
get_serialized_body=lambda: utils.serialize_request_body(
request, False, True, "json", Optional[models.StatementsViewRequestBody]
),
+ allow_empty_value=None,
timeout_ms=timeout_ms,
)
@@ -183,7 +185,7 @@ async def get_statements_async(
config=self.sdk_configuration,
base_url=base_url or "",
operation_id="getStatements",
- oauth2_scopes=[],
+ oauth2_scopes=None,
security_source=get_security_from_env(
self.sdk_configuration.security, models.Security
),
diff --git a/src/bolt_api_sdk/testing.py b/src/bolt_api_sdk/testing.py
index f9fc62f..4d7d02b 100644
--- a/src/bolt_api_sdk/testing.py
+++ b/src/bolt_api_sdk/testing.py
@@ -63,6 +63,7 @@ def test_shipping(
get_serialized_body=lambda: utils.serialize_request_body(
request, False, True, "json", Optional[models.MockTrackingInput]
),
+ allow_empty_value=None,
timeout_ms=timeout_ms,
)
@@ -79,7 +80,7 @@ def test_shipping(
config=self.sdk_configuration,
base_url=base_url or "",
operation_id="testShipping",
- oauth2_scopes=[],
+ oauth2_scopes=None,
security_source=get_security_from_env(
self.sdk_configuration.security, models.Security
),
@@ -157,6 +158,7 @@ async def test_shipping_async(
get_serialized_body=lambda: utils.serialize_request_body(
request, False, True, "json", Optional[models.MockTrackingInput]
),
+ allow_empty_value=None,
timeout_ms=timeout_ms,
)
@@ -173,7 +175,7 @@ async def test_shipping_async(
config=self.sdk_configuration,
base_url=base_url or "",
operation_id="testShipping",
- oauth2_scopes=[],
+ oauth2_scopes=None,
security_source=get_security_from_env(
self.sdk_configuration.security, models.Security
),
@@ -260,6 +262,7 @@ def create_testing_shopper_account(
"json",
Optional[models.TestingAccountRequest],
),
+ allow_empty_value=None,
timeout_ms=timeout_ms,
)
@@ -276,7 +279,7 @@ def create_testing_shopper_account(
config=self.sdk_configuration,
base_url=base_url or "",
operation_id="createTestingShopperAccount",
- oauth2_scopes=[],
+ oauth2_scopes=None,
security_source=get_security_from_env(
self.sdk_configuration.security, models.Security
),
@@ -357,6 +360,7 @@ async def create_testing_shopper_account_async(
"json",
Optional[models.TestingAccountRequest],
),
+ allow_empty_value=None,
timeout_ms=timeout_ms,
)
@@ -373,7 +377,7 @@ async def create_testing_shopper_account_async(
config=self.sdk_configuration,
base_url=base_url or "",
operation_id="createTestingShopperAccount",
- oauth2_scopes=[],
+ oauth2_scopes=None,
security_source=get_security_from_env(
self.sdk_configuration.security, models.Security
),
@@ -433,6 +437,7 @@ def get_test_credit_card_token(
accept_header_value="application/json",
http_headers=http_headers,
security=self.sdk_configuration.security,
+ allow_empty_value=None,
timeout_ms=timeout_ms,
)
@@ -449,7 +454,7 @@ def get_test_credit_card_token(
config=self.sdk_configuration,
base_url=base_url or "",
operation_id="getTestCreditCardToken",
- oauth2_scopes=[],
+ oauth2_scopes=None,
security_source=get_security_from_env(
self.sdk_configuration.security, models.Security
),
@@ -511,6 +516,7 @@ async def get_test_credit_card_token_async(
accept_header_value="application/json",
http_headers=http_headers,
security=self.sdk_configuration.security,
+ allow_empty_value=None,
timeout_ms=timeout_ms,
)
@@ -527,7 +533,7 @@ async def get_test_credit_card_token_async(
config=self.sdk_configuration,
base_url=base_url or "",
operation_id="getTestCreditCardToken",
- oauth2_scopes=[],
+ oauth2_scopes=None,
security_source=get_security_from_env(
self.sdk_configuration.security, models.Security
),
diff --git a/src/bolt_api_sdk/transactions.py b/src/bolt_api_sdk/transactions.py
index 150f738..34415ed 100644
--- a/src/bolt_api_sdk/transactions.py
+++ b/src/bolt_api_sdk/transactions.py
@@ -43,7 +43,11 @@ def authorize_transaction(
:param security:
:param x_publishable_key: The publicly viewable identifier used to identify a merchant division. This key is found in the Developer > API section of the Bolt Merchant Dashboard [RECOMMENDED].
:param idempotency_key: A key created by merchants that ensures `POST` and `PATCH` requests are only performed once. [Read more about Idempotent Requests here](/developers/references/idempotency/).
- :param request_body: **Authorize a Transaction** * • `merchant_credit_card_authorization`: For authorizing with a new, unsaved card. This can be for a guest checkout flow, one-time payment, or an existing Bolt shopper. * • `merchant_credit_card_authorization_recharge`: For authorizing a card using a shoppers saved payment methods. * • **Anytime the shopper is paying while logged-in attach their OAuth `access_token` to the request.**
+ :param request_body: **Authorize a Transaction**
+ * • `merchant_credit_card_authorization`: For authorizing with a new, unsaved card. This can be for a guest checkout flow, one-time payment, or an existing Bolt shopper.
+ * • `merchant_credit_card_authorization_recharge`: For authorizing a card using a shoppers saved payment methods.
+ * • **Anytime the shopper is paying while logged-in attach their OAuth `access_token` to the request.**
+
:param retries: Override the default retry configuration for this method
:param server_url: Override the default server URL for this method
:param timeout_ms: Override the default request timeout configuration for this method in milliseconds
@@ -89,6 +93,7 @@ def authorize_transaction(
"json",
Optional[models.AuthorizeTransactionRequestBody],
),
+ allow_empty_value=None,
timeout_ms=timeout_ms,
)
@@ -155,7 +160,11 @@ async def authorize_transaction_async(
:param security:
:param x_publishable_key: The publicly viewable identifier used to identify a merchant division. This key is found in the Developer > API section of the Bolt Merchant Dashboard [RECOMMENDED].
:param idempotency_key: A key created by merchants that ensures `POST` and `PATCH` requests are only performed once. [Read more about Idempotent Requests here](/developers/references/idempotency/).
- :param request_body: **Authorize a Transaction** * • `merchant_credit_card_authorization`: For authorizing with a new, unsaved card. This can be for a guest checkout flow, one-time payment, or an existing Bolt shopper. * • `merchant_credit_card_authorization_recharge`: For authorizing a card using a shoppers saved payment methods. * • **Anytime the shopper is paying while logged-in attach their OAuth `access_token` to the request.**
+ :param request_body: **Authorize a Transaction**
+ * • `merchant_credit_card_authorization`: For authorizing with a new, unsaved card. This can be for a guest checkout flow, one-time payment, or an existing Bolt shopper.
+ * • `merchant_credit_card_authorization_recharge`: For authorizing a card using a shoppers saved payment methods.
+ * • **Anytime the shopper is paying while logged-in attach their OAuth `access_token` to the request.**
+
:param retries: Override the default retry configuration for this method
:param server_url: Override the default server URL for this method
:param timeout_ms: Override the default request timeout configuration for this method in milliseconds
@@ -201,6 +210,7 @@ async def authorize_transaction_async(
"json",
Optional[models.AuthorizeTransactionRequestBody],
),
+ allow_empty_value=None,
timeout_ms=timeout_ms,
)
@@ -303,6 +313,7 @@ def capture_transaction(
"json",
Optional[models.CaptureTransactionWithReference],
),
+ allow_empty_value=None,
timeout_ms=timeout_ms,
)
@@ -319,7 +330,7 @@ def capture_transaction(
config=self.sdk_configuration,
base_url=base_url or "",
operation_id="captureTransaction",
- oauth2_scopes=[],
+ oauth2_scopes=None,
security_source=get_security_from_env(
self.sdk_configuration.security, models.Security
),
@@ -418,6 +429,7 @@ async def capture_transaction_async(
"json",
Optional[models.CaptureTransactionWithReference],
),
+ allow_empty_value=None,
timeout_ms=timeout_ms,
)
@@ -434,7 +446,7 @@ async def capture_transaction_async(
config=self.sdk_configuration,
base_url=base_url or "",
operation_id="captureTransaction",
- oauth2_scopes=[],
+ oauth2_scopes=None,
security_source=get_security_from_env(
self.sdk_configuration.security, models.Security
),
@@ -526,6 +538,7 @@ def refund_transaction(
"json",
Optional[models.TransactionCredit],
),
+ allow_empty_value=None,
timeout_ms=timeout_ms,
)
@@ -542,7 +555,7 @@ def refund_transaction(
config=self.sdk_configuration,
base_url=base_url or "",
operation_id="refundTransaction",
- oauth2_scopes=[],
+ oauth2_scopes=None,
security_source=get_security_from_env(
self.sdk_configuration.security, models.Security
),
@@ -629,6 +642,7 @@ async def refund_transaction_async(
"json",
Optional[models.TransactionCredit],
),
+ allow_empty_value=None,
timeout_ms=timeout_ms,
)
@@ -645,7 +659,7 @@ async def refund_transaction_async(
config=self.sdk_configuration,
base_url=base_url or "",
operation_id="refundTransaction",
- oauth2_scopes=[],
+ oauth2_scopes=None,
security_source=get_security_from_env(
self.sdk_configuration.security, models.Security
),
@@ -735,6 +749,7 @@ def review_transaction(
"json",
Optional[models.MerchantCreditCardReview],
),
+ allow_empty_value=None,
timeout_ms=timeout_ms,
)
@@ -751,7 +766,7 @@ def review_transaction(
config=self.sdk_configuration,
base_url=base_url or "",
operation_id="reviewTransaction",
- oauth2_scopes=[],
+ oauth2_scopes=None,
security_source=get_security_from_env(
self.sdk_configuration.security, models.Security
),
@@ -841,6 +856,7 @@ async def review_transaction_async(
"json",
Optional[models.MerchantCreditCardReview],
),
+ allow_empty_value=None,
timeout_ms=timeout_ms,
)
@@ -857,7 +873,7 @@ async def review_transaction_async(
config=self.sdk_configuration,
base_url=base_url or "",
operation_id="reviewTransaction",
- oauth2_scopes=[],
+ oauth2_scopes=None,
security_source=get_security_from_env(
self.sdk_configuration.security, models.Security
),
@@ -947,6 +963,7 @@ def void_transaction(
"json",
Optional[models.CreditCardVoid],
),
+ allow_empty_value=None,
timeout_ms=timeout_ms,
)
@@ -963,7 +980,7 @@ def void_transaction(
config=self.sdk_configuration,
base_url=base_url or "",
operation_id="voidTransaction",
- oauth2_scopes=[],
+ oauth2_scopes=None,
security_source=get_security_from_env(
self.sdk_configuration.security, models.Security
),
@@ -1053,6 +1070,7 @@ async def void_transaction_async(
"json",
Optional[models.CreditCardVoid],
),
+ allow_empty_value=None,
timeout_ms=timeout_ms,
)
@@ -1069,7 +1087,7 @@ async def void_transaction_async(
config=self.sdk_configuration,
base_url=base_url or "",
operation_id="voidTransaction",
- oauth2_scopes=[],
+ oauth2_scopes=None,
security_source=get_security_from_env(
self.sdk_configuration.security, models.Security
),
@@ -1145,6 +1163,7 @@ def get_transaction_details(
accept_header_value="application/json",
http_headers=http_headers,
security=self.sdk_configuration.security,
+ allow_empty_value=None,
timeout_ms=timeout_ms,
)
@@ -1161,7 +1180,7 @@ def get_transaction_details(
config=self.sdk_configuration,
base_url=base_url or "",
operation_id="getTransactionDetails",
- oauth2_scopes=[],
+ oauth2_scopes=None,
security_source=get_security_from_env(
self.sdk_configuration.security, models.Security
),
@@ -1237,6 +1256,7 @@ async def get_transaction_details_async(
accept_header_value="application/json",
http_headers=http_headers,
security=self.sdk_configuration.security,
+ allow_empty_value=None,
timeout_ms=timeout_ms,
)
@@ -1253,7 +1273,7 @@ async def get_transaction_details_async(
config=self.sdk_configuration,
base_url=base_url or "",
operation_id="getTransactionDetails",
- oauth2_scopes=[],
+ oauth2_scopes=None,
security_source=get_security_from_env(
self.sdk_configuration.security, models.Security
),
@@ -1344,6 +1364,7 @@ def update_transaction(
"json",
Optional[models.TransactionUpdateInput],
),
+ allow_empty_value=None,
timeout_ms=timeout_ms,
)
@@ -1360,7 +1381,7 @@ def update_transaction(
config=self.sdk_configuration,
base_url=base_url or "",
operation_id="updateTransaction",
- oauth2_scopes=[],
+ oauth2_scopes=None,
security_source=get_security_from_env(
self.sdk_configuration.security, models.Security
),
@@ -1451,6 +1472,7 @@ async def update_transaction_async(
"json",
Optional[models.TransactionUpdateInput],
),
+ allow_empty_value=None,
timeout_ms=timeout_ms,
)
@@ -1467,7 +1489,7 @@ async def update_transaction_async(
config=self.sdk_configuration,
base_url=base_url or "",
operation_id="updateTransaction",
- oauth2_scopes=[],
+ oauth2_scopes=None,
security_source=get_security_from_env(
self.sdk_configuration.security, models.Security
),
diff --git a/src/bolt_api_sdk/types/basemodel.py b/src/bolt_api_sdk/types/basemodel.py
index 231c2e3..a9a640a 100644
--- a/src/bolt_api_sdk/types/basemodel.py
+++ b/src/bolt_api_sdk/types/basemodel.py
@@ -2,7 +2,8 @@
from pydantic import ConfigDict, model_serializer
from pydantic import BaseModel as PydanticBaseModel
-from typing import TYPE_CHECKING, Literal, Optional, TypeVar, Union
+from pydantic_core import core_schema
+from typing import TYPE_CHECKING, Any, Literal, Optional, TypeVar, Union
from typing_extensions import TypeAliasType, TypeAlias
@@ -35,5 +36,42 @@ def __bool__(self) -> Literal[False]:
"OptionalNullable", Union[Optional[Nullable[T]], Unset], type_params=(T,)
)
-UnrecognizedInt: TypeAlias = int
-UnrecognizedStr: TypeAlias = str
+
+class UnrecognizedStr(str):
+ @classmethod
+ def __get_pydantic_core_schema__(cls, _source_type: Any, _handler: Any) -> core_schema.CoreSchema:
+ # Make UnrecognizedStr only work in lax mode, not strict mode
+ # This makes it a "fallback" option when more specific types (like Literals) don't match
+ def validate_lax(v: Any) -> 'UnrecognizedStr':
+ if isinstance(v, cls):
+ return v
+ return cls(str(v))
+
+ # Use lax_or_strict_schema where strict always fails
+ # This forces Pydantic to prefer other union members in strict mode
+ # and only fall back to UnrecognizedStr in lax mode
+ return core_schema.lax_or_strict_schema(
+ lax_schema=core_schema.chain_schema([
+ core_schema.str_schema(),
+ core_schema.no_info_plain_validator_function(validate_lax)
+ ]),
+ strict_schema=core_schema.none_schema(), # Always fails in strict mode
+ )
+
+
+class UnrecognizedInt(int):
+ @classmethod
+ def __get_pydantic_core_schema__(cls, _source_type: Any, _handler: Any) -> core_schema.CoreSchema:
+ # Make UnrecognizedInt only work in lax mode, not strict mode
+ # This makes it a "fallback" option when more specific types (like Literals) don't match
+ def validate_lax(v: Any) -> 'UnrecognizedInt':
+ if isinstance(v, cls):
+ return v
+ return cls(int(v))
+ return core_schema.lax_or_strict_schema(
+ lax_schema=core_schema.chain_schema([
+ core_schema.int_schema(),
+ core_schema.no_info_plain_validator_function(validate_lax)
+ ]),
+ strict_schema=core_schema.none_schema(), # Always fails in strict mode
+ )
diff --git a/src/bolt_api_sdk/utils/__init__.py b/src/bolt_api_sdk/utils/__init__.py
index 87192dd..f4525b2 100644
--- a/src/bolt_api_sdk/utils/__init__.py
+++ b/src/bolt_api_sdk/utils/__init__.py
@@ -1,10 +1,22 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
-from typing import TYPE_CHECKING
+from typing import TYPE_CHECKING, Callable, TypeVar
from importlib import import_module
+import asyncio
import builtins
import sys
+_T = TypeVar("_T")
+
+
+async def run_sync_in_thread(func: Callable[..., _T], *args) -> _T:
+ """Run a synchronous function in a thread pool to avoid blocking the event loop."""
+ if sys.version_info >= (3, 9):
+ return await asyncio.to_thread(func, *args)
+ loop = asyncio.get_event_loop()
+ return await loop.run_in_executor(None, func, *args)
+
+
if TYPE_CHECKING:
from .annotations import get_discriminator
from .datetimes import parse_datetime
@@ -42,7 +54,6 @@
validate_decimal,
validate_float,
validate_int,
- validate_open_enum,
)
from .url import generate_url, template_url, remove_suffix
from .values import (
@@ -104,7 +115,6 @@
"validate_const",
"validate_float",
"validate_int",
- "validate_open_enum",
"cast_partial",
]
@@ -158,7 +168,6 @@
"validate_const": ".serializers",
"validate_float": ".serializers",
"validate_int": ".serializers",
- "validate_open_enum": ".serializers",
"cast_partial": ".values",
}
diff --git a/src/bolt_api_sdk/utils/enums.py b/src/bolt_api_sdk/utils/enums.py
index c3bc13c..3324e1b 100644
--- a/src/bolt_api_sdk/utils/enums.py
+++ b/src/bolt_api_sdk/utils/enums.py
@@ -2,6 +2,10 @@
import enum
import sys
+from typing import Any
+
+from pydantic_core import core_schema
+
class OpenEnumMeta(enum.EnumMeta):
# The __call__ method `boundary` kwarg was added in 3.11 and must be present
@@ -72,3 +76,59 @@ def __call__(
)
except ValueError:
return value
+
+ def __new__(mcs, name, bases, namespace, **kwargs):
+ cls = super().__new__(mcs, name, bases, namespace, **kwargs)
+
+ # Add __get_pydantic_core_schema__ to make open enums work correctly
+ # in union discrimination. In strict mode (used by Pydantic for unions),
+ # only known enum values match. In lax mode, unknown values are accepted.
+ def __get_pydantic_core_schema__(
+ cls_inner: Any, _source_type: Any, _handler: Any
+ ) -> core_schema.CoreSchema:
+ # Create a validator that only accepts known enum values (for strict mode)
+ def validate_strict(v: Any) -> Any:
+ if isinstance(v, cls_inner):
+ return v
+ # Use the parent EnumMeta's __call__ which raises ValueError for unknown values
+ return enum.EnumMeta.__call__(cls_inner, v)
+
+ # Create a lax validator that accepts unknown values
+ def validate_lax(v: Any) -> Any:
+ if isinstance(v, cls_inner):
+ return v
+ try:
+ return enum.EnumMeta.__call__(cls_inner, v)
+ except ValueError:
+ # Return the raw value for unknown enum values
+ return v
+
+ # Determine the base type schema (str or int)
+ is_int_enum = False
+ for base in cls_inner.__mro__:
+ if base is int:
+ is_int_enum = True
+ break
+ if base is str:
+ break
+
+ base_schema = (
+ core_schema.int_schema()
+ if is_int_enum
+ else core_schema.str_schema()
+ )
+
+ # Use lax_or_strict_schema:
+ # - strict mode: only known enum values match (raises ValueError for unknown)
+ # - lax mode: accept any value, return enum member or raw value
+ return core_schema.lax_or_strict_schema(
+ lax_schema=core_schema.chain_schema(
+ [base_schema, core_schema.no_info_plain_validator_function(validate_lax)]
+ ),
+ strict_schema=core_schema.chain_schema(
+ [base_schema, core_schema.no_info_plain_validator_function(validate_strict)]
+ ),
+ )
+
+ setattr(cls, "__get_pydantic_core_schema__", classmethod(__get_pydantic_core_schema__))
+ return cls
diff --git a/src/bolt_api_sdk/utils/forms.py b/src/bolt_api_sdk/utils/forms.py
index e873495..f961e76 100644
--- a/src/bolt_api_sdk/utils/forms.py
+++ b/src/bolt_api_sdk/utils/forms.py
@@ -142,16 +142,21 @@ def serialize_multipart_form(
if field_metadata.file:
if isinstance(val, List):
# Handle array of files
+ array_field_name = f_name + "[]"
for file_obj in val:
if not _is_set(file_obj):
continue
-
- file_name, content, content_type = _extract_file_properties(file_obj)
+
+ file_name, content, content_type = _extract_file_properties(
+ file_obj
+ )
if content_type is not None:
- files.append((f_name + "[]", (file_name, content, content_type)))
+ files.append(
+ (array_field_name, (file_name, content, content_type))
+ )
else:
- files.append((f_name + "[]", (file_name, content)))
+ files.append((array_field_name, (file_name, content)))
else:
# Handle single file
file_name, content, content_type = _extract_file_properties(val)
@@ -161,11 +166,16 @@ def serialize_multipart_form(
else:
files.append((f_name, (file_name, content)))
elif field_metadata.json:
- files.append((f_name, (
- None,
- marshal_json(val, request_field_types[name]),
- "application/json",
- )))
+ files.append(
+ (
+ f_name,
+ (
+ None,
+ marshal_json(val, request_field_types[name]),
+ "application/json",
+ ),
+ )
+ )
else:
if isinstance(val, List):
values = []
@@ -175,7 +185,8 @@ def serialize_multipart_form(
continue
values.append(_val_to_string(value))
- form[f_name + "[]"] = values
+ array_field_name = f_name + "[]"
+ form[array_field_name] = values
else:
form[f_name] = _val_to_string(val)
return media_type, form, files
diff --git a/src/bolt_api_sdk/utils/queryparams.py b/src/bolt_api_sdk/utils/queryparams.py
index 37a6e7f..c04e0db 100644
--- a/src/bolt_api_sdk/utils/queryparams.py
+++ b/src/bolt_api_sdk/utils/queryparams.py
@@ -27,12 +27,13 @@
def get_query_params(
query_params: Any,
gbls: Optional[Any] = None,
+ allow_empty_value: Optional[List[str]] = None,
) -> Dict[str, List[str]]:
params: Dict[str, List[str]] = {}
- globals_already_populated = _populate_query_params(query_params, gbls, params, [])
+ globals_already_populated = _populate_query_params(query_params, gbls, params, [], allow_empty_value)
if _is_set(gbls):
- _populate_query_params(gbls, None, params, globals_already_populated)
+ _populate_query_params(gbls, None, params, globals_already_populated, allow_empty_value)
return params
@@ -42,6 +43,7 @@ def _populate_query_params(
gbls: Any,
query_param_values: Dict[str, List[str]],
skip_fields: List[str],
+ allow_empty_value: Optional[List[str]] = None,
) -> List[str]:
globals_already_populated: List[str] = []
@@ -69,6 +71,16 @@ def _populate_query_params(
globals_already_populated.append(name)
f_name = field.alias if field.alias is not None else name
+
+ allow_empty_set = set(allow_empty_value or [])
+ should_include_empty = f_name in allow_empty_set and (
+ value is None or value == [] or value == ""
+ )
+
+ if should_include_empty:
+ query_param_values[f_name] = [""]
+ continue
+
serialization = metadata.serialization
if serialization is not None:
serialized_parms = _get_serialized_params(
diff --git a/src/bolt_api_sdk/utils/requestbodies.py b/src/bolt_api_sdk/utils/requestbodies.py
index d5240dd..1de32b6 100644
--- a/src/bolt_api_sdk/utils/requestbodies.py
+++ b/src/bolt_api_sdk/utils/requestbodies.py
@@ -44,15 +44,15 @@ def serialize_request_body(
serialized_request_body = SerializedRequestBody(media_type)
- if re.match(r"(application|text)\/.*?\+*json.*", media_type) is not None:
+ if re.match(r"^(application|text)\/([^+]+\+)*json.*", media_type) is not None:
serialized_request_body.content = marshal_json(request_body, request_body_type)
- elif re.match(r"multipart\/.*", media_type) is not None:
+ elif re.match(r"^multipart\/.*", media_type) is not None:
(
serialized_request_body.media_type,
serialized_request_body.data,
serialized_request_body.files,
) = serialize_multipart_form(media_type, request_body)
- elif re.match(r"application\/x-www-form-urlencoded.*", media_type) is not None:
+ elif re.match(r"^application\/x-www-form-urlencoded.*", media_type) is not None:
serialized_request_body.data = serialize_form_data(request_body)
elif isinstance(request_body, (bytes, bytearray, io.BytesIO, io.BufferedReader)):
serialized_request_body.content = request_body
diff --git a/src/bolt_api_sdk/utils/retries.py b/src/bolt_api_sdk/utils/retries.py
index 4d60867..88a91b1 100644
--- a/src/bolt_api_sdk/utils/retries.py
+++ b/src/bolt_api_sdk/utils/retries.py
@@ -3,7 +3,9 @@
import asyncio
import random
import time
-from typing import List
+from datetime import datetime
+from email.utils import parsedate_to_datetime
+from typing import List, Optional
import httpx
@@ -51,9 +53,11 @@ def __init__(self, config: RetryConfig, status_codes: List[str]):
class TemporaryError(Exception):
response: httpx.Response
+ retry_after: Optional[int]
def __init__(self, response: httpx.Response):
self.response = response
+ self.retry_after = _parse_retry_after_header(response)
class PermanentError(Exception):
@@ -63,6 +67,62 @@ def __init__(self, inner: Exception):
self.inner = inner
+def _parse_retry_after_header(response: httpx.Response) -> Optional[int]:
+ """Parse Retry-After header from response.
+
+ Returns:
+ Retry interval in milliseconds, or None if header is missing or invalid.
+ """
+ retry_after_header = response.headers.get("retry-after")
+ if not retry_after_header:
+ return None
+
+ try:
+ seconds = float(retry_after_header)
+ return round(seconds * 1000)
+ except ValueError:
+ pass
+
+ try:
+ retry_date = parsedate_to_datetime(retry_after_header)
+ delta = (retry_date - datetime.now(retry_date.tzinfo)).total_seconds()
+ return round(max(0, delta) * 1000)
+ except (ValueError, TypeError):
+ pass
+
+ return None
+
+
+def _get_sleep_interval(
+ exception: Exception,
+ initial_interval: int,
+ max_interval: int,
+ exponent: float,
+ retries: int,
+) -> float:
+ """Get sleep interval for retry with exponential backoff.
+
+ Args:
+ exception: The exception that triggered the retry.
+ initial_interval: Initial retry interval in milliseconds.
+ max_interval: Maximum retry interval in milliseconds.
+ exponent: Base for exponential backoff calculation.
+ retries: Current retry attempt count.
+
+ Returns:
+ Sleep interval in seconds.
+ """
+ if (
+ isinstance(exception, TemporaryError)
+ and exception.retry_after is not None
+ and exception.retry_after > 0
+ ):
+ return exception.retry_after / 1000
+
+ sleep = (initial_interval / 1000) * exponent**retries + random.uniform(0, 1)
+ return min(sleep, max_interval / 1000)
+
+
def retry(func, retries: Retries):
if retries.config.strategy == "backoff":
@@ -183,8 +243,10 @@ def retry_with_backoff(
return exception.response
raise
- sleep = (initial_interval / 1000) * exponent**retries + random.uniform(0, 1)
- sleep = min(sleep, max_interval / 1000)
+
+ sleep = _get_sleep_interval(
+ exception, initial_interval, max_interval, exponent, retries
+ )
time.sleep(sleep)
retries += 1
@@ -211,7 +273,9 @@ async def retry_with_backoff_async(
return exception.response
raise
- sleep = (initial_interval / 1000) * exponent**retries + random.uniform(0, 1)
- sleep = min(sleep, max_interval / 1000)
+
+ sleep = _get_sleep_interval(
+ exception, initial_interval, max_interval, exponent, retries
+ )
await asyncio.sleep(sleep)
retries += 1
diff --git a/src/bolt_api_sdk/utils/serializers.py b/src/bolt_api_sdk/utils/serializers.py
index 378a14c..14321eb 100644
--- a/src/bolt_api_sdk/utils/serializers.py
+++ b/src/bolt_api_sdk/utils/serializers.py
@@ -102,26 +102,6 @@ def validate_int(b):
return int(b)
-def validate_open_enum(is_int: bool):
- def validate(e):
- if e is None:
- return None
-
- if isinstance(e, Unset):
- return e
-
- if is_int:
- if not isinstance(e, int):
- raise ValueError("Expected int")
- else:
- if not isinstance(e, str):
- raise ValueError("Expected string")
-
- return e
-
- return validate
-
-
def validate_const(v):
def validate(c):
# Optional[T] is a Union[T, None]
diff --git a/src/bolt_api_sdk/utils/unmarshal_json_response.py b/src/bolt_api_sdk/utils/unmarshal_json_response.py
index 30f52d8..0dc6b0c 100644
--- a/src/bolt_api_sdk/utils/unmarshal_json_response.py
+++ b/src/bolt_api_sdk/utils/unmarshal_json_response.py
@@ -1,12 +1,26 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
-from typing import Any, Optional
+from typing import Any, Optional, Type, TypeVar, overload
import httpx
from .serializers import unmarshal_json
from bolt_api_sdk import errors
+T = TypeVar("T")
+
+
+@overload
+def unmarshal_json_response(
+ typ: Type[T], http_res: httpx.Response, body: Optional[str] = None
+) -> T: ...
+
+
+@overload
+def unmarshal_json_response(
+ typ: Any, http_res: httpx.Response, body: Optional[str] = None
+) -> Any: ...
+
def unmarshal_json_response(
typ: Any, http_res: httpx.Response, body: Optional[str] = None
diff --git a/src/bolt_api_sdk/webhooks.py b/src/bolt_api_sdk/webhooks.py
index 257ce45..4e77e5b 100644
--- a/src/bolt_api_sdk/webhooks.py
+++ b/src/bolt_api_sdk/webhooks.py
@@ -58,6 +58,7 @@ def query_webhooks(
accept_header_value="application/json",
http_headers=http_headers,
security=self.sdk_configuration.security,
+ allow_empty_value=None,
timeout_ms=timeout_ms,
)
@@ -74,7 +75,7 @@ def query_webhooks(
config=self.sdk_configuration,
base_url=base_url or "",
operation_id="queryWebhooks",
- oauth2_scopes=[],
+ oauth2_scopes=None,
security_source=get_security_from_env(
self.sdk_configuration.security, models.Security
),
@@ -147,6 +148,7 @@ async def query_webhooks_async(
accept_header_value="application/json",
http_headers=http_headers,
security=self.sdk_configuration.security,
+ allow_empty_value=None,
timeout_ms=timeout_ms,
)
@@ -163,7 +165,7 @@ async def query_webhooks_async(
config=self.sdk_configuration,
base_url=base_url or "",
operation_id="queryWebhooks",
- oauth2_scopes=[],
+ oauth2_scopes=None,
security_source=get_security_from_env(
self.sdk_configuration.security, models.Security
),
@@ -241,6 +243,7 @@ def create_webhook(
get_serialized_body=lambda: utils.serialize_request_body(
request, False, False, "json", models.CreateWebhookRequest
),
+ allow_empty_value=None,
timeout_ms=timeout_ms,
)
@@ -257,7 +260,7 @@ def create_webhook(
config=self.sdk_configuration,
base_url=base_url or "",
operation_id="createWebhook",
- oauth2_scopes=[],
+ oauth2_scopes=None,
security_source=get_security_from_env(
self.sdk_configuration.security, models.Security
),
@@ -335,6 +338,7 @@ async def create_webhook_async(
get_serialized_body=lambda: utils.serialize_request_body(
request, False, False, "json", models.CreateWebhookRequest
),
+ allow_empty_value=None,
timeout_ms=timeout_ms,
)
@@ -351,7 +355,7 @@ async def create_webhook_async(
config=self.sdk_configuration,
base_url=base_url or "",
operation_id="createWebhook",
- oauth2_scopes=[],
+ oauth2_scopes=None,
security_source=get_security_from_env(
self.sdk_configuration.security, models.Security
),
@@ -424,6 +428,7 @@ def delete_webhook(
accept_header_value="application/json",
http_headers=http_headers,
security=self.sdk_configuration.security,
+ allow_empty_value=None,
timeout_ms=timeout_ms,
)
@@ -440,7 +445,7 @@ def delete_webhook(
config=self.sdk_configuration,
base_url=base_url or "",
operation_id="deleteWebhook",
- oauth2_scopes=[],
+ oauth2_scopes=None,
security_source=get_security_from_env(
self.sdk_configuration.security, models.Security
),
@@ -513,6 +518,7 @@ async def delete_webhook_async(
accept_header_value="application/json",
http_headers=http_headers,
security=self.sdk_configuration.security,
+ allow_empty_value=None,
timeout_ms=timeout_ms,
)
@@ -529,7 +535,7 @@ async def delete_webhook_async(
config=self.sdk_configuration,
base_url=base_url or "",
operation_id="deleteWebhook",
- oauth2_scopes=[],
+ oauth2_scopes=None,
security_source=get_security_from_env(
self.sdk_configuration.security, models.Security
),
@@ -602,6 +608,7 @@ def get_webhook(
accept_header_value="application/json",
http_headers=http_headers,
security=self.sdk_configuration.security,
+ allow_empty_value=None,
timeout_ms=timeout_ms,
)
@@ -618,7 +625,7 @@ def get_webhook(
config=self.sdk_configuration,
base_url=base_url or "",
operation_id="getWebhook",
- oauth2_scopes=[],
+ oauth2_scopes=None,
security_source=get_security_from_env(
self.sdk_configuration.security, models.Security
),
@@ -691,6 +698,7 @@ async def get_webhook_async(
accept_header_value="application/json",
http_headers=http_headers,
security=self.sdk_configuration.security,
+ allow_empty_value=None,
timeout_ms=timeout_ms,
)
@@ -707,7 +715,7 @@ async def get_webhook_async(
config=self.sdk_configuration,
base_url=base_url or "",
operation_id="getWebhook",
- oauth2_scopes=[],
+ oauth2_scopes=None,
security_source=get_security_from_env(
self.sdk_configuration.security, models.Security
),