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..cece786 100644
--- a/.speakeasy/gen.lock
+++ b/.speakeasy/gen.lock
@@ -1,634 +1,2448 @@
lockVersion: 2.0.0
id: 59dcfa56-8330-4162-8246-092811fc63e8
management:
- docChecksum: eb9c846a65c4ee77004d8294d5b023b0
+ docChecksum: 65c3a50cfb17550a1c72a8fd60694a5d
docVersion: 1.0.1
- speakeasyVersion: 1.631.4
- generationVersion: 2.716.16
- releaseVersion: 0.5.6
- configChecksum: 5c3946002697625b2cb1ae3a4dfce9af
+ speakeasyVersion: 1.755.0
+ generationVersion: 2.865.2
+ releaseVersion: 0.6.0
+ configChecksum: 790de33b60c278a8f6e06571bc0b57e6
+ repoURL: https://github.com/BoltApp/Bolt-Python-SDK.git
+ installationURL: https://github.com/BoltApp/Bolt-Python-SDK.git
published: true
+persistentEdits:
+ generation_id: 4abf690a-0a23-45ef-9c32-f19cf6021275
+ pristine_commit_hash: edd8e4629ecd8e93e13a5262f51d119a5e75cf8c
+ pristine_tree_hash: 907897031cfbf30711db96805d9a87d9f02e3131
features:
python:
additionalDependencies: 1.0.0
- core: 5.22.0
+ core: 6.0.18
defaultEnabledRetries: 0.2.0
devContainers: 3.0.0
- enumUnions: 0.1.0
+ enumUnions: 0.1.1
envVarSecurityUsage: 0.3.2
flatRequests: 1.0.1
flattening: 3.1.1
- globalSecurity: 3.0.4
+ globalSecurity: 3.0.5
globalSecurityCallbacks: 1.0.0
- globalServerURLs: 3.1.1
+ globalServerURLs: 3.2.1
methodArguments: 1.0.2
- methodSecurity: 3.0.1
- nullables: 1.0.1
- 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
+ methodSecurity: 3.0.3
+ nullables: 1.0.2
+ responseFormat: 1.1.0
+ retries: 3.0.4
+ sdkHooks: 1.2.1
+ unions: 3.1.4
+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:08c010a599912c958874e967c38ee5d4cdb075d5
+ pristine_git_object: bb2837d9e401d4a4dc286a0d4ce4d12fc1317be1
+ docs/models/accountidentifierstatus.md:
+ id: 9a5cb0458a5e
+ last_write_checksum: sha1:cc793b6e0af722ce3efdd2596bb42570bf9e339f
+ pristine_git_object: cc3a569c4f609eb8bb81bf9d2c3924b9aa1d85f6
+ docs/models/action.md:
+ id: 3b583d6a609e
+ last_write_checksum: sha1:7f6da2bca329e6c24328453c14755a9a2ccfa862
+ pristine_git_object: 9080f68faf9e62d9769cb1ce13d9f64aec399381
+ docs/models/addaddresspriority.md:
+ id: 1df5eef28071
+ last_write_checksum: sha1:09f38fad1844dd33f92f6fc30cf24fd4c087a177
+ pristine_git_object: e7b0e8703d268c56aa694d7c3e32dfb39cb39a01
+ 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:a1cc9bfb78fd1955d23672c00cdbf1d8894536f9
+ pristine_git_object: 0967b95d0bdfa09e1630c3781dccaaf48dcbf5e7
+ docs/models/addpaymentmethodpriority.md:
+ id: eaa283037f84
+ last_write_checksum: sha1:39299abe26b12b6e2ad401241de0631d83c55d4b
+ pristine_git_object: afc15d88f2ec722f159ad3db45bc9210a2668ca6
+ 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:12639273ce6b264bf77334115cb894478b0ee791
+ pristine_git_object: 735e2a211c7120682469b78a6bbde6a460e6feb1
+ 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:160596baa8541f41a9f5019ecad72967df6d0432
+ pristine_git_object: 53404055effddc5825770b966963d6eee4385c80
+ 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:e2784f43eb04c4128fe2e9b53486c2ae01176b79
+ pristine_git_object: 6f063f44e55414420e1781dab7c87f273e94d2c1
+ 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:f53289a4a77437efa86279d4dcbce1840dcca034
+ pristine_git_object: 4216a66232aab6184ef3370084db68b9227c0289
+ docs/models/avsresponse.md:
+ id: 9a31dcd038fd
+ last_write_checksum: sha1:e8c2686e7851c6185a2faa0b0b98c7a2d6c0dc0e
+ pristine_git_object: ac774bae0c07a01fa8a88053a1b1e9e90cdd161f
+ docs/models/capturestatus.md:
+ id: 63921a2efab7
+ last_write_checksum: sha1:72c33d8da08d99c6691c624496adce7d6cf57b6a
+ pristine_git_object: c019d88e49810f2f5362149b56467d7e0e509340
+ 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:1bfd378d2abc5918dd0f274577ba0f6b5fd7a910
+ pristine_git_object: 07728af343bc0a44ba9ff966d41f10054807c072
+ docs/models/carddisplaynetwork.md:
+ id: d7d70cb7fbcb
+ last_write_checksum: sha1:c8266c0c456408722ee33e35c7f8dfae9edd9979
+ pristine_git_object: 563bc50f148c5fc781626c0dbf635ca78b3881fe
+ docs/models/cardnetwork.md:
+ id: 4e3c09fde8ce
+ last_write_checksum: sha1:a499b9777dbb469bd2750259824ecd2051b6adf5
+ pristine_git_object: 378a37129b790162b4c554dcaaa4f2a7176eb2aa
+ docs/models/cardstatus.md:
+ id: efa2c17f660f
+ last_write_checksum: sha1:976f60822e5fb31866fa3cb8423bdea9e2b7b9f8
+ pristine_git_object: 01dcb2a599814a6a826329d09cf8584277924266
+ docs/models/cardtokentype.md:
+ id: 40c0081d87e7
+ last_write_checksum: sha1:25907f83888b006584230931cddb5304e8d813e4
+ pristine_git_object: 9775e80317908c98939919bc183547754d51ce5f
+ 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:138614ce8bcfb8141b9441849b2bfb65a1eab4ce
+ pristine_git_object: dc14001e864ed4c6c5c9a5d5c0f526aaaecdfbf1
+ docs/models/cartdiscounttype.md:
+ id: 999d39d58923
+ last_write_checksum: sha1:6c923a9115188f91fe109bf4b5e50b58c87cd7ff
+ pristine_git_object: 30ee7ba381a1d836c4e369af42b3fc9604fdafbb
+ 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:f98e5dfa523a0edbc257949767f670737e6054dd
+ pristine_git_object: 9a515e212b5806fb7d773306a016cfa9da4657ca
+ docs/models/cartitemtype.md:
+ id: de8eda83c092
+ last_write_checksum: sha1:1b2f2f1995e305317976bfd81de1030346fece08
+ pristine_git_object: 9dc2c1d204fc4814260e902e07c27a77840bbccb
+ 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:46b5b21bd88db3582c6e76e2a822ebc51d6d3e74
+ pristine_git_object: 9ad99aa3ff00957f8acbe8a01572274512dbe03e
+ 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:fbd38ffb29083c7d263c9d794afc09ba07dabc5d
+ pristine_git_object: bd89a64f9f983f2e528a828ea025612b3a97be08
+ 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:8b7b3f583e2f639216abb9fea6d02089d2840d0a
+ pristine_git_object: be1602d9400482a006d378979d3f81320e3614d4
+ docs/models/chargebackrepresentmentresult.md:
+ id: 9e476eeef8f8
+ last_write_checksum: sha1:a0ac0cc059afd9859b7a991c26a6400faad3b4ce
+ pristine_git_object: f81483119835e74293530643f290f44ec9c71c09
+ docs/models/checkoutsetup.md:
+ id: ac8a86b1ca9a
+ last_write_checksum: sha1:905b5b86365d6dcbf6af84fd374cb718279b5448
+ pristine_git_object: f7c03c8d56967e50c1c2b161a7100bdfce3bbd89
+ 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:661139d6c39f8dd1368b56f9857b38b7deabeb60
+ pristine_git_object: 3f3fd3e9afabd4343f4e56d4fae1f757b32a09ff
+ 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:e0b6bc5f0b2a919011a3e775f17619f8c40e9f1a
+ pristine_git_object: 9c14c6aeb693708ac63336f6dd09f93e5c673da3
+ docs/models/creditcardauthorizationreason.md:
+ id: 96a626c4f9fd
+ last_write_checksum: sha1:9d2579c1b04aedf482388fac1ba73331405dcd36
+ pristine_git_object: 179ea4e0f8fa9eed451ad784ba35ca30586d1f43
+ docs/models/creditcardauthorizationstatus.md:
+ id: 7536a108996b
+ last_write_checksum: sha1:a6f777c770803108bb5be94607e4ac6fa4f041b0
+ pristine_git_object: 8666e3267d3f237d285445695f1613084b1f7cd7
+ 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:a8b7bd5789d7c04fd2e391b71b19651db9d577a6
+ pristine_git_object: 50eebbadf89e6d788e3f920ad9061a76949406b0
+ docs/models/creditcardpriority.md:
+ id: af17bf0d0656
+ last_write_checksum: sha1:115106a83f931a74d6dc25a908c70eaa4b6e7361
+ pristine_git_object: de65de5fe72ab066e4eab3e7cf91587796e2aed6
+ docs/models/creditcardtokentype.md:
+ id: b5dbe4d217b4
+ last_write_checksum: sha1:e077fc5ce96b6f2bcc78484086f583e48dfacea8
+ pristine_git_object: 8ccda32a387e6586847cfe71b2280e18991f5ef7
+ 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:1145753d70b2864a5b3ddebdc475ccc79eb3b4b4
+ pristine_git_object: 9c0dcbcbacec90c5562c9fa413f48b59ab87dd33
+ docs/models/creditcardvoidstatus.md:
+ id: 3cd94bbed536
+ last_write_checksum: sha1:aa6f1fbe3675946cc9edade0629a2acf76ecda59
+ pristine_git_object: 5d77e85e02b664e9902c30be98829923706e70f1
+ 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:3b6b73247a094c83e919ae810405d7f5a1a15efe
+ pristine_git_object: 731fd1a90f5af21771fe786d4efe10b7803a64e2
+ 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:0f0228434d0a13428120c39d07a139317cf1bffa
+ pristine_git_object: 3255af78e7169dba87ab72da13b30e34db2b90bb
+ docs/models/customfieldviewcontext.md:
+ id: 87fa723aae0a
+ last_write_checksum: sha1:d26096564a37affcab10793c5581d36373acc5e0
+ pristine_git_object: 53f5368983267ca7302f8b120750764416ca06ea
+ 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:d34a82f752530c3318f6f7e7f3c86af335307fe7
+ pristine_git_object: c4613c9b6e0c950370cfafd584809a9a28f12dc6
+ docs/models/decision.md:
+ id: 599240f83696
+ last_write_checksum: sha1:9a924c39cdf6f46cc946991888f7cfaa1d2653e8
+ pristine_git_object: 565e15fffdecb38ce842cf23aea0a131d7536920
+ 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:383f6da366736e40dd66eec21861f638bbccc00c
+ pristine_git_object: 163c3a914e7740b4c1cae87307252de8e5f6d27b
+ 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:04d6d6365582e79cd78ae708644a13725ae4553a
+ pristine_git_object: 93aa7c6c5a2618476e855dbd473ff9a59e9cb71d
+ 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:70e17ed1be7cf2a6f54ade737cb1695bb5787e87
+ pristine_git_object: df82bccd8c04cb2e3f1b7a12ff852cd5ba1eb9cb
+ 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:60b846ce3d4c76044cadbe37af43f169eafb27ff
+ pristine_git_object: 9542cb43e6f6dec61fcb3c1fa24469d9d2ff2293
+ 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:d272896b32a5fab2d77633a2e09eed8df6c76875
+ pristine_git_object: a0be8d9023026d7588738fd54db9bc9c67a90d4a
+ docs/models/hooktype.md:
+ id: 23a32598ec23
+ last_write_checksum: sha1:347e05c610dcd8f4ce9ed5ab0ecbcf2615159739
+ pristine_git_object: 236e2d5fdb5f7f52acee16e357794a82a5e5b468
+ 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:8bcfa1e112b573fc624fac208a7c387621cb6b49
+ pristine_git_object: 13487c86cef92abb624348ffe29997440571f07a
+ 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:1f94295a09c10c3b3d27144f805ec9a0465e3e84
+ pristine_git_object: 765ec60954393dc9aec8a43a092f38c8233e1a04
+ docs/models/icartitemviewtype.md:
+ id: 7ab7d4db679e
+ last_write_checksum: sha1:bb67d60b361bc25c75c7434a3fcde9ad47ef5784
+ pristine_git_object: 344f4017e358ba85a3d794523953463a4259d36d
+ 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:36d44e56f610883659908e4d30cb9b82181675ea
+ pristine_git_object: 3f0f47b49827142343547345ebbdc881550a060c
+ docs/models/icustomfieldviewcontext.md:
+ id: f0f4bc1abe61
+ last_write_checksum: sha1:299d560da2ab22dcb0ee4f73ab5e821ad294c4ec
+ pristine_git_object: 1d343afd74dad404d0019089b0f299c133dced56
+ 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:ba0974f316b85cce572cc22b34369662ad55ed8e
+ pristine_git_object: 70b5164b850274a77c4715b6b730a3c2e63d034d
+ 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:740e7e24aa036b7249501e9fc373f1a10ee8aee0
+ pristine_git_object: 00ec9223bf3c7e146e6bca4e393771714ae07526
+ 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:d61d059488576f508daf95fdc7f6b8ebd14850a3
+ pristine_git_object: 028d1b0618e31107dfafd8ef78ac9992c654a642
+ 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:892785769355cca700b2d942a4f651ad27e12b01
+ pristine_git_object: 09213e3e0defc301a7f0d14e01c91660e96ffbcf
+ 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:69ac5117fa8a666811beb77b5e44da9d266e2cdb
+ pristine_git_object: dee499f60ed3fa10c5c9aec1e5b9213c65b20e6e
+ 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:9a12b4d265b359745d2d78b9afa65791ae09ac14
+ pristine_git_object: fd37436d807e2515b22b08c35459f5d11e020802
+ 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:10ffee6414b1b91997bda6f5f9b76cbc6d8ea39f
+ pristine_git_object: e2a7dc18917a386fbe1c683ecd405a880ee0e0fe
+ 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:8c3c3babe3d7f4c17744f265fdcad4a9e41f64dd
+ pristine_git_object: a7b9d3de63901f560771aa3c36a95c843af9c497
+ docs/models/merchantcreditcardauthorizationsource.md:
+ id: 99b3ba1b9f00
+ last_write_checksum: sha1:312dc2d066cccc36cac086fe04e9db9e1145ddfc
+ pristine_git_object: cf10c13c08ff2a1d57de1a8c5b5e90b8977efac0
+ 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:8674b7dbbcc7aeab7d00a08e1ae0de343c38879f
+ pristine_git_object: 780603173cd5c6d717602086c8e58ab23073113b
+ docs/models/merchantplatform.md:
+ id: 649e6aafaf17
+ last_write_checksum: sha1:61c8e8fb994ada9aa975355f0d5bbc433c7d0228
+ pristine_git_object: 539809b5528683c226e2fe0b8239df27ec3d95c3
+ docs/models/merchantstatus.md:
+ id: 985dcf571c11
+ last_write_checksum: sha1:6890d61c922861855696040f38d220243f2a6c8d
+ pristine_git_object: c9dc4fa3ee43befb79301544bf28e0c122dbb5fe
+ 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:fe6457752f6080b914a56dd42a4a3c10b07ebb36
+ pristine_git_object: d86c3de950c7e8ee1f43aef4f6895a05975552ad
+ 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:0a071f2a4caacd46f9a4b08939563146656f9683
+ pristine_git_object: d92b5b6042b8228c18480fa4671f0388b7d59742
+ docs/models/network.md:
+ id: bdc3d78aa19e
+ last_write_checksum: sha1:d700d55c0d1450293551facdab8fa57de6fbc276
+ pristine_git_object: 74fb045f29c9e86bd3b906c94d36ad7cdf49c6ff
+ 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:9e61023a009f23b44dd9de36b83bd81c65103c62
+ pristine_git_object: b68e3169a4fe1a0c54ded94cdf880c8cb27ed2a1
+ 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:bfe4dc3813dbe7f5916a4105688b803b67991aff
+ pristine_git_object: 6af28fe95518ce6c161230b8e29762151dbd6dbf
+ 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:3a53d29e947baad5a768377020f936a67e23ed32
+ pristine_git_object: 77c843c1f3ca2bf597a20e906fd515689d1abf95
+ docs/models/paymentmethodaccounttokentype.md:
+ id: 53a58ec4503f
+ last_write_checksum: sha1:6fb8ce523cae130e3d1f2d6184812c65f9a2ad5d
+ pristine_git_object: 2e51f0f1cc35495068c84458c085f9a4e8d151b2
+ docs/models/paymentservice.md:
+ id: cc0e491ca808
+ last_write_checksum: sha1:85efd9484c5f71bf83f6c1dca37c2ce3a6178188
+ pristine_git_object: 2109b41dc65e5222374efe9b2375e9fa21728807
+ docs/models/phonepriority.md:
+ id: 9bcce73508a8
+ last_write_checksum: sha1:ce46b8a563feca7c4788b8e129ad102eadc5acd0
+ pristine_git_object: 35c98ba13f1c125fd0e4c592a51dd18f25ff43b8
+ docs/models/phonestatus.md:
+ id: 50c21f12ae43
+ last_write_checksum: sha1:67d35a5489aa9ae4dce266cced234042862d6d87
+ pristine_git_object: eaebfcc72b4e45e6b10aa301ecefc9eda617ab68
+ 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:b0e523b6bd32ac4c1a9c0cbddc82e27e37f3c892
+ pristine_git_object: 998afd50e0903a838e4123f2f34888cbffbed68e
+ docs/models/platformaccountstatus.md:
+ id: 3494a3a1f87c
+ last_write_checksum: sha1:d438e8b00f0336416befe10e6c6f9425b2f6f3bd
+ pristine_git_object: d798cb90745441492013246bfaa7d26612d905c4
+ docs/models/priority.md:
+ id: 41237b71cfaa
+ last_write_checksum: sha1:92582c508e22bf31646066d1da95321fefc65040
+ pristine_git_object: b51a21615fab2e454512f8e595137b5bc03d7f03
+ docs/models/processinginitiator.md:
+ id: 9befb41d4ecf
+ last_write_checksum: sha1:cfa1b688927481263356dbc0d435f6029f13a633
+ pristine_git_object: e4b54bb3630f32091c12f42dbf67eefc4ac422f1
+ docs/models/processor.md:
+ id: e77acb454265
+ last_write_checksum: sha1:02c5cdb42c4433168ba3f114cfa71d866851aee2
+ pristine_git_object: bd8a430c64fb666a59117dc2cb1efdbad14af481
+ 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:dfd1d2437dc87bfa4c74b3b40c19afc4b5e5939a
+ pristine_git_object: 6111c94b3501e1cec73da023c01c6750be882f34
+ 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:b6898091ae974bb8c0780cd083e717a176c3f0f8
+ pristine_git_object: de1bb198583d3526acde1c6737ce008cf6934bc9
+ 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:40a85839c7cafb279c6362012c0798bc61ae6b6a
+ pristine_git_object: ff39aea9ed3bafb47218322d3106739d2a3953d4
+ 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:3c6c2f12c783ada59898b8d7c84c323e44cb3a8d
+ pristine_git_object: 9fc52515e4cff0ea9aa0044ddde12d210a666fb9
+ 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:466be44e193e9e9896b5ec817bf121b5661ca9db
+ pristine_git_object: e3bef1d994db48caab137bccf93a5a18ba592a88
+ 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:068fb655c69b690d2dc5b9aae3409e8bf4be1596
+ pristine_git_object: 96b0a1f293676950e8a7f80d86cdb68b4aae0416
+ 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:2a5b6208c175f448596a435a483b2839edabd413
+ pristine_git_object: 34da706127b904ca9ab3daf1c625ec93b1871a15
+ docs/models/scope.md:
+ id: c7d8338540ba
+ last_write_checksum: sha1:cddde3fdb37b02b04378c55f56ad14ac842009c5
+ pristine_git_object: 1b474a90166975c14d03b6c42e4775e828d1692e
+ 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:31f3c0eeda0a08e655b5209fe9e9bf5e386549b1
+ pristine_git_object: 4c57423aa87fa49bf0f380507d62ebb899dd4d1d
+ docs/models/statementsfiletype.md:
+ id: a170a5acf63c
+ last_write_checksum: sha1:b03178288f4eda525d462f3698c0f294211e0abc
+ pristine_git_object: c3f370f7f770c1a466e1aaa09aee55d892bfa186
+ docs/models/statementstype.md:
+ id: 1e361f729ec1
+ last_write_checksum: sha1:44a5208278608122faee736f6462b25d10ad6f8b
+ pristine_git_object: 38f97e5813e391a7818d14525b61178abf3f4723
+ 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:64d7fb0215d422537f821c1a9e1008c7057cdc69
+ pristine_git_object: d354dd0e9711d00e7ce425b820251235e7d66170
+ docs/models/trackingdetailstatus.md:
+ id: 6c03c2f4d4fa
+ last_write_checksum: sha1:2b235562fb5d1aa44931918d03ddab62484c58e6
+ pristine_git_object: 51a7ab4b954ac966c11749caf8f7d3286e73ff58
+ 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:f87f6ade18f57ad62e8bf7b6002e94a2f7ac6d4a
+ pristine_git_object: bbdd581dca28d6c2a050a6833bcdcaa06289f9a2
+ docs/models/transactionindemnificationdecision.md:
+ id: e9b02412ccb7
+ last_write_checksum: sha1:223b4765400b2c870a8b79f693201ca55b92d8fe
+ pristine_git_object: c40ca8d597fd9a7918b38a7f0f9ef8ef2d9518eb
+ docs/models/transactionindemnificationreason.md:
+ id: 3d27dd93cecd
+ last_write_checksum: sha1:576f8b82d263961bc50b4ba5eb5c5dbab34af084
+ pristine_git_object: 9ab63700160a92c1c5b6d0f9607204e3691bd42c
+ 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:24aa637ae20be575bb14c05dd1957a0351959a32
+ pristine_git_object: 777ab2956284abdb64164f9f710b8c91fa4665f6
+ docs/models/transactionprocessorstatus.md:
+ id: b59309b6268e
+ last_write_checksum: sha1:0edaaeaf30fb3d9dbd0b0ca77b89e32ea22f8ace
+ pristine_git_object: c0c73c91f1c3c591fbefc01c83ac21d41702391c
+ 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:31309575f0ad8b40f7d0ebebf26496c3f1cbd3fa
+ pristine_git_object: 3cbadc97eb5d7f69af03aebd757dc3dea98a6117
+ docs/models/transactionstatus.md:
+ id: 8331a2267dc3
+ last_write_checksum: sha1:145b45446dcdb21a39da84a4703d866301b74563
+ pristine_git_object: 6046e8eff853539e0db90a5cb5aff95778b73aa4
+ 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:de3660ab02c7b5a67d7edae474c1e8238da7740d
+ pristine_git_object: 211d58f43f9fd1a3f11f8dd60b1eb0ba48b3f543
+ docs/models/transactiontype.md:
+ id: 1efa7d59dbe4
+ last_write_checksum: sha1:b90fbe1bdcefe0bb69e3eb93a4615ca557dd9711
+ pristine_git_object: 8eb8b043a1d2609e7c71c720ddcba3d57ece9c30
+ 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:b0dfc997784f9905a222039d3f5d31592d9e8fbe
+ pristine_git_object: b91e54baf0d65a3303dbdfb87263ff7a13b05ec0
+ docs/models/type.md:
+ id: 98c32f09b2c8
+ last_write_checksum: sha1:bda5dca9380b5d6c242c2747e6303d961a77b8d8
+ pristine_git_object: e1e1bd7272f0113337ccce8df106df2a72f51485
+ docs/models/unit.md:
+ id: 02c7edf859a4
+ last_write_checksum: sha1:a28186ba85febbfc33bd9248fdacecf5684a860e
+ pristine_git_object: 259c357198b02008d56fa923636cec9df435f0c5
+ 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:61b502f2e0e6d73485cc50dfd971e5958a715cf3
+ pristine_git_object: dba29e55e0bb9035777dbd1bb91cfe05c8d8e811
+ 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:8c283282e0848a872ecfb0745cf795d53dd98f32
+ pristine_git_object: 76432597c4e64294a6fe644c5b13e7f75280726b
+ docs/models/webhookstype.md:
+ id: 6e28a8e77c47
+ last_write_checksum: sha1:7af712697109935eb720eff370333c5ddb6deaa8
+ pristine_git_object: 96363c151f2acb5f8ffd3403ab2577b0710a6010
+ 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:74f0206f8ebad8566f4d9446cde3e0181c38f0db
+ pristine_git_object: fe2a8c9fa4002e4d9d1bb65c9248ae82c8639736
+ 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:7c84d02ff0f9cc39149ff54bf618e6776b735619
+ pristine_git_object: bed77f64829d6003bac33d937a9de1a66c875016
+ 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:405a401fef1f2af6000d945591041683832b3132
+ pristine_git_object: cb9c15d314c1930557401074329ed7a737147919
+ pyproject.toml:
+ id: 5d07e7d72637
+ last_write_checksum: sha1:41d42150656a107242bc82a4b6532c1509c8c92c
+ pristine_git_object: 00bdf024200ee5bcb7f2fafad1cee18adfb471df
+ 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:7cc9f2680bd9437496dd3476b9d55d023c11d7d8
+ pristine_git_object: 12493f873f31ae8d6d8df6c07e4eba21864d26e4
+ src/bolt_api_sdk/account.py:
+ id: bde819e34737
+ last_write_checksum: sha1:5dbaef88ac0f6a7779451f3b76fb90fdba2aa0b5
+ pristine_git_object: c7162bcf96daacf3d50ccd3fd84d8351bc814db0
+ 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:db3e4201c007a18c6916c4ae7f597260b582f09a
+ pristine_git_object: f0468dcd045f7298be240821cb742efc33887960
+ 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:6faf970a78e312d6ac2ada81c75ec20ef9959ae5
+ pristine_git_object: ab2363bc925b90f969ba437a05fdb0471b8d291f
+ src/bolt_api_sdk/models/account_details.py:
+ id: 3e62879f8d7d
+ last_write_checksum: sha1:8218e2ddb6ee0ea5cf2b95d340625584fad00a6f
+ pristine_git_object: 225c2dc150f73eee051003ad2429c371e3c27d82
+ src/bolt_api_sdk/models/account_details_address_view.py:
+ id: 7ccbf76b48bc
+ last_write_checksum: sha1:f90fc9a09a590f757db4e5f07abd260b49449faa
+ pristine_git_object: 7ac072c0811521cd7edb8db48a5116e954d72b45
+ 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:b5f53bbb88ddb22eae791557fa6f53c7e5bda1b5
+ pristine_git_object: a9f2bcf81a4e6677fe1653af95086415ce33c8e2
+ src/bolt_api_sdk/models/addpaymentmethodop.py:
+ id: 097757224f9d
+ last_write_checksum: sha1:61713be8ae37448ad2e8563635ba05e34beb5681
+ pristine_git_object: 01d70f3188a36ae1bd0c2a7e35c5d73ff44df3a9
+ src/bolt_api_sdk/models/address.py:
+ id: 25ca0d9c05b4
+ last_write_checksum: sha1:40f56f70973651258234d89d6e9c628d175f036b
+ pristine_git_object: b5a955bfd93e1ca1c4be6281e915a523e595d590
+ src/bolt_api_sdk/models/address_account.py:
+ id: 8fc2cca25a62
+ last_write_checksum: sha1:1cccb8f895db4083e1870a035facb6bc03292980
+ pristine_git_object: 036b80b37cba44ce523c75d8234befff3daae3da
+ src/bolt_api_sdk/models/address_change_request_metadata_view.py:
+ id: 4e3155f8932a
+ last_write_checksum: sha1:8ad8221653906e1544c5097738424f93e6ce3fd3
+ pristine_git_object: d8055473c80f35af661d5b6d64346f4fd78ac6e2
+ src/bolt_api_sdk/models/address_change_view.py:
+ id: a7ab41d9359e
+ last_write_checksum: sha1:4c58f7a595cb5dc23fc12d2549beaab9887c920f
+ pristine_git_object: cc32fb773aa95808b77c3047d74358e264fe2fae
+ src/bolt_api_sdk/models/address_view.py:
+ id: cb79a6ce5c89
+ last_write_checksum: sha1:9f19530e9c41c2f7f5431fd1dbb722bf160ae4ee
+ pristine_git_object: 4c084b8d59e528c1faa7e255f6f51c352de1d38c
+ src/bolt_api_sdk/models/amount_view.py:
+ id: 7aff5fc3b27a
+ last_write_checksum: sha1:26cda4cf48c49d797d732b55b20c03d1741043dd
+ pristine_git_object: 1648694b822dff5e3e92b103157930fa8ae22cec
+ 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:e85d2f70da7d48f8c0148e62acb65c58336a2f2e
+ pristine_git_object: 6ca2519003f2c3e5d2548038c4b57b1bd5628d24
+ src/bolt_api_sdk/models/auth_rejection_details_view.py:
+ id: dc6cbea26859
+ last_write_checksum: sha1:9b3a9cdee156e5f1a679941fd7e6199bc70dbfcd
+ pristine_git_object: 9734913266d7fd604edd2152bd3c412a8b305fe0
+ 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:99e1b5268e3234fd207c24b6c2c7475be8b50006
+ pristine_git_object: 3f1ac4992b9f6ebe6f95768ea969c92fb4d9a6da
+ 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:2988966a532ee805554fe00cc28aa3dedf2e646b
+ pristine_git_object: d966561e0bc81c1396b0bd2a380c24fd195dcdfe
+ src/bolt_api_sdk/models/capture_view.py:
+ id: 7f4f199bc764
+ last_write_checksum: sha1:105a3e462c7fadb13bd25cfee95fc4b08ff220f4
+ pristine_git_object: 174ba492b30b3f318c254bf82a132166cb4a8afe
+ src/bolt_api_sdk/models/capturetransactionop.py:
+ id: 7ba4cb08c917
+ last_write_checksum: sha1:5a05769745883e7b9ffcbe066571be93096de09f
+ pristine_git_object: 1e4ef77a3df1f322f61d2842ac0bfb2685475673
+ 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:bc626480e90d6b3e15187e3fccf1449f93cc9b68
+ pristine_git_object: 1e082f058f6487955fcb6dcb1348d214901c92d3
+ src/bolt_api_sdk/models/cart_create.py:
+ id: 9d01d79e719f
+ last_write_checksum: sha1:ed858809002488435f714dd02d082f7c21326b18
+ pristine_git_object: cbfa0a4449046dd134aa2e2bc7aefed7dcafee95
+ src/bolt_api_sdk/models/cart_discount.py:
+ id: 637709a46186
+ last_write_checksum: sha1:7850934f338ec94dcc7955bde605cd3dbb6c9430
+ pristine_git_object: 4cf46e143c44d39f67016d5100d1c0b1d70ce78c
+ src/bolt_api_sdk/models/cart_fee.py:
+ id: 731e21f953fd
+ last_write_checksum: sha1:93ca512185ffb5902aa05d669f565c306bc64784
+ pristine_git_object: 0cb1d2f066c3b72bc2d0f731d22bd5ed2e9250ab
+ src/bolt_api_sdk/models/cart_item.py:
+ id: a039afa68baa
+ last_write_checksum: sha1:3e92fffcbc55baf874618530c41f946ad43451fd
+ pristine_git_object: 3259b3ea25034b23b71e375bf459be7ca2f23f8c
+ src/bolt_api_sdk/models/cart_item_customization.py:
+ id: 964ecb0f899d
+ last_write_checksum: sha1:ddc51f069aff84f7c683c0f85c6f61adcfd7b9bf
+ pristine_git_object: 081dcb824568b18e13b31d14e3a012271c0e7cc6
+ src/bolt_api_sdk/models/cart_item_gift_option.py:
+ id: c20c4e9fe9a0
+ last_write_checksum: sha1:5cc187cbd9cdbba2f9d2de5c2b6b416adca9ac36
+ pristine_git_object: 194926119e4d77850678d69b34c0f4097ad0113b
+ src/bolt_api_sdk/models/cart_item_property.py:
+ id: 379a9caea3f2
+ last_write_checksum: sha1:d8b509b583c5e71d2dca106f5a496fb1d7f9280f
+ pristine_git_object: 964744442bb15da4ab68d5e1e8f97a57e224e2cd
+ src/bolt_api_sdk/models/cart_item_property_view.py:
+ id: 6d4359b33707
+ last_write_checksum: sha1:6c35255c7ba42a1c2f4cdaf92394da4a8342f793
+ pristine_git_object: 01dceee7005558595a16370cacea51f6123ace6b
+ src/bolt_api_sdk/models/cart_loyalty_rewards.py:
+ id: 4293eb78b97d
+ last_write_checksum: sha1:c44ec7b5500db6c96346f7b7a269a3419152df08
+ pristine_git_object: 487418de3b94f0e95e74533b5474784bb7fa444b
+ src/bolt_api_sdk/models/cart_loyalty_rewards_view.py:
+ id: 16be0f484654
+ last_write_checksum: sha1:88e19a0df31b9187dd1356c84d189a51ade104b7
+ pristine_git_object: 8b2c704fdc91a27be44c4030177e4404ef5ca49e
+ src/bolt_api_sdk/models/cart_shipment.py:
+ id: f67c4fe9bd33
+ last_write_checksum: sha1:6807457afc00d4b5c322cb960f5c4b38d0efba8e
+ pristine_git_object: 031bf538b00e6499be622c93ddd8e42c08eaae95
+ 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:64b270b1f93f6b94fa158d39a05d44a125d842a7
+ pristine_git_object: 350b72b5ab3e2c23cc0f72165ab9c1f06ba8b495
+ src/bolt_api_sdk/models/chargeback_details.py:
+ id: 37b2439ca213
+ last_write_checksum: sha1:a5708b0e2f4fe18ec3c46f36bac2a5f2c6587fd3
+ pristine_git_object: f2c27f3ab6e20b3d72871bc865373c4073db54d8
+ src/bolt_api_sdk/models/chargeback_details_view.py:
+ id: a11b71bfa637
+ last_write_checksum: sha1:612749028c250b14fb4eb510817de7d945db6231
+ pristine_git_object: d153d28260ff1e6a7edf1a1ea63ae76571aa58c8
+ src/bolt_api_sdk/models/chargeback_event_view.py:
+ id: c9c78776e048
+ last_write_checksum: sha1:1f55edfa8eddfe2e95d94989048ed83e51673607
+ pristine_git_object: b36bc5ad0bab0804cd99fbd9128952d58c66874a
+ 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:fd84cbdc7fc2e26a59ea39c84a6df2fe32355a88
+ pristine_git_object: b7aad48d6f0633145556df1732b6b0fb861ac68f
+ 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:de980233489ced21a17d7e06d9474c8e1623be96
+ pristine_git_object: eb78c911729c253dbbec9d054f7d36c1df851b3e
+ src/bolt_api_sdk/models/consumer_summary_view.py:
+ id: 50878bf2231c
+ last_write_checksum: sha1:487f9c9379b750e4cec70a2c6bdb22071bcae2c0
+ pristine_git_object: 1715ed385ea1f53798d04222f11a2ab9d4d4f78a
+ 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:f66f6525ca19ff8bdce6e58d1de1ddebb0b03e12
+ pristine_git_object: 0bc9e2e429ee12af0f982b2084af266ab5cfb665
+ src/bolt_api_sdk/models/createaccountop.py:
+ id: f59a5523d589
+ last_write_checksum: sha1:b6ed6959e327e0f3c10804ee5519c47f5756a433
+ pristine_git_object: 6167c9a6a8c45471692e9b9cbd520b41010467bb
+ src/bolt_api_sdk/models/createtestingshopperaccountop.py:
+ id: d5068b8e4ecb
+ last_write_checksum: sha1:7c39637dbdb4ec8e923fa718b314769af61d334f
+ pristine_git_object: f0c2331b09a69d1db90ab8c78f0813a19380412c
+ 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:38a7f05ca4fc5daa8ee2ab53a9d974cc44631d5f
+ pristine_git_object: 7e96984639eac526c4632cf9dbdf47bce1f1be11
+ src/bolt_api_sdk/models/credit_card.py:
+ id: 56eda6d90892
+ last_write_checksum: sha1:17ce200e0fc6d366f876e261f9510abbd66a9bcc
+ pristine_git_object: d45c8be77b1314ed497bc316cdd01623c46f27e9
+ 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:101d30a0220e5c0283bb8fc82c0ca900691290b9
+ pristine_git_object: 6744158537bd777edb5c90fc32a854ca2e25754b
+ src/bolt_api_sdk/models/credit_card_capture_view.py:
+ id: c922cac628ba
+ last_write_checksum: sha1:c427cf29a69ea90b5463ee7777cf69c2ba082eb7
+ pristine_git_object: 5f84fd544fd7ab3aba784091f01cc88d4ef6c09a
+ src/bolt_api_sdk/models/credit_card_credit_view.py:
+ id: 4015d3a7e71a
+ last_write_checksum: sha1:722b8261ab78410790e4e571aaf8dc3608296dba
+ pristine_git_object: 34ec5fd01f64465576a2488b1706fe7c8e084f7d
+ src/bolt_api_sdk/models/credit_card_user.py:
+ id: 49a86d7721db
+ last_write_checksum: sha1:096e7175fcde34fb94a605009995d8e1dc39849a
+ pristine_git_object: 9a718c6f6b1ddf46a779cef860dfb8ad7cc47270
+ src/bolt_api_sdk/models/credit_card_view.py:
+ id: d827e45ecf17
+ last_write_checksum: sha1:d22b70e996f25ec060a769fb14b163228ab3e27c
+ pristine_git_object: 370ed27ab3c0f8db688052a90095dbdb4867b6d1
+ src/bolt_api_sdk/models/credit_card_void.py:
+ id: fbe6e6de32ac
+ last_write_checksum: sha1:dd026c83de71a57831b8a54fd3867223d91408bd
+ pristine_git_object: e66cdd43649e423dd3a182ace87413d676e052e6
+ 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:bf3bb992b1d90976ad08d02ed70498da6b2061ec
+ pristine_git_object: 8487f0fa20ef5b0bd24b5361c8f030cdb81208d7
+ src/bolt_api_sdk/models/custom_field_full_response_view.py:
+ id: 02ed2048d02e
+ last_write_checksum: sha1:5ba60c4a50d30dde5b98777cc68878511609d8d5
+ pristine_git_object: f7ac9e2e17394ef419bcd0bf5decc462aac163e5
+ src/bolt_api_sdk/models/custom_field_response_view.py:
+ id: ab7677672edb
+ last_write_checksum: sha1:7683206da46ecaf543b88e4604cc1c0bdbf54658
+ pristine_git_object: 468ee75a45a2e6287210d1578392706a7d3deeec
+ src/bolt_api_sdk/models/custom_field_view.py:
+ id: 1d5463e19e08
+ last_write_checksum: sha1:b4d479986a692e5e0102ddc49e41376f5bf92943
+ pristine_git_object: 8b1ea454f3aab48a9bb7d4be95722880eacd5115
+ src/bolt_api_sdk/models/custom_fields.py:
+ id: 1d60367291cb
+ last_write_checksum: sha1:e87f15dce5d2f18a8081a586473e48d7a3fdb543
+ pristine_git_object: 294ac5c1c9ee937a00b7ea64989e30e8292ce6e8
+ src/bolt_api_sdk/models/customer_list_status.py:
+ id: 41531f392692
+ last_write_checksum: sha1:0d2f59c23326b5ddcff3781c622ee1dcb30735a7
+ pristine_git_object: 0411d9d91231956e6bd2e2916797be3987617350
+ src/bolt_api_sdk/models/deleteaddressop.py:
+ id: 0c17222c6535
+ last_write_checksum: sha1:b7d6a1c0bef9efe9ca4eb6ed8767186b158e6521
+ pristine_git_object: 97da3c2aa75278240dfed0cc8a1ccd4e222cf78c
+ src/bolt_api_sdk/models/deletepaymentmethodop.py:
+ id: efeeda8d2bb8
+ last_write_checksum: sha1:aae3d9bfe12e9a2f5f4116c59a15a6c11009c1ee
+ pristine_git_object: b3accadf3a7798f0765d4519381bef20d69f171d
+ 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:50d6e0a094212004fd494529fe29a00d906bb8ef
+ pristine_git_object: fe9986c55676dcfe0bd63b2a1c83e2437229e446
+ src/bolt_api_sdk/models/digital_delivery.py:
+ id: d0b6b3393d64
+ last_write_checksum: sha1:54fe216f2f438517936e0a124b81132ce8160ef0
+ pristine_git_object: c94c15e9e7f10beb37af7d7af82722e7769a3179
+ src/bolt_api_sdk/models/editaddressop.py:
+ id: 96b768f8ab3b
+ last_write_checksum: sha1:385a02f49ed56a75804ab27ab1fc721b2f858f9d
+ pristine_git_object: 2d6f2b549d0135a31bdedccfa36de7302963b7c0
+ src/bolt_api_sdk/models/eligible_payment_method.py:
+ id: 3983ad23f80a
+ last_write_checksum: sha1:114243f0db79637ba802fdebb5744c3c7d842e8e
+ pristine_git_object: f41c5fdd93100f7ec05a255a22eadf6b53bdb230
+ 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:aaf212ad9d64ef959e71e092d7c7398f6c85d766
+ pristine_git_object: 8e020b7601a3e07370201192659c10dc00aca677
+ src/bolt_api_sdk/models/emails.py:
+ id: f677e9d9d466
+ last_write_checksum: sha1:38f1803159b550264750321d9d85078311a8bc1a
+ pristine_git_object: a6491768ad619737cd74a5823df49ee5b0012bcd
+ src/bolt_api_sdk/models/error_bolt_api.py:
+ id: 8aaa333f22e7
+ last_write_checksum: sha1:cfe5aeb804a5064ed9e0e9b32afdce70bd4e15f6
+ pristine_git_object: 6cf361af4eeb05b2de7596c975a74d5182625206
+ src/bolt_api_sdk/models/event_group_create_webhook.py:
+ id: 9f770c7f131c
+ last_write_checksum: sha1:6926f5f0f2ced3cd9d40fff1b931aa75a13ba5e9
+ pristine_git_object: e7aede52f90a9a0477179cb93bdd486a8397e32a
+ src/bolt_api_sdk/models/events_array_create_webhook.py:
+ id: 7282cf8b6a05
+ last_write_checksum: sha1:ad67393b76e58cb04fe9a2af7960c751108e8b4b
+ pristine_git_object: 782ae45402f99f134e333da97318b674c4e4e827
+ src/bolt_api_sdk/models/fulfillment.py:
+ id: ca25cff46e7b
+ last_write_checksum: sha1:0a4ba61158f81988915db77b6fc365b3ab225edc
+ pristine_git_object: 102d85612097b71085473e1f9e8a26154c1830ec
+ src/bolt_api_sdk/models/fulfillment_view.py:
+ id: 0671a893258d
+ last_write_checksum: sha1:b7e35018482487a15019ae5a4fb13be407fae26d
+ pristine_git_object: 6229291c6c8cec14b4eafe60ebe85dab03b1790f
+ src/bolt_api_sdk/models/getaccountop.py:
+ id: 1ece4d687f72
+ last_write_checksum: sha1:c6c3f4c1417a133de5d40d5de9cc119416940ed7
+ pristine_git_object: e368417cc93c21de27d63c088fa004b838eab07a
+ 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:4257c7f18e279b8af447a2ec9b91b3a91f050a8a
+ pristine_git_object: 4f76f281b70fc15bc0841299bca7513ecaf61cea
+ 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:4a672e5d9783615aa63ec2f6be28146730d01aca
+ pristine_git_object: 18e2d7f6a1d9b884076131e23955b59cfe28adb8
+ src/bolt_api_sdk/models/gift_options.py:
+ id: 16e7adf9737a
+ last_write_checksum: sha1:14d8b3237cfc83ab77422946cab2788c481f1947
+ pristine_git_object: 320f9e5f42e053921cf9abdadbc4901c0155b95a
+ src/bolt_api_sdk/models/i_authorize_result_view.py:
+ id: 0eb857dd5334
+ last_write_checksum: sha1:93d67168450e7be1c0f5ae6810d5bdc1a5f9fc76
+ pristine_git_object: 8dd70ba6396b0cb3c4a345f4dab5dff45f81d9d5
+ src/bolt_api_sdk/models/i_cart_discount_view.py:
+ id: bed37140407f
+ last_write_checksum: sha1:859948c63678392fb2c2e28529080389cdfb93ff
+ pristine_git_object: 56dece8e87e1a1d9ca33e7802460a36134804b5f
+ src/bolt_api_sdk/models/i_cart_fee_view.py:
+ id: d39476c78627
+ last_write_checksum: sha1:d97af7f4d77b7fcb22877c339baa6c937e601c9a
+ pristine_git_object: 0ec85c57ecca9a7788ee0f2864e1838c2acd7501
+ src/bolt_api_sdk/models/i_cart_item_external_inputs.py:
+ id: f154cea7a680
+ last_write_checksum: sha1:c106d73401f3df1c4f57155716203479a90bc2f3
+ pristine_git_object: d37979098a66bcb8435c526de553f22f5b091922
+ src/bolt_api_sdk/models/i_cart_item_view.py:
+ id: 3b4eaaeb513a
+ last_write_checksum: sha1:c7f1c46a310c60fd0e050655967f9edc92489145
+ pristine_git_object: b72ccdc5a79697558454ad0d93794f4cc4cd7775
+ src/bolt_api_sdk/models/i_cart_shipment_view.py:
+ id: 6fa6c5120006
+ last_write_checksum: sha1:3827f045b5a112bbb8696c9f4233dea447d81f9f
+ pristine_git_object: b3f441c4617721e27b764af9a41deef3aa451102
+ src/bolt_api_sdk/models/i_cart_view.py:
+ id: 9293455ff427
+ last_write_checksum: sha1:c9ecca761340fae249a528f9107d1e2ee658f220
+ pristine_git_object: 71437fa0caa4c353c48b436501793f6e1697eac3
+ src/bolt_api_sdk/models/i_currency.py:
+ id: c84e5d446d6f
+ last_write_checksum: sha1:c5001e2c32ee8695e79056dfb26f9e85511364c3
+ pristine_git_object: f0bb666980f77581aafed586173825bf266aee1e
+ src/bolt_api_sdk/models/i_custom_field_view.py:
+ id: 5447761ecd3e
+ last_write_checksum: sha1:1934b01033bf2f0826357b00396987c0486dfa77
+ pristine_git_object: 0a9e81c108e6b41d4b19dd0205abbe75e3e593a3
+ src/bolt_api_sdk/models/i_description_part.py:
+ id: 65fba9c084f4
+ last_write_checksum: sha1:fe5ee110f4bef93a11108f5ea5cade0717a5abcb
+ pristine_git_object: 3edffe82f54103b875463c81e029c729eb6530aa
+ src/bolt_api_sdk/models/i_description_tooltip.py:
+ id: 9cc43ad2e695
+ last_write_checksum: sha1:3cda46ab72081d15b5ba08dd1142840387565f9e
+ pristine_git_object: 95487e49e657d1573cc0f7593a9d145c65a102d8
+ src/bolt_api_sdk/models/i_free_shipping_discount_view.py:
+ id: a8a0542d5c04
+ last_write_checksum: sha1:0404d32dc92198bded01d3be7830cb23536819be
+ pristine_git_object: 5bc5252a11f8be0b550b07f2946f4c295aa05077
+ src/bolt_api_sdk/models/i_gift_option_view.py:
+ id: 0f0d999629c6
+ last_write_checksum: sha1:ff7f61e6d9f2cbf7e0a938762a78e099d42c3fc1
+ pristine_git_object: b4a24ca6d4c13c73244d71108274b5537e8a228b
+ src/bolt_api_sdk/models/i_order_dynamic_content.py:
+ id: 5959f96e17b6
+ last_write_checksum: sha1:3a4bd16793eb807b6a187330f66ece2cdce73497
+ pristine_git_object: 71789bcb1901f7d0d66ff669ff79bec282868918
+ src/bolt_api_sdk/models/i_order_external_data.py:
+ id: 6150282e5d0e
+ last_write_checksum: sha1:82c05e7588ff01ce025530069d47d06bd86795e0
+ pristine_git_object: bd3d7542e4b248a81a6c126012415f569cba3253
+ src/bolt_api_sdk/models/i_order_metadata.py:
+ id: 71767c7c3581
+ last_write_checksum: sha1:bd5755f4035275098a12093110252aa99bc297a4
+ pristine_git_object: 5116f67e02a76b19f9b617d0b4e9826d905e0cef
+ src/bolt_api_sdk/models/i_order_view.py:
+ id: e951703cc10e
+ last_write_checksum: sha1:627d07f71562da910097571f83c79aeb03e8248b
+ pristine_git_object: 94442441929cac927be2cdbb2c84596d26f556de
+ src/bolt_api_sdk/models/i_weight.py:
+ id: 82f80c3c3b88
+ last_write_checksum: sha1:0ba3025eae24a3d8ff8b22b01ee2c36c1550582e
+ pristine_git_object: cfe2408db2be643bf53938507e0773ef758e9663
+ src/bolt_api_sdk/models/in_store_cart_shipment.py:
+ id: e03039e4a4cb
+ last_write_checksum: sha1:5796c6e6f1dabf77caf1b8fb92c21dd19bf92486
+ pristine_git_object: e0a397d1a6faefd3d1caceea42c3b508a5509d65
+ src/bolt_api_sdk/models/in_store_shipment.py:
+ id: e17553117633
+ last_write_checksum: sha1:844afec3dd36bb5e4572a1118604bec93055973b
+ pristine_git_object: 705ef307871592b15f89f4ef540cbf71b2edf83a
+ src/bolt_api_sdk/models/in_store_shipment2.py:
+ id: d428b451f0e5
+ last_write_checksum: sha1:91b41b8151abf36663c702c7e4394a9ae986b851
+ pristine_git_object: 61023644ae070ea5c98dfc36bd5b62d329e2f695
+ src/bolt_api_sdk/models/item.py:
+ id: 6def9d7d2d72
+ last_write_checksum: sha1:ad32d1cabfc016a17e9ecfa70848b087befb8bf9
+ pristine_git_object: 6055c6913fb35aec1d6f3dcece49d5cdba8dd0be
+ src/bolt_api_sdk/models/item_property.py:
+ id: df3500d98d9b
+ last_write_checksum: sha1:b9787ce0d1079521f09a787e0b5df19c6a29a1fe
+ pristine_git_object: 53dc346a471160f139b0d2a4c92462bbcbd2f246
+ 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:1c50c932fd856f3f569c500c27e271cd802be847
+ pristine_git_object: 290a6c5ef918eedaca4910e6f6de76307a49b0fe
+ src/bolt_api_sdk/models/manual_dispute_view.py:
+ id: 59cafc9667d0
+ last_write_checksum: sha1:ea7c9ec5de264c1588b04e9b53507de6a4d27296
+ pristine_git_object: acfe881f0d9e38ef159ec60a6c5e40df86ef1c83
+ src/bolt_api_sdk/models/manual_disputes.py:
+ id: 6a004f432f88
+ last_write_checksum: sha1:300930f6787897deae7fc1f7ca291f8dcc4afd40
+ pristine_git_object: 0eaacbb697767c47de0c9f51606857acd5dd19f9
+ src/bolt_api_sdk/models/marketplace_commission_fee.py:
+ id: c989edf77477
+ last_write_checksum: sha1:14aaf3249a326e82a90d5d6a2139f9b64f755e10
+ pristine_git_object: e7e9ff6e9f3c129659bfcc5287a81c2b8f2a8f61
+ src/bolt_api_sdk/models/merchant.py:
+ id: 93494882d8ad
+ last_write_checksum: sha1:06547cdbdea8487a006874edcad79984310732d7
+ pristine_git_object: 97ede3d5cf4c3a4f6cb478f5e4716c2fbccd5d73
+ 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:14937a5ebf16d19662459b2c6695a9bb6e77d81a
+ pristine_git_object: e2f3d26606f64196b4cf84ae34f9b5e96ab688cd
+ src/bolt_api_sdk/models/merchant_credit_card_authorization.py:
+ id: 4cb460ccfec6
+ last_write_checksum: sha1:ec602bf5e034e061a0aaea95188c6e261e652bcc
+ pristine_git_object: c5ef3856942b76c2eb949d12d942ce15c579a239
+ src/bolt_api_sdk/models/merchant_credit_card_authorization_recharge.py:
+ id: 62e4a3931d2b
+ last_write_checksum: sha1:6f8e87d8bc5e94eac39dc7763a0f51c518482059
+ pristine_git_object: a8230bf62ebbbdc4939bec7d9142212a65c1e277
+ 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:5720d0d134b5149e276a8952b4d37cfa8b8a2b89
+ pristine_git_object: 6d8f09a6bfcac0c3cdb35f1632491678fd56909c
+ src/bolt_api_sdk/models/merchant_division_logo_view.py:
+ id: 23ed3b55e878
+ last_write_checksum: sha1:2db047cc8d5b56dc5fd77b6a07ee943d765c61ec
+ pristine_git_object: 55a423445ec5ba547144eb50deaf5a5e8d175b92
+ src/bolt_api_sdk/models/merchant_division_summary_view.py:
+ id: 849ed947ff1f
+ last_write_checksum: sha1:1f8577ded3023968057ab89b4abe08e8b1ad7253
+ pristine_git_object: cb2df814010198da924ac7ff8c40a8564006259d
+ src/bolt_api_sdk/models/merchant_divisions_identifiers_view.py:
+ id: 8810038987ed
+ last_write_checksum: sha1:e443284b1da91aee2a52f90a7ec16a86cfafd80a
+ pristine_git_object: 515ea28e0bc9e886fe24e2a46a38a11d2ed75e74
+ src/bolt_api_sdk/models/merchant_identifiers_view.py:
+ id: 29f0ca680421
+ last_write_checksum: sha1:d649718ecaac938c5493ff7cf02475f67929770a
+ pristine_git_object: ed75cc9b694f9db3f7fe90ce2c24d09c1afb5dc0
+ src/bolt_api_sdk/models/merchant_logo.py:
+ id: 7e29c43847c3
+ last_write_checksum: sha1:ff7923f0166d99965b71c9490a214d44e2034c3a
+ pristine_git_object: 8677b8c76aa088fdc9624d4c694d53531a261eae
+ 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:93b94cd9d7dbad72f8b9fc908d108d07878bed9d
+ pristine_git_object: 54e0343389059d81f001bcf3c1d5876ca7029058
+ 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:690457f4381d41f22fe8452eb97d168112dc1619
+ pristine_git_object: e005927b94735863dde50576505a52f323d3c2da
+ src/bolt_api_sdk/models/o_auth_token_input_refresh.py:
+ id: 24de1d31859d
+ last_write_checksum: sha1:24e7346ba46cce350e9d3849edb0eb2b03c6e2a0
+ pristine_git_object: 116fecb37f8fe37ae1e26ee83d77b6800d7f8e43
+ src/bolt_api_sdk/models/o_auth_token_response.py:
+ id: 05c53c008eff
+ last_write_checksum: sha1:1b0630c79e997b1ff53f2d93f630e55e166d8cb3
+ pristine_git_object: 55f5ffc0f27bc2a30961874b89a7fe83a4a82274
+ src/bolt_api_sdk/models/oauthtokenop.py:
+ id: df727812e7ae
+ last_write_checksum: sha1:0f78881e1e8e8ea925c9a9373492353f21aa72c7
+ pristine_git_object: 72d34baede05f086a026b5ddc69c0ec3b6d1b4e5
+ src/bolt_api_sdk/models/order_create.py:
+ id: 87639ce65305
+ last_write_checksum: sha1:6b16f5b68f8236c821437efd565087442c6fd9e2
+ pristine_git_object: b91f8bf1b4b35b99d8fe3bf08e039caa2f0b490d
+ src/bolt_api_sdk/models/order_decision.py:
+ id: 708ee3f5834c
+ last_write_checksum: sha1:90cdbf12de9145fa047f0ca691f371a088107c16
+ pristine_git_object: 0dec0a2564d3db32f084e2d5597d02093407a776
+ src/bolt_api_sdk/models/order_decision_details_view.py:
+ id: ce13e0c67730
+ last_write_checksum: sha1:51497fc424169622675e73e92a620fc15067df68
+ pristine_git_object: 4fa96f96a90cbb65e17afe887a1a2fd0516d1709
+ src/bolt_api_sdk/models/order_external_data_view.py:
+ id: 3a555b4df596
+ last_write_checksum: sha1:7df09daa4f5159b42c8e85eb1fc9c8c9d7854a84
+ pristine_git_object: f7b29210c1ab86391239777b89d9f8047cef531e
+ src/bolt_api_sdk/models/order_track_requestbody.py:
+ id: 9d79e47a45c9
+ last_write_checksum: sha1:714b581de2b76f722d6cb4ac2c3ce91739fdce3d
+ pristine_git_object: e12fc397093cac04ec8f79696efc0ca6b4d58f3d
+ 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:a6e8d60420886c482870d697b2e45a83d5b60f7a
+ pristine_git_object: fb2679596a0d99141465cad254d985e99dfe3ce5
+ src/bolt_api_sdk/models/package_dimension.py:
+ id: 2ee9c49ac105
+ last_write_checksum: sha1:aec05c427e8631779cbe7e779dc3db81d2254f76
+ pristine_git_object: d81269b77f6cde78c764a80b18525ce23ba38774
+ src/bolt_api_sdk/models/package_weights.py:
+ id: cc37b6d9efbc
+ last_write_checksum: sha1:fbd7341d9b4c2dd5e54768db3cf250dba2d3c2d5
+ pristine_git_object: 9589cf74fc34506f2a84f2bc335cbe0868404250
+ src/bolt_api_sdk/models/payment_method_account.py:
+ id: d0e4f327e4ba
+ last_write_checksum: sha1:282ea36b3eb647886fffab93f4542d8d7e8daed0
+ pristine_git_object: b89624765e0b982ebda85a77e2f334535e90ff90
+ 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:4d625d0ae6b49deb21ddc29683b8195ee7d0b36e
+ pristine_git_object: b2e4ee80c478388399bca05cb2183fb798b8d856
+ src/bolt_api_sdk/models/phones_with_country_code.py:
+ id: f98cc4d624cf
+ last_write_checksum: sha1:8721ad9f0fdd3df9e59ac020a761b508f2347e07
+ pristine_git_object: 3a1f3da6ff77d9beaeac0598429e3c0dc5bb9ae3
+ 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:1827672054c1ac18ba0dffbe5b0add0f1ae0e921
+ pristine_git_object: fe2e8a961ee5082b98d19966612cb79b693750ca
+ src/bolt_api_sdk/models/profile_view.py:
+ id: d48c0912a77e
+ last_write_checksum: sha1:7c835f155547a4a62ead662a194b4fdbb7960b49
+ pristine_git_object: 5cc0f42e32ce87822b772ae1c70732f637a370bf
+ src/bolt_api_sdk/models/querywebhooksop.py:
+ id: 6560f8557595
+ last_write_checksum: sha1:2dd8f3b26f55b5acae5ae9ca6beffef32ca962c2
+ pristine_git_object: 75923928c98f810143d85025a9ae273a63475015
+ src/bolt_api_sdk/models/refundtransactionop.py:
+ id: 499e3f803c91
+ last_write_checksum: sha1:4698038bef50920775b0113d4a37dd6182e3ad36
+ pristine_git_object: f13c60152fe6830a2c5a05fdb3e4f6cdf27174a8
+ src/bolt_api_sdk/models/replaceaddressop.py:
+ id: 5dbe2f68a4e8
+ last_write_checksum: sha1:521fffbfa2399a21d1ff166bbf4ea425a6d85dcb
+ pristine_git_object: 2cfccb77505f799b180b337991ee0bc944da1bef
+ src/bolt_api_sdk/models/request_result.py:
+ id: fe125f45d515
+ last_write_checksum: sha1:868951e6a5094752b7624effbd6d648be00651bd
+ pristine_git_object: eb94d8d2eef1095633023c846c55bd22b0f9b614
+ 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:3512767e6fc029d38419f3ac7b3f9adafb24852f
+ pristine_git_object: 6d83bea02899b26a80d1c3b569a5d43a876a63a2
+ src/bolt_api_sdk/models/review_ticket_view.py:
+ id: f70f6af36863
+ last_write_checksum: sha1:3ee7e52c152aa735dd2e69b01d426f639ec9a79b
+ pristine_git_object: 0cc440f575bc56d8bc0e28648b07961e649a704d
+ src/bolt_api_sdk/models/reviewtransactionop.py:
+ id: f423da2301fc
+ last_write_checksum: sha1:f3779653ed60000d3e9737fc5a3cd3f03a715549
+ pristine_git_object: 4b61601fadd0b7756d36547672030dca2d6b7756
+ 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:8a07156f9a832105c2f5e9e9a9238289b31f9c59
+ pristine_git_object: 06a49394fe4e5b88d5445f955f9bed92e92ce51f
+ src/bolt_api_sdk/models/risk_model_external_result_view.py:
+ id: e780261e5adf
+ last_write_checksum: sha1:9c8638874f65bc894deafa1dfecf9cf17fd2e366
+ pristine_git_object: 49c5eb96a380c6ab85fea6707de54a4bfdba54ac
+ src/bolt_api_sdk/models/risk_model_resul_contribution_view.py:
+ id: 144c169b04a6
+ last_write_checksum: sha1:0b44270154c2b257884503803be297d2f919ac84
+ pristine_git_object: 93f44b8d73350d1badaf77f40472475db9f91b95
+ src/bolt_api_sdk/models/risk_model_result_view.py:
+ id: 35131722b3f5
+ last_write_checksum: sha1:c7f044d78cdbc71936062bab69a93b47be3f29ad
+ pristine_git_object: 99c1fab3a898a3f1bc6a4fdb15103951ce1078e7
+ 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:5b5ce3461e9f134fc48b3a8b899ba1d64d1f7de1
+ pristine_git_object: 74567740179f2b258507949287f3f436ed1d5d32
+ src/bolt_api_sdk/models/saved_paypal_account_view.py:
+ id: 9fbd14cf2700
+ last_write_checksum: sha1:dff83fa4554695456434060b820f30920d33028d
+ pristine_git_object: 248db8d9aae0387c31264f404a67115862090077
+ src/bolt_api_sdk/models/security.py:
+ id: 11809b31949c
+ last_write_checksum: sha1:f05438f952991867bf3044d6e65532cb3186879a
+ pristine_git_object: 4c845a1a2d988b9377443917e9e965e9cada8eec
+ 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:6a578fffc99b195124b37ddffbdd482a03f892f7
+ pristine_git_object: 96aef853e62a57f9370addb3a8657b55ffe7c10e
+ src/bolt_api_sdk/models/splits_view.py:
+ id: 6a98c3e51e05
+ last_write_checksum: sha1:3dedadcc069c27146be1bbd1974db90992133ee0
+ pristine_git_object: 24e6da7afedb51e3f5efc5ede0de36041108e349
+ 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:f6851a00ba8f1ddcebca682cd63a84b178c3f187
+ pristine_git_object: 053338903c8547fd1c6608263bd8f9168983d803
+ 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:2011292e57e578bdbc22dceed1e637e3b80b0096
+ pristine_git_object: 80ebffbe599bf5a6e65f27b08ca3d6fed87de007
+ src/bolt_api_sdk/models/testing_account_details.py:
+ id: 182a5d42419a
+ last_write_checksum: sha1:122621a3ea20084f03758b7935d9ff90fd8b00a8
+ pristine_git_object: 68fd4dfd204bf54b8a3882252ec03fb75a7dc861
+ src/bolt_api_sdk/models/testing_account_request.py:
+ id: 6767ed8472a9
+ last_write_checksum: sha1:e6f7c38a7bf42cc4924d62ee7a9b90775780d625
+ pristine_git_object: 5f4fd1a9bd102f082dfeea42616c5a907ab0ffb6
+ src/bolt_api_sdk/models/total_weight.py:
+ id: 611d5034f691
+ last_write_checksum: sha1:a9ac594914a07f328747b25e08c427720442ad8f
+ pristine_git_object: a350cad157c58c49f83a878bd6a60a2c45351526
+ src/bolt_api_sdk/models/tracking_detail.py:
+ id: a5f8b1a64d2f
+ last_write_checksum: sha1:75235059e64a0ee7b7518abd89b548bbe5b3a54f
+ pristine_git_object: a6d4056684f53e6836da1b3a1b34c9e49b89e04c
+ src/bolt_api_sdk/models/transaction_credit.py:
+ id: bf3232d95b58
+ last_write_checksum: sha1:1ff391c8174fef8e001d0fd3c346bdb04063a057
+ pristine_git_object: 6c95ec2ab98e5ff776bfa1cb9030062f0ef24eaf
+ src/bolt_api_sdk/models/transaction_details.py:
+ id: 9b9554ee3006
+ last_write_checksum: sha1:3f33c06cc14f0c5e7b2176b79f2cf29c96b78573
+ pristine_git_object: a2941543234e6a32b12f0fb781a4df2a642d7bb0
+ src/bolt_api_sdk/models/transaction_details_view.py:
+ id: 808bf9360b83
+ last_write_checksum: sha1:ea88626fa667ca9527f8bb9d98afeab925be6445
+ pristine_git_object: 7b4045a47f936b2967c583897da364f818ee8c36
+ 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:8e0009e1de455434e5b06c18d227de48b2c9a1a1
+ pristine_git_object: c46ce21a6d0de05c1e9442a86af625c354e817d4
+ src/bolt_api_sdk/models/transaction_review_view.py:
+ id: f87dc58a4744
+ last_write_checksum: sha1:d9389345ce49c39a0f5b4adab52651839744a0b2
+ pristine_git_object: 1e9fde4302713b4c5e7580c14b85a6417d3d403c
+ src/bolt_api_sdk/models/transaction_splits_view.py:
+ id: 455ceb9639e9
+ last_write_checksum: sha1:3fd7e2fc1c2b75f47b0739a40ec3d8c763361ed9
+ pristine_git_object: f13887feeb80e2747e98619326fed813d925673d
+ 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:01c8529f2f77d4b64ad26085c53e049f5269e80d
+ pristine_git_object: b59b2e12709864f7eee749a3d377f6380c0efb9d
+ 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:86c43754a7d045faf15a49d22f6ae3bb0c696bca
+ pristine_git_object: f790f9d24e56fd5837f33cd94409f7073eb6f9bd
+ src/bolt_api_sdk/models/transaction_view.py:
+ id: f80c1a22a951
+ last_write_checksum: sha1:7f3de3a2920f895850f0594306e02bf12fded378
+ pristine_git_object: 00804a26fa6e45324cf7719d6098e9d53c749fd4
+ 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:36b32ff37d9e12229309ba0e5311bdae0ba8045b
+ pristine_git_object: ee79ab6eb5744f059949bb080ddd010ed863ead5
+ src/bolt_api_sdk/models/updateaccountprofileop.py:
+ id: 108f1e2f020e
+ last_write_checksum: sha1:8faa315c3e2fc96f462f92c578cad7e8bc486d8c
+ pristine_git_object: 66305240dcbbe1c8e77ec00caf96c0e3b53ba168
+ src/bolt_api_sdk/models/updatetransactionop.py:
+ id: 59d13c62e36b
+ last_write_checksum: sha1:3f5d523aef0bd1a89a6e4959e7123361ec85a155
+ pristine_git_object: 1acd6ed25c86b2bdae7f068d68413407f7447130
+ src/bolt_api_sdk/models/user_identifier.py:
+ id: e268f8706953
+ last_write_checksum: sha1:b78fe96e5777ff788c40ac6d23ea1aba42ad51f3
+ pristine_git_object: 6f80aa35672e24c27ec434b9a74584034b8a171d
+ src/bolt_api_sdk/models/user_identity.py:
+ id: dece822e8f48
+ last_write_checksum: sha1:749dca0e2938e0d7ce41cff370964be10ce070ed
+ pristine_git_object: 76d241583cbb5f976107afb1498387e2bdcf522a
+ src/bolt_api_sdk/models/v1_accounts_view.py:
+ id: e6c66195b5e9
+ last_write_checksum: sha1:d11839b982f4fc7a336588ae2a94d5317d6c987c
+ pristine_git_object: 19c543e3d0039a0f51f3e4f3a1bf49213e79748e
+ src/bolt_api_sdk/models/voidtransactionop.py:
+ id: 7fac07e08fba
+ last_write_checksum: sha1:2ce59969aa8285227b48da2d7f56d58620738b72
+ pristine_git_object: 123160eac3c07ae1c5575fc8e9a0194d65574a02
+ src/bolt_api_sdk/models/webhook.py:
+ id: 6b819d15b7a5
+ last_write_checksum: sha1:c389ca24271e0e9260d6eadd78aca7afdaac4c51
+ pristine_git_object: 961390d7cefe23a991b464908adab067d946b53c
+ 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:1da146dd2622ccd8a663b134debadbd115c7805a
+ pristine_git_object: f8c39e2ddf074402777f69e93ebffbba0b6d3473
+ 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:1cd097f9e28e56fe671fb4e16742e16d2c2f4ab0
+ pristine_git_object: 9998e652375ad52c7070527e53154440270934b3
+ 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:646fbc7bded09f327c424db82ff5f390760e6127
+ pristine_git_object: 1acee8011332123fe518c316072a6de55a111d94
+ src/bolt_api_sdk/transactions.py:
+ id: 0d7a2e0bacc2
+ last_write_checksum: sha1:051b60ad4e693b27d841511966626dc9d59cb07a
+ pristine_git_object: 297a8b0c01aa4a414a6902c600d1344ce128eb9c
+ 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:0f93d821f9cb3e061ea125d881bb6f61166738dd
+ pristine_git_object: aded7597c2bbc4e3fa7f555755d894671ac57741
+ 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/dynamic_imports.py:
+ id: 2ed886c9655e
+ last_write_checksum: sha1:a1940c63feb8eddfd8026de53384baf5056d5dcc
+ pristine_git_object: 673edf82a97d0fea7295625d3e092ea369a36b79
+ 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:620d78a8b4e3b854e08d136e02e40a01a786bd70
+ pristine_git_object: 3bdcd6d3d4fc772cb7f5fca8685dcdc8c85e13e8
+ 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:471372f5c5d1dd5583239c9cf3c75f1b636e5d87
+ pristine_git_object: af07d4e941007af4213c5ec9047ef8a2fca04e5e
+ src/bolt_api_sdk/utils/security.py:
+ id: bfc0dd462bef
+ last_write_checksum: sha1:7543b452e2f42d65a432d864701bb4199660f631
+ pristine_git_object: aa1d50ac5b0450443c7f14320471442fa8325d25
+ 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 +2711,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 +2798,605 @@ examples:
"400":
application/json: {"errors": [{"code": 2001005, "message": "The input is missing a required parameter."}], "result": {"success": false}}
examplesVersion: 1.0.2
+releaseNotes: "## Python SDK Changes:\n* `bolt.orders.create_order_token()`: \n * `request.cart.discounts[].discount_category.enum(shipping_discount)` **Added**\n * `response.cart.discounts[].discount_category.enum(shipping_discount)` **Added** (Breaking ⚠️)\n* `bolt.transactions.review_transaction()`: `response.order.cart.discounts[].discount_category.enum(shipping_discount)` **Added** (Breaking ⚠️)\n* `bolt.transactions.get_transaction_details()`: `response.order.cart.discounts[].discount_category.enum(shipping_discount)` **Added** (Breaking ⚠️)\n* `bolt.transactions.update_transaction()`: `response.order.cart.discounts[].discount_category.enum(shipping_discount)` **Added** (Breaking ⚠️)\n* `bolt.transactions.authorize_transaction()`: \n * `request_body.union(merchant_credit_card_authorization)` **Changed**\n"
+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..e43ce5c 100644
--- a/.speakeasy/gen.yaml
+++ b/.speakeasy/gen.yaml
@@ -16,11 +16,18 @@ generation:
requestResponseComponentNamesFeb2024: true
securityFeb2025: true
sharedErrorComponentsApr2025: true
+ sharedNestedComponentsJan2026: false
+ nameOverrideFeb2026: false
auth:
oAuth2ClientCredentialsEnabled: false
oAuth2PasswordEnabled: false
hoistGlobalSecurity: true
sdkHooksConfigAccess: true
+ schemas:
+ allOfMergeStrategy: shallowMerge
+ requestBodyFieldName: ""
+ versioningStrategy: automatic
+ persistentEdits: {}
tests:
generateTests: false
generateNewTests: true
@@ -28,7 +35,7 @@ generation:
compile:
enabled: false
python:
- version: 0.5.6
+ version: 0.6.0
additionalDependencies:
dev: {}
main: {}
@@ -40,18 +47,23 @@ python:
- Speakeasy
baseErrorName: BoltError
clientServerStatusCodesAsErrors: true
+ constFieldCasing: upper
defaultErrorName: APIError
description: Python Client SDK Generated by Speakeasy.
enableCustomCodeRegions: false
enumFormat: enum
envVarPrefix: BOLT
fixFlags:
+ asyncPaginationSep2025: false
+ conflictResistantModelImportsFeb2026: false
disableTypeChecking: true
nameResolutionFeb2025: true
responseRequiredSep2024: true
flattenGlobalSecurity: true
flattenRequests: true
flatteningOrder: parameters-first
+ forwardCompatibleEnumsByDefault: false
+ forwardCompatibleUnionsByDefault: "false"
imports:
option: openapi
paths:
@@ -60,16 +72,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..46c0747 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,9638 @@ 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:
- 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
- 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:
+ 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
+ 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:
- GTIN:
- description: The Global Trade Item Number for this product; GTINs are used as barcodes.
+ company:
+ description: The company name associated with this address.
+ example: Bolt
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
+ country:
+ description: The name of the country associated with this address.
+ example: United States
type: string
- MerchantProductID:
- example: 1ab11ad1111ada1ad11
+ country_code:
+ description: The ISO 3166-1 alpha-2 country code associated with this address.
+ example: US
type: string
- MerchantVariantID:
- example: 2ab22ad2222ada2ad22
+ 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
- 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
+ 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
- type: object
- product_view:
- properties:
- Availability:
enum:
- - in_stock
- - out_of_stock
- - pre_order
+ - primary
+ - listed
+ region:
+ description: The region details such as state or province associated with this address.
+ example: NY
type: string
- AvailabilityCount:
- format: int64
- type: number
- BoltID:
- example: b6452ff5-14d2-526d-a187-e2b3ebc40e76
+ region_code:
+ description: The the ISO 3166-2 region code associated with this address.
+ example: NY
+ nullable: true
type: string
- Brand:
- example: Bolt
+ street_address1:
+ description: The street number and street name of the address.
+ example: 888 main street
type: string
- Description:
- example: The softest tee you'll ever see.
+ 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:
+ 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:
+ 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
- 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
+ description:
+ description: The APM account identifier; usually the email address.
type: string
- Prices:
- items:
- properties:
- Currency:
- example: USD
- type: string
- UnitPriceInCents:
- format: int64
- type: number
- type: object
- type: array
+ metadata:
+ $ref: '#/components/schemas/shopper_metadata'
type: object
- property_metadata_view:
+ description: Saved Credit Card Detail
+ saved_paypal_account_view:
properties:
- ImageURL:
- example: https://my-site.com/catalogue/product/image.png
+ id:
+ description: The ID of the payment method associated with the Shopper's account.
type: string
- Position:
- format: int
- type: number
- TextLabel:
+ 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
- property_value_view:
+ description: Saved PayPal account details.
+ profile_view:
+ description: The shopper's account profile.
properties:
- Metadata:
- $ref: '#/components/schemas/property_metadata_view'
- Value:
+ email:
+ $ref: '#/components/schemas/email'
+ first_name:
+ description: The given name of the person associated with this record.
+ example: Alan
type: string
- ValueID:
+ last_name:
+ description: The surname of the person associated with this record.
+ example: Watts
type: string
- type: object
- product_properties_map_view:
- description: The map of this product's properties.
- properties:
+ metadata:
+ $ref: '#/components/schemas/shopper_metadata'
name:
+ description: The given and surname of the person associated with this address.
+ example: Alan Watts
type: string
- nameID:
- type: string
- values:
- $ref: '#/components/schemas/property_value_view'
+ phone:
+ $ref: '#/components/schemas/phone'
type: object
- product_inventory_view:
+ account_details:
properties:
- Current:
- $ref: '#/components/schemas/product_view'
- NextCursor:
- type: string
- Parent:
- $ref: '#/components/schemas/product_view'
- Properties:
+ addresses:
+ description: A list of all addresses associated to the shopper's account.
items:
- $ref: '#/components/schemas/product_properties_map_view'
+ $ref: '#/components/schemas/account_details_address_view'
type: array
- Variants:
+ 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:
- $ref: '#/components/schemas/product_view'
+ 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
- catalog_view:
+ address:
+ description: The Address object is used for billing, shipping, and physical store address use cases.
properties:
- Catalog:
- items:
- $ref: '#/components/schemas/product_inventory_view'
- type: array
- Cursor:
+ company:
+ description: The company name associated with this address.
+ example: Bolt
+ maxLength: 1024
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:
+ 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
- CaptureID:
- format: int64
- type: number
- Credit:
+ 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
- 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
+ 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: integer
- ledger_time:
- description: the time of the ledger.
- format: date-time
+ 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: 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
+ 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
- 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'
+ 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
- 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:
+ 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:
- error:
- $ref: '#/components/schemas/error'
- event:
- $ref: '#/components/schemas/event'
- status:
+ 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:
- - failure
+ - 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
- errors:
- items:
- $ref: '#/components/schemas/error'
- type: array
- errors_base_response:
+ profile:
+ description: The first name, last name, email address, and phone number of a shopper.
properties:
- errors:
- items:
- $ref: '#/components/schemas/error'
- type: array
- event:
- $ref: '#/components/schemas/event'
- status:
- enum:
- - failure
+ 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
- shopify:
- description: Data externalized from shopify.
- example: VIP shopper
- type: string
- external_data:
- description: For Shopify users only; otherwise, is empty.
+ create_account_input:
+ description: The details needed to create a Bolt account.
properties:
- shopify:
- $ref: '#/components/schemas/shopify'
+ 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
- from_consumer:
- description: The credit card user. **Nullable** for Transactions Details.
+ update_profile:
+ description: The profile fields that can be updated for a shopper.
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
+ description: The given name of the person associated with this record.
+ example: Alan
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
+ description: The surname of the person associated with this record.
+ example: Watts
+ type: string
+ metadata:
+ $ref: '#/components/schemas/shopper_metadata'
type: object
- from_credit_card:
- description: A credit card.
+ 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:
- 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
+ has_bolt_account:
+ type: boolean
type: object
- gtin:
- description: The product's GTIN.
- example: AB3rJKam5DhYE
+ 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
- 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
+ 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
- hide_apm:
- description: Hides alternative payment methods from checkout.
+ 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:
- - amazonpay
- - affirm
- - afterpay
- - paypal
- - klarna
- - radialpaypal
+ - 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
- 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:
+ merchant_callbacks_view:
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:
+ 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:
- $ref: '#/components/schemas/i_cart_shipment_view'
+ properties:
+ type:
+ $ref: '#/components/schemas/merchant_callback_url_type'
+ url:
+ description: The full callback URL.
+ type: string
+ type: object
type: array
type: object
- i_remote_order_create:
+ merchant_callbacks_input:
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.
+ 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
- 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
+ - division_id
+ - callback_urls
type: object
- i_remote_order_result:
+ 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:
- token:
+ 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
- i_subscription_frequency_view:
+ cart_add_on:
+ description: A list of up to 3 add-ons that are displayed to the shopper.
properties:
- type:
- enum:
- - weekly
- - monthly
+ description:
+ description: The description of the product being displayed as an add on.
+ maxLength: 256
type: string
- value:
+ 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
- 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:
+ cart_discount:
properties:
- product_id:
- $ref: '#/components/schemas/product_id'
- quantity:
- $ref: '#/components/schemas/quantity'
+ 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
+ - 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
- 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:
+ cart_fee:
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
+ reference:
+ description: Unique reference used to identify the fee.
+ example: ItemFee
+ maxLength: 1024
+ nullable: false
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
+ name:
+ description: Name of the fee that will appear in the order ledger.
+ example: Item Fee
+ maxLength: 1024
+ nullable: true
type: string
- order_token:
+ 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
- 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
+ collection:
+ example: summer
type: string
- media_urls:
- description: List of URLs
+ collections:
items:
- $ref: '#/components/schemas/product_media_url'
+ $ref: '#/components/schemas/collection'
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
+ 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
- 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
+ gift_options_message:
+ description: Includes the gift message written by the shopper.
+ example: Happy Anniversary, Smoochy Poo!
type: string
- merchant_processor_linked:
- description: Indicates if the merchant account has set up their processor with Bolt.
- example: true
+ gift_options_wrap:
+ description: Defines whether gift wrapping was requested.
+ example: false
type: boolean
- merchant_view:
+ cart_item_gift_option:
+ description: Contains the gift option settings for wrapping and custom messages.
properties:
- created_at:
+ 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
- description:
+ display:
+ type: boolean
+ name:
+ maxLength: 1024
type: string
- processor:
- enum:
- - vantiv
- - adyen_payfac
- - adyen_gateway
- - stripe
- - braintree
- - cybersource
- - nmi
- - authorize_net
- - radial
- - shopify_payments
- - rocketgate
+ name_id:
+ format: int64
+ type: number
+ value:
+ maxLength: 1024
type: string
+ value_id:
+ format: int64
+ type: number
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
+ carrier:
+ description: The name of the carrier selected.
+ example: FedEx
type: string
- user_note:
- description: Notes from the shopper.
- example: This item is a gift.
+ 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
- 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:
+ 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'
- reference:
- $ref: '#/components/schemas/reference'
+ 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:
- 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
+ $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/amounts'
+ $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
- order_publisher_cart_shipments:
- description: A list of shipments.
- items:
- $ref: '#/components/schemas/order_publisher_cart_shipment'
- type: array
- properties:
+ cart_item:
properties:
- property1:
- example: metallic
+ 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
- property2:
- example: rust-resistant
+ 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
- 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'
+ 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:
- $ref: '#/components/schemas/taxable'
+ nullable: true
+ type: boolean
total_amount:
- $ref: '#/components/schemas/amounts'
+ description: The total amount, in cents, of the item including its taxes if applicable.
+ example: 1000
+ format: int64
+ type: number
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
+ - 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
- 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:
+ - reference
+ - name
+ - total_amount
+ - unit_price
+ - quantity
+ type: object
+ digital_delivery:
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'
+ email:
+ type: string
+ phone:
+ type: string
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.
+ in_store_cart_shipment:
properties:
- address:
- $ref: '#/components/schemas/pickup_address'
- cost:
- $ref: '#/components/schemas/cost'
+ cart_shipment:
+ $ref: '#/components/schemas/cart_shipment'
+ description:
+ description: Shipment option description.
+ example: Pick up in-store at 123 Main St.
+ type: string
distance:
- $ref: '#/components/schemas/distance'
+ example: 3
+ format: float64
+ type: number
distance_unit:
- $ref: '#/components/schemas/distance_unit'
+ enum:
+ - km
+ - mile
+ example: mile
+ type: string
+ in_store_pickup_address:
+ $ref: '#/components/schemas/address'
pickup_window_close:
- $ref: '#/components/schemas/pickup_window_close'
+ format: date
+ type: integer
pickup_window_open:
- $ref: '#/components/schemas/pickup_window_open'
- reference:
- $ref: '#/components/schemas/reference'
- signature:
- $ref: '#/components/schemas/signature'
+ format: date
+ type: integer
store_name:
- $ref: '#/components/schemas/name_store'
- tax_amount:
- $ref: '#/components/schemas/tax_amount'
+ description: The local store's name where the item can be picked up.
+ example: Bolt Collective
+ type: string
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.
+ fulfillment:
+ description: Defines the shipments associated with the cart items.
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'
+ 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
- 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.
+ cart_loyalty_rewards:
properties:
- Currency:
- $ref: '#/components/schemas/currency_iso'
- UnitPriceInCents:
- $ref: '#/components/schemas/amount'
+ 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
- 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.
+ 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:
- ImageURL:
- $ref: '#/components/schemas/product_media_url'
- Position:
- $ref: '#/components/schemas/product_property_position'
- TextLabel:
- $ref: '#/components/schemas/product_property_text_label'
+ encrypted_user_id:
+ example: ID12345678
+ type: string
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.
+ seller_split_amounts:
+ description: Defines the financial breakdown for a seller split, including subtotals, discounts, shipping, taxes, and the final gross amount.
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'
+ 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
- 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.
+ marketplace_commission_fee:
+ description: Configures the marketplace commission fee structure for a seller split, supporting both percentage-based and flat fee models.
properties:
- Current:
- $ref: '#/components/schemas/product'
- NextCursor:
- $ref: '#/components/schemas/product_next_cursor'
- Parent:
- $ref: '#/components/schemas/product'
- Variants:
- $ref: '#/components/schemas/products'
+ 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
- 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.
+ 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:
- 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.
+ 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
- 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:
+ order_create:
properties:
- auth:
- example: auth
- type: string
- avs_response:
- example: avs
- type: string
- cvv_response:
- example: cvv
+ 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:
- 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'
+ $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:
- - reason
- - status
+ - cart
+ - channel
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:
+ i_currency:
properties:
- avs_result:
- example: avs result
+ currency:
+ example: USD
type: string
- cvv_result:
- example: cvv result
+ currency_symbol:
+ example: $
type: string
type: object
- refund_transaction:
+ amount_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'
- 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'
+ format: int64
+ example: 754
+ type: number
+ currency:
+ example: USD
+ type: string
+ currency_symbol:
+ example: $
+ type: string
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:
+ i_free_shipping_discount_view:
properties:
- category:
- description: Internal categories for risk analysis.
- example: blacklist_email_in_blacklist
+ 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
- weight:
- example: The weight
+ 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:
+ description: Used to define the reference ID associated with the discount available.
+ example: DISC-1234
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.
+ i_cart_fee_view:
properties:
- contributions:
- $ref: '#/components/schemas/risk_model_contributions'
+ 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
- review:
+ gift_option_view:
+ description: Defines which gift options are hidden.
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
+ hide_gift_message:
+ example: false
+ type: boolean
+ hide_gift_wrap:
+ example: false
+ type: boolean
type: object
- risk_payment_instrument_factors.yml:
- description: Displays the result of the CVV and AVS checks returned at authorization.
+ cart_item_property_view:
properties:
- avs:
- example: avs result
+ color:
type: string
- cvv:
- example: cvv result
+ display:
+ type: boolean
+ name:
+ type: string
+ value:
type: string
type: object
- initialize_saved_payment_input:
- type: object
+ subscription:
+ description: Describes a product added as a recurring subscription.
properties:
- payment_method:
- type: object
+ frequency:
+ description: Describes how often the subscription recurs.
properties:
- type:
- type: string
+ unit:
+ description: The unit for this subscription's frequency.
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:
+ - 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:
- 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:
+ unit:
+ type: string
+ weight:
+ format: int64
+ type: number
type: object
+ i_cart_item_view:
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
+ 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:
- 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.
+ 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:
- $ref: '#/components/schemas/shipping_option_description_tooltip_content'
+ type: string
target:
- $ref: '#/components/schemas/shipping_option_description_tooltip_target'
+ format: int64
+ type: number
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_cart_shipment_view:
properties:
+ carrier:
+ description: The carrier used to deliver the shipment.
+ example: USPS
+ maxLength: 1024
+ type: string
cost:
- $ref: '#/components/schemas/cost'
+ $ref: '#/components/schemas/amount_view'
default:
- $ref: '#/components/schemas/shipping_default'
+ type: boolean
description:
- $ref: '#/components/schemas/shipping_option_description'
+ items:
+ $ref: '#/components/schemas/i_description_part'
+ type: array
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'
+ items:
+ $ref: '#/components/schemas/i_description_tooltip'
+ type: array
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'
+ 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:
- $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'
+ 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:
- $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
+ 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:
- $ref: '#/components/schemas/transaction_type'
+ type: string
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_cart_view:
+ description: This is the cart object returned in a successful response.
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'
+ 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
- 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_custom_field_view:
properties:
- company:
- description: The company name associated with this address.
- example: Bolt
- maxLength: 1024
+ checkout_step:
+ enum:
+ - SHIPPING_STEP
+ - DELIVERY_STEP
+ - PAYMENT_STEP
+ - ACCOUNT_REGISTRATION_SSO
type: string
- country:
- description: The name of the country associated with this address.
- example: United States
- maxLength: 1024
+ dynamic:
+ type: boolean
+ context:
+ enum:
+ - CHECKOUT
+ - SSO
type: string
- country_code:
- description: The ISO 3166-1 alpha-2 country code associated with this address.
- example: US
- maxLength: 2
- minLength: 2
+ external_id:
type: string
- default:
- description: Whether the added address is now the default address.
- example: true
+ 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
- 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
+ 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
- street_address1:
- description: The street number and street name of the address.
- example: 888 main street
- maxLength: 1024
+ payment_notice:
type: string
- street_address2:
- description: Any apartment, floor, or unit details.
- example: apt 3021
- maxLength: 1024
+ shipping_info_notice:
type: string
- street_address3:
- description: Any additional street address details.
- example: c/o Alicia Watts
- maxLength: 1024
- nullable: true
+ shipping_notice:
type: string
- street_address4:
- description: Any additional street address details.
- example: Bridge Street Apartment Building B
- maxLength: 1024
- nullable: true
+ type: object
+ i_order_external_data:
+ properties:
+ steam_id:
type: string
- required:
- - country_code
- - first_name
- - last_name
- - street_address1
- - locality
- - region
- - postal_code
- - country
type: object
- transaction_custom_fields:
+ i_order_view:
properties:
- field:
- $ref: '#/components/schemas/custom_fields'
- response:
- example: A response.
+ 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
- transaction_custom_fields_array:
- items:
- $ref: '#/components/schemas/transaction_custom_fields'
- type: array
- transaction_decision:
- description: The decision to approve or reject the transaction.
+ 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:
- - approve
- - reject
- example: approve
+ - csv
+ example: csv
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:
+ statements_type:
description: |
- Describes whether the indemnification decision and reason are up-to-date.
- * `1` - current
- * `2` - prior
+ 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:
- - 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.
+ - 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:
- 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'
+ 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
+ affirm_vcn_token:
+ description: The checkout token associated with Affirm VCN credit cards.
+ example: a1B2c3D4e5F6G7H8i9J0k1L2m3N4o5P6Q7r8S9t0
+ nullable: true
+ 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..a28daf7 100644
--- a/.speakeasy/workflow.lock
+++ b/.speakeasy/workflow.lock
@@ -1,9 +1,9 @@
-speakeasyVersion: 1.631.4
+speakeasyVersion: 1.755.0
sources:
bolt-python-api:
sourceNamespace: bolt-python-api
- sourceRevisionDigest: sha256:979591ab54418fcfcf6bb36ba4aa4748231411d7d9612b3d60aec41003fde169
- sourceBlobDigest: sha256:0af17f076ed8196f10613e2f3081b45456c15f67bc75ca7a2f569bf55d9bca8a
+ sourceRevisionDigest: sha256:89d94bf0a543623230fc4b1dab50b2e7a613fbc09b71831595e50cfbb657d89c
+ sourceBlobDigest: sha256:d93ce3cc4beda7f3465e42f756a9b7c35155310d187a72fe073ed44ada4a90e4
tags:
- latest
- 1.0.1
@@ -11,10 +11,10 @@ targets:
bolt-sdk:
source: bolt-python-api
sourceNamespace: bolt-python-api
- sourceRevisionDigest: sha256:979591ab54418fcfcf6bb36ba4aa4748231411d7d9612b3d60aec41003fde169
- sourceBlobDigest: sha256:0af17f076ed8196f10613e2f3081b45456c15f67bc75ca7a2f569bf55d9bca8a
+ sourceRevisionDigest: sha256:89d94bf0a543623230fc4b1dab50b2e7a613fbc09b71831595e50cfbb657d89c
+ sourceBlobDigest: sha256:d93ce3cc4beda7f3465e42f756a9b7c35155310d187a72fe073ed44ada4a90e4
codeSamplesNamespace: bolt-python-api-code-samples
- codeSamplesRevisionDigest: sha256:b2ae1de49eb37e75145bff16bf80714605249cc212a90f5402b20b5ec9aafb86
+ codeSamplesRevisionDigest: sha256:d5198ec977119f5e425206b55b0bcf95aa98b0a090741270d11587e5dc8a27b6
workflow:
workflowVersion: 1.0.0
speakeasyVersion: latest
diff --git a/README-PYPI.md b/README-PYPI.md
new file mode 100644
index 0000000..d08f633
--- /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.10"
+# 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..4a56c2e 100644
--- a/README.md
+++ b/README.md
@@ -91,7 +91,7 @@ It's also possible to write a standalone Python script without needing to set up
```python
#!/usr/bin/env -S uv run --script
# /// script
-# requires-python = ">=3.9"
+# requires-python = ">=3.10"
# dependencies = [
# "bolt-api-sdk",
# ]
@@ -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..5b6d6be
--- /dev/null
+++ b/RELEASES.md
@@ -0,0 +1,11 @@
+
+
+## 2026-03-14 00:45:36
+### Changes
+Based on:
+- OpenAPI Doc
+- Speakeasy CLI 1.755.0 (2.865.2) 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/accountdetailsaddressviewpriority.md b/docs/models/accountdetailsaddressviewpriority.md
index f9fa2a7..bb2837d 100644
--- a/docs/models/accountdetailsaddressviewpriority.md
+++ b/docs/models/accountdetailsaddressviewpriority.md
@@ -2,6 +2,14 @@
The shopper-indicated priority of this address compared to other addresses on their account.
+## Example Usage
+
+```python
+from bolt_api_sdk.models import AccountDetailsAddressViewPriority
+
+value = AccountDetailsAddressViewPriority.PRIMARY
+```
+
## Values
diff --git a/docs/models/accountidentifierstatus.md b/docs/models/accountidentifierstatus.md
index ce51582..cc3a569 100644
--- a/docs/models/accountidentifierstatus.md
+++ b/docs/models/accountidentifierstatus.md
@@ -2,6 +2,14 @@
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".
+## Example Usage
+
+```python
+from bolt_api_sdk.models import AccountIdentifierStatus
+
+value = AccountIdentifierStatus.MISSING
+```
+
## Values
diff --git a/docs/models/action.md b/docs/models/action.md
index 36259c2..9080f68 100644
--- a/docs/models/action.md
+++ b/docs/models/action.md
@@ -1,5 +1,13 @@
# Action
+## Example Usage
+
+```python
+from bolt_api_sdk.models import Action
+
+value = Action.SET_PASSWORD
+```
+
## Values
diff --git a/docs/models/addaddresspriority.md b/docs/models/addaddresspriority.md
index 14a1a2f..e7b0e87 100644
--- a/docs/models/addaddresspriority.md
+++ b/docs/models/addaddresspriority.md
@@ -2,6 +2,14 @@
The shopper-indicated priority of this address compared to other addresses on their account.
+## Example Usage
+
+```python
+from bolt_api_sdk.models import AddAddressPriority
+
+value = AddAddressPriority.PRIMARY
+```
+
## Values
diff --git a/docs/models/addpaymentmethodnetwork.md b/docs/models/addpaymentmethodnetwork.md
index 34bdb1a..0967b95 100644
--- a/docs/models/addpaymentmethodnetwork.md
+++ b/docs/models/addpaymentmethodnetwork.md
@@ -1,5 +1,13 @@
# AddPaymentMethodNetwork
+## Example Usage
+
+```python
+from bolt_api_sdk.models import AddPaymentMethodNetwork
+
+value = AddPaymentMethodNetwork.VISA
+```
+
## Values
diff --git a/docs/models/addpaymentmethodpriority.md b/docs/models/addpaymentmethodpriority.md
index 395c388..afc15d8 100644
--- a/docs/models/addpaymentmethodpriority.md
+++ b/docs/models/addpaymentmethodpriority.md
@@ -3,6 +3,14 @@
Used to indicate the card's priority. '1' indicates primary, while '2' indicates a secondary card.
+## Example Usage
+
+```python
+from bolt_api_sdk.models import AddPaymentMethodPriority
+
+value = AddPaymentMethodPriority.ONE
+```
+
## Values
diff --git a/docs/models/addpaymentmethodtokentype.md b/docs/models/addpaymentmethodtokentype.md
index 98472c2..735e2a2 100644
--- a/docs/models/addpaymentmethodtokentype.md
+++ b/docs/models/addpaymentmethodtokentype.md
@@ -3,6 +3,14 @@
Used to define which payment processor generated the token for this credit card. For those using Bolt's tokenizer, the value must be `bolt`.
+## Example Usage
+
+```python
+from bolt_api_sdk.models import AddPaymentMethodTokenType
+
+value = AddPaymentMethodTokenType.VANTIV
+```
+
## Values
diff --git a/docs/models/addressviewpriority.md b/docs/models/addressviewpriority.md
index e44be85..5340405 100644
--- a/docs/models/addressviewpriority.md
+++ b/docs/models/addressviewpriority.md
@@ -2,6 +2,14 @@
The shopper-indicated priority of this address compared to other addresses on their account.
+## Example Usage
+
+```python
+from bolt_api_sdk.models import AddressViewPriority
+
+value = AddressViewPriority.PRIMARY
+```
+
## Values
diff --git a/docs/models/authorizationverificationstatus.md b/docs/models/authorizationverificationstatus.md
index ba041a1..6f063f4 100644
--- a/docs/models/authorizationverificationstatus.md
+++ b/docs/models/authorizationverificationstatus.md
@@ -2,6 +2,14 @@
Used to track the status of micro-authorizations. **Nullable** for Transactions Details.
+## Example Usage
+
+```python
+from bolt_api_sdk.models import AuthorizationVerificationStatus
+
+value = AuthorizationVerificationStatus.NEW
+```
+
## Values
diff --git a/docs/models/authverificationstatus.md b/docs/models/authverificationstatus.md
index c122035..4216a66 100644
--- a/docs/models/authverificationstatus.md
+++ b/docs/models/authverificationstatus.md
@@ -1,5 +1,13 @@
# AuthVerificationStatus
+## Example Usage
+
+```python
+from bolt_api_sdk.models import AuthVerificationStatus
+
+value = AuthVerificationStatus.UNKNOWN
+```
+
## Values
diff --git a/docs/models/avsresponse.md b/docs/models/avsresponse.md
index cb5f8a2..ac774ba 100644
--- a/docs/models/avsresponse.md
+++ b/docs/models/avsresponse.md
@@ -1,5 +1,13 @@
# AvsResponse
+## Example Usage
+
+```python
+from bolt_api_sdk.models import AvsResponse
+
+value = AvsResponse.ZERO
+```
+
## Values
diff --git a/docs/models/capturestatus.md b/docs/models/capturestatus.md
index 61868eb..c019d88 100644
--- a/docs/models/capturestatus.md
+++ b/docs/models/capturestatus.md
@@ -2,6 +2,14 @@
The status of the capture. **Nullable** for Transactions Details.
+## Example Usage
+
+```python
+from bolt_api_sdk.models import CaptureStatus
+
+value = CaptureStatus.SUCCEEDED
+```
+
## Values
diff --git a/docs/models/captureviewtype.md b/docs/models/captureviewtype.md
index 2770f11..07728af 100644
--- a/docs/models/captureviewtype.md
+++ b/docs/models/captureviewtype.md
@@ -3,6 +3,14 @@
Fee type options. **Nullable** for Transactions Details.
+## Example Usage
+
+```python
+from bolt_api_sdk.models import CaptureViewType
+
+value = CaptureViewType.NET
+```
+
## Values
diff --git a/docs/models/carddisplaynetwork.md b/docs/models/carddisplaynetwork.md
index 0bc31e2..563bc50 100644
--- a/docs/models/carddisplaynetwork.md
+++ b/docs/models/carddisplaynetwork.md
@@ -2,6 +2,14 @@
The card's network. **Nullable** for Transactions Details.
+## Example Usage
+
+```python
+from bolt_api_sdk.models import CardDisplayNetwork
+
+value = CardDisplayNetwork.CREDIT_CARD
+```
+
## Values
diff --git a/docs/models/cardnetwork.md b/docs/models/cardnetwork.md
index 595c192..378a371 100644
--- a/docs/models/cardnetwork.md
+++ b/docs/models/cardnetwork.md
@@ -3,6 +3,14 @@
The card's network code. **Nullable** for Transactions Details. Note: LEGACY diners_club_us_ca now tagged as mastercard
+## Example Usage
+
+```python
+from bolt_api_sdk.models import CardNetwork
+
+value = CardNetwork.VISA
+```
+
## Values
diff --git a/docs/models/cardstatus.md b/docs/models/cardstatus.md
index 5a94d05..01dcb2a 100644
--- a/docs/models/cardstatus.md
+++ b/docs/models/cardstatus.md
@@ -2,6 +2,14 @@
The card's status. **Nullable** for Transactions Details.
+## Example Usage
+
+```python
+from bolt_api_sdk.models import CardStatus
+
+value = CardStatus.ACTIVE
+```
+
## Values
diff --git a/docs/models/cardtokentype.md b/docs/models/cardtokentype.md
index 15ab4ea..9775e80 100644
--- a/docs/models/cardtokentype.md
+++ b/docs/models/cardtokentype.md
@@ -3,6 +3,14 @@
Used to define which payment processor generated the token for this credit card.
+## Example Usage
+
+```python
+from bolt_api_sdk.models import CardTokenType
+
+value = CardTokenType.VANTIV
+```
+
## Values
diff --git a/docs/models/cartdiscountdiscountcategory.md b/docs/models/cartdiscountdiscountcategory.md
index 66471c3..dc14001 100644
--- a/docs/models/cartdiscountdiscountcategory.md
+++ b/docs/models/cartdiscountdiscountcategory.md
@@ -1,5 +1,13 @@
# CartDiscountDiscountCategory
+## Example Usage
+
+```python
+from bolt_api_sdk.models import CartDiscountDiscountCategory
+
+value = CartDiscountDiscountCategory.COUPON
+```
+
## Values
@@ -14,4 +22,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/cartdiscounttype.md b/docs/models/cartdiscounttype.md
index fb70306..30ee7ba 100644
--- a/docs/models/cartdiscounttype.md
+++ b/docs/models/cartdiscounttype.md
@@ -2,6 +2,14 @@
The type of discount.
+## Example Usage
+
+```python
+from bolt_api_sdk.models import CartDiscountType
+
+value = CartDiscountType.FIXED_AMOUNT
+```
+
## Values
diff --git a/docs/models/cartitemshipmenttype.md b/docs/models/cartitemshipmenttype.md
index 2f77968..9a515e2 100644
--- a/docs/models/cartitemshipmenttype.md
+++ b/docs/models/cartitemshipmenttype.md
@@ -1,5 +1,13 @@
# CartItemShipmentType
+## Example Usage
+
+```python
+from bolt_api_sdk.models import CartItemShipmentType
+
+value = CartItemShipmentType.UNKNOWN
+```
+
## Values
diff --git a/docs/models/cartitemtype.md b/docs/models/cartitemtype.md
index 7158ee0..9dc2c1d 100644
--- a/docs/models/cartitemtype.md
+++ b/docs/models/cartitemtype.md
@@ -1,5 +1,13 @@
# CartItemType
+## Example Usage
+
+```python
+from bolt_api_sdk.models import CartItemType
+
+value = CartItemType.UNKNOWN
+```
+
## Values
diff --git a/docs/models/cartshipmenttype.md b/docs/models/cartshipmenttype.md
index d05351a..9ad99aa 100644
--- a/docs/models/cartshipmenttype.md
+++ b/docs/models/cartshipmenttype.md
@@ -2,6 +2,14 @@
The type corresponding to this shipment, if applicable.
+## Example Usage
+
+```python
+from bolt_api_sdk.models import CartShipmentType
+
+value = CartShipmentType.DOOR_DELIVERY
+```
+
## Values
diff --git a/docs/models/channel.md b/docs/models/channel.md
index c0095fa..bd89a64 100644
--- a/docs/models/channel.md
+++ b/docs/models/channel.md
@@ -2,6 +2,14 @@
Used to determine the channel from which the order was created.
+## Example Usage
+
+```python
+from bolt_api_sdk.models import Channel
+
+value = Channel.BROWSER
+```
+
## Values
diff --git a/docs/models/chargebackreasoncode.md b/docs/models/chargebackreasoncode.md
index 5ecad8e..be1602d 100644
--- a/docs/models/chargebackreasoncode.md
+++ b/docs/models/chargebackreasoncode.md
@@ -2,6 +2,14 @@
Bolt's [standardized reason codes](https://help.bolt.com/merchants/references/policies/disputes/dispute-codes/).
+## Example Usage
+
+```python
+from bolt_api_sdk.models import ChargebackReasonCode
+
+value = ChargebackReasonCode.AUTHORIZATION_FAILED
+```
+
## Values
diff --git a/docs/models/chargebackrepresentmentresult.md b/docs/models/chargebackrepresentmentresult.md
index d22b1be..f814831 100644
--- a/docs/models/chargebackrepresentmentresult.md
+++ b/docs/models/chargebackrepresentmentresult.md
@@ -2,6 +2,14 @@
The result of the chargeback representment.
+## Example Usage
+
+```python
+from bolt_api_sdk.models import ChargebackRepresentmentResult
+
+value = ChargebackRepresentmentResult.NONE
+```
+
## Values
diff --git a/docs/models/checkoutsetup.md b/docs/models/checkoutsetup.md
index bac0d49..f7c03c8 100644
--- a/docs/models/checkoutsetup.md
+++ b/docs/models/checkoutsetup.md
@@ -1,5 +1,13 @@
# CheckoutSetup
+## Example Usage
+
+```python
+from bolt_api_sdk.models import CheckoutSetup
+
+value = CheckoutSetup.SHIPPING_STEP
+```
+
## Values
diff --git a/docs/models/consumermembershipstatus.md b/docs/models/consumermembershipstatus.md
index 415fc7b..3f3fd3e 100644
--- a/docs/models/consumermembershipstatus.md
+++ b/docs/models/consumermembershipstatus.md
@@ -2,6 +2,14 @@
True if user has an AllPass membership associated to their Bolt Account. **Nullable** for Transactions Details.
+## Example Usage
+
+```python
+from bolt_api_sdk.models import ConsumerMembershipStatus
+
+value = ConsumerMembershipStatus.ACTIVE
+```
+
## Values
diff --git a/docs/models/creditcard.md b/docs/models/creditcard.md
index b7bd7fd..9c14c6a 100644
--- a/docs/models/creditcard.md
+++ b/docs/models/creditcard.md
@@ -15,4 +15,5 @@ The credit_card object is used to to pay for guest-checkout transactions or save
| `priority` | [Optional[models.CreditCardPriority]](../models/creditcardpriority.md) | :heavy_minus_sign: | Used to indicate the card's priority. '1' indicates primary, while '2' indicates a secondary card. | |
| `save` | *Optional[bool]* | :heavy_minus_sign: | Determines whether or not the credit card will be saved to the shopper's account. Defaults to `true`. | |
| `token` | *str* | :heavy_check_mark: | The Bolt token associated to the credit card. | a1B2c3D4e5F6G7H8i9J0k1L2m3N4o5P6Q7r8S9t0 |
-| `token_type` | [models.CreditCardTokenType](../models/creditcardtokentype.md) | :heavy_check_mark: | Used to define which payment processor generated the token for this credit card; for those using Bolt's tokenizer, the value must be `bolt`. | bolt |
\ No newline at end of file
+| `token_type` | [models.CreditCardTokenType](../models/creditcardtokentype.md) | :heavy_check_mark: | Used to define which payment processor generated the token for this credit card; for those using Bolt's tokenizer, the value must be `bolt`. | bolt |
+| `affirm_vcn_token` | *OptionalNullable[str]* | :heavy_minus_sign: | The checkout token associated with Affirm VCN credit cards. | a1B2c3D4e5F6G7H8i9J0k1L2m3N4o5P6Q7r8S9t0 |
\ No newline at end of file
diff --git a/docs/models/creditcardauthorizationreason.md b/docs/models/creditcardauthorizationreason.md
index a9197da..179ea4e 100644
--- a/docs/models/creditcardauthorizationreason.md
+++ b/docs/models/creditcardauthorizationreason.md
@@ -13,6 +13,14 @@ The reason code explaining the authorization status.
* `10` - unsupported_payment_method
+## Example Usage
+
+```python
+from bolt_api_sdk.models import CreditCardAuthorizationReason
+
+value = CreditCardAuthorizationReason.NONE
+```
+
## Values
diff --git a/docs/models/creditcardauthorizationstatus.md b/docs/models/creditcardauthorizationstatus.md
index 595a9fa..8666e32 100644
--- a/docs/models/creditcardauthorizationstatus.md
+++ b/docs/models/creditcardauthorizationstatus.md
@@ -6,6 +6,14 @@ The status of the authorization request.
* `3` - error
+## Example Usage
+
+```python
+from bolt_api_sdk.models import CreditCardAuthorizationStatus
+
+value = CreditCardAuthorizationStatus.SUCCEEDED
+```
+
## Values
diff --git a/docs/models/creditcardcreditviewstatus.md b/docs/models/creditcardcreditviewstatus.md
index 218cede..50eebba 100644
--- a/docs/models/creditcardcreditviewstatus.md
+++ b/docs/models/creditcardcreditviewstatus.md
@@ -2,6 +2,14 @@
The status of the refund to a card.
+## Example Usage
+
+```python
+from bolt_api_sdk.models import CreditCardCreditViewStatus
+
+value = CreditCardCreditViewStatus.SUCCEEDED
+```
+
## Values
diff --git a/docs/models/creditcardpriority.md b/docs/models/creditcardpriority.md
index a80089c..de65de5 100644
--- a/docs/models/creditcardpriority.md
+++ b/docs/models/creditcardpriority.md
@@ -2,6 +2,14 @@
Used to indicate the card's priority. '1' indicates primary, while '2' indicates a secondary card.
+## Example Usage
+
+```python
+from bolt_api_sdk.models import CreditCardPriority
+
+value = CreditCardPriority.ONE
+```
+
## Values
diff --git a/docs/models/creditcardtokentype.md b/docs/models/creditcardtokentype.md
index 724edb5..8ccda32 100644
--- a/docs/models/creditcardtokentype.md
+++ b/docs/models/creditcardtokentype.md
@@ -2,6 +2,14 @@
Used to define which payment processor generated the token for this credit card; for those using Bolt's tokenizer, the value must be `bolt`.
+## Example Usage
+
+```python
+from bolt_api_sdk.models import CreditCardTokenType
+
+value = CreditCardTokenType.BOLT
+```
+
## Values
diff --git a/docs/models/creditcardvoidcause.md b/docs/models/creditcardvoidcause.md
index 93feec7..9c0dcbc 100644
--- a/docs/models/creditcardvoidcause.md
+++ b/docs/models/creditcardvoidcause.md
@@ -2,6 +2,14 @@
Specifies why this particular transaction is voided.
+## Example Usage
+
+```python
+from bolt_api_sdk.models import CreditCardVoidCause
+
+value = CreditCardVoidCause.MERCHANT_ACTION
+```
+
## Values
diff --git a/docs/models/creditcardvoidstatus.md b/docs/models/creditcardvoidstatus.md
index 684131f..5d77e85 100644
--- a/docs/models/creditcardvoidstatus.md
+++ b/docs/models/creditcardvoidstatus.md
@@ -2,6 +2,14 @@
The status of the void request.
+## Example Usage
+
+```python
+from bolt_api_sdk.models import CreditCardVoidStatus
+
+value = CreditCardVoidStatus.SUCCEEDED
+```
+
## Values
diff --git a/docs/models/customfieldscontext.md b/docs/models/customfieldscontext.md
index a0ede30..731fd1a 100644
--- a/docs/models/customfieldscontext.md
+++ b/docs/models/customfieldscontext.md
@@ -2,6 +2,14 @@
The app context of where the custom field is used.
+## Example Usage
+
+```python
+from bolt_api_sdk.models import CustomFieldsContext
+
+value = CustomFieldsContext.CHECKOUT
+```
+
## Values
diff --git a/docs/models/customfieldviewcheckoutstep.md b/docs/models/customfieldviewcheckoutstep.md
index 8d9113e..3255af7 100644
--- a/docs/models/customfieldviewcheckoutstep.md
+++ b/docs/models/customfieldviewcheckoutstep.md
@@ -1,5 +1,13 @@
# CustomFieldViewCheckoutStep
+## Example Usage
+
+```python
+from bolt_api_sdk.models import CustomFieldViewCheckoutStep
+
+value = CustomFieldViewCheckoutStep.SHIPPING_STEP
+```
+
## Values
diff --git a/docs/models/customfieldviewcontext.md b/docs/models/customfieldviewcontext.md
index 68830d4..53f5368 100644
--- a/docs/models/customfieldviewcontext.md
+++ b/docs/models/customfieldviewcontext.md
@@ -1,5 +1,13 @@
# CustomFieldViewContext
+## Example Usage
+
+```python
+from bolt_api_sdk.models import CustomFieldViewContext
+
+value = CustomFieldViewContext.CHECKOUT
+```
+
## Values
diff --git a/docs/models/cvvresponse.md b/docs/models/cvvresponse.md
index 32e852e..c4613c9 100644
--- a/docs/models/cvvresponse.md
+++ b/docs/models/cvvresponse.md
@@ -1,5 +1,13 @@
# CvvResponse
+## Example Usage
+
+```python
+from bolt_api_sdk.models import CvvResponse
+
+value = CvvResponse.M
+```
+
## Values
diff --git a/docs/models/decision.md b/docs/models/decision.md
index 84b6e33..565e15f 100644
--- a/docs/models/decision.md
+++ b/docs/models/decision.md
@@ -1,5 +1,13 @@
# Decision
+## Example Usage
+
+```python
+from bolt_api_sdk.models import Decision
+
+value = Decision.APPROVE
+```
+
## Values
diff --git a/docs/models/editaddresspriority.md b/docs/models/editaddresspriority.md
index 2015589..163c3a9 100644
--- a/docs/models/editaddresspriority.md
+++ b/docs/models/editaddresspriority.md
@@ -2,6 +2,14 @@
The shopper-indicated priority of this address compared to other addresses on their account.
+## Example Usage
+
+```python
+from bolt_api_sdk.models import EditAddressPriority
+
+value = EditAddressPriority.PRIMARY
+```
+
## Values
diff --git a/docs/models/emailpriority.md b/docs/models/emailpriority.md
index d7775b8..93aa7c6 100644
--- a/docs/models/emailpriority.md
+++ b/docs/models/emailpriority.md
@@ -2,6 +2,14 @@
This is the priority of the contact method. This field's contents are not displayed in the transaction details view.
+## Example Usage
+
+```python
+from bolt_api_sdk.models import EmailPriority
+
+value = EmailPriority.PRIMARY
+```
+
## Values
diff --git a/docs/models/emailstatus.md b/docs/models/emailstatus.md
index 47163a4..df82bcc 100644
--- a/docs/models/emailstatus.md
+++ b/docs/models/emailstatus.md
@@ -2,6 +2,14 @@
This is the status of the contact method.
+## Example Usage
+
+```python
+from bolt_api_sdk.models import EmailStatus
+
+value = EmailStatus.ACTIVE
+```
+
## Values
diff --git a/docs/models/fulfillmenttype.md b/docs/models/fulfillmenttype.md
index 54931f6..9542cb4 100644
--- a/docs/models/fulfillmenttype.md
+++ b/docs/models/fulfillmenttype.md
@@ -1,5 +1,13 @@
# FulfillmentType
+## Example Usage
+
+```python
+from bolt_api_sdk.models import FulfillmentType
+
+value = FulfillmentType.PHYSICAL_DOOR_DELIVERY
+```
+
## Values
diff --git a/docs/models/hideapm.md b/docs/models/hideapm.md
index aff18e9..a0be8d9 100644
--- a/docs/models/hideapm.md
+++ b/docs/models/hideapm.md
@@ -1,5 +1,13 @@
# HideApm
+## Example Usage
+
+```python
+from bolt_api_sdk.models import HideApm
+
+value = HideApm.PAYPAL
+```
+
## Values
diff --git a/docs/models/hooktype.md b/docs/models/hooktype.md
index 148d8d5..236e2d5 100644
--- a/docs/models/hooktype.md
+++ b/docs/models/hooktype.md
@@ -1,5 +1,13 @@
# HookType
+## Example Usage
+
+```python
+from bolt_api_sdk.models import HookType
+
+value = HookType.ONE
+```
+
## Values
diff --git a/docs/models/icartdiscountviewdiscountcategory.md b/docs/models/icartdiscountviewdiscountcategory.md
index 3121156..13487c8 100644
--- a/docs/models/icartdiscountviewdiscountcategory.md
+++ b/docs/models/icartdiscountviewdiscountcategory.md
@@ -1,5 +1,13 @@
# ICartDiscountViewDiscountCategory
+## Example Usage
+
+```python
+from bolt_api_sdk.models import ICartDiscountViewDiscountCategory
+
+value = ICartDiscountViewDiscountCategory.COUPON
+```
+
## Values
@@ -14,4 +22,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/icartitemviewshipmenttype.md b/docs/models/icartitemviewshipmenttype.md
index a8412f8..765ec60 100644
--- a/docs/models/icartitemviewshipmenttype.md
+++ b/docs/models/icartitemviewshipmenttype.md
@@ -1,5 +1,13 @@
# ICartItemViewShipmentType
+## Example Usage
+
+```python
+from bolt_api_sdk.models import ICartItemViewShipmentType
+
+value = ICartItemViewShipmentType.UNKNOWN
+```
+
## Values
diff --git a/docs/models/icartitemviewtype.md b/docs/models/icartitemviewtype.md
index 3a22f89..344f401 100644
--- a/docs/models/icartitemviewtype.md
+++ b/docs/models/icartitemviewtype.md
@@ -1,5 +1,13 @@
# ICartItemViewType
+## Example Usage
+
+```python
+from bolt_api_sdk.models import ICartItemViewType
+
+value = ICartItemViewType.UNKNOWN
+```
+
## Values
diff --git a/docs/models/icustomfieldviewcheckoutstep.md b/docs/models/icustomfieldviewcheckoutstep.md
index bb269fe..3f0f47b 100644
--- a/docs/models/icustomfieldviewcheckoutstep.md
+++ b/docs/models/icustomfieldviewcheckoutstep.md
@@ -1,5 +1,13 @@
# ICustomFieldViewCheckoutStep
+## Example Usage
+
+```python
+from bolt_api_sdk.models import ICustomFieldViewCheckoutStep
+
+value = ICustomFieldViewCheckoutStep.SHIPPING_STEP
+```
+
## Values
diff --git a/docs/models/icustomfieldviewcontext.md b/docs/models/icustomfieldviewcontext.md
index f127654..1d343af 100644
--- a/docs/models/icustomfieldviewcontext.md
+++ b/docs/models/icustomfieldviewcontext.md
@@ -1,5 +1,13 @@
# ICustomFieldViewContext
+## Example Usage
+
+```python
+from bolt_api_sdk.models import ICustomFieldViewContext
+
+value = ICustomFieldViewContext.CHECKOUT
+```
+
## Values
diff --git a/docs/models/instorecartshipmentdistanceunit.md b/docs/models/instorecartshipmentdistanceunit.md
index 365f4fd..70b5164 100644
--- a/docs/models/instorecartshipmentdistanceunit.md
+++ b/docs/models/instorecartshipmentdistanceunit.md
@@ -1,5 +1,13 @@
# InStoreCartShipmentDistanceUnit
+## Example Usage
+
+```python
+from bolt_api_sdk.models import InStoreCartShipmentDistanceUnit
+
+value = InStoreCartShipmentDistanceUnit.KM
+```
+
## Values
diff --git a/docs/models/instoreshipment2distanceunit.md b/docs/models/instoreshipment2distanceunit.md
index 7c3dd13..00ec922 100644
--- a/docs/models/instoreshipment2distanceunit.md
+++ b/docs/models/instoreshipment2distanceunit.md
@@ -1,5 +1,13 @@
# InStoreShipment2DistanceUnit
+## Example Usage
+
+```python
+from bolt_api_sdk.models import InStoreShipment2DistanceUnit
+
+value = InStoreShipment2DistanceUnit.MILE
+```
+
## Values
diff --git a/docs/models/itemshipmenttype.md b/docs/models/itemshipmenttype.md
index 4702c9b..028d1b0 100644
--- a/docs/models/itemshipmenttype.md
+++ b/docs/models/itemshipmenttype.md
@@ -2,6 +2,14 @@
The shipment type selected by the shopper.
+## Example Usage
+
+```python
+from bolt_api_sdk.models import ItemShipmentType
+
+value = ItemShipmentType.UNKNOWN
+```
+
## Values
diff --git a/docs/models/manualdisputesstatus.md b/docs/models/manualdisputesstatus.md
index 1ed8a3c..09213e3 100644
--- a/docs/models/manualdisputesstatus.md
+++ b/docs/models/manualdisputesstatus.md
@@ -1,5 +1,13 @@
# ManualDisputesStatus
+## Example Usage
+
+```python
+from bolt_api_sdk.models import ManualDisputesStatus
+
+value = ManualDisputesStatus.PENDING
+```
+
## Values
diff --git a/docs/models/manualdisputeviewstatus.md b/docs/models/manualdisputeviewstatus.md
index e31ef0f..dee499f 100644
--- a/docs/models/manualdisputeviewstatus.md
+++ b/docs/models/manualdisputeviewstatus.md
@@ -1,5 +1,13 @@
# ManualDisputeViewStatus
+## Example Usage
+
+```python
+from bolt_api_sdk.models import ManualDisputeViewStatus
+
+value = ManualDisputeViewStatus.PENDING
+```
+
## Values
diff --git a/docs/models/merchantcallbackurltype.md b/docs/models/merchantcallbackurltype.md
index f4ce37e..fd37436 100644
--- a/docs/models/merchantcallbackurltype.md
+++ b/docs/models/merchantcallbackurltype.md
@@ -2,6 +2,14 @@
Bolt merchant division callback URL type
+## Example Usage
+
+```python
+from bolt_api_sdk.models import MerchantCallbackURLType
+
+value = MerchantCallbackURLType.OAUTH_REDIRECT
+```
+
## Values
diff --git a/docs/models/merchantcreditcardauthorizationprocessinginitiator.md b/docs/models/merchantcreditcardauthorizationprocessinginitiator.md
index b73a035..e2a7dc1 100644
--- a/docs/models/merchantcreditcardauthorizationprocessinginitiator.md
+++ b/docs/models/merchantcreditcardauthorizationprocessinginitiator.md
@@ -11,6 +11,14 @@ Determines who initiated the transaction (e.g. shopper, merchant) and how they d
* `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.
+## Example Usage
+
+```python
+from bolt_api_sdk.models import MerchantCreditCardAuthorizationProcessingInitiator
+
+value = MerchantCreditCardAuthorizationProcessingInitiator.INITIAL_CARD_ON_FILE
+```
+
## Values
diff --git a/docs/models/merchantcreditcardauthorizationrechargesource.md b/docs/models/merchantcreditcardauthorizationrechargesource.md
index 011d1d5..a7b9d3d 100644
--- a/docs/models/merchantcreditcardauthorizationrechargesource.md
+++ b/docs/models/merchantcreditcardauthorizationrechargesource.md
@@ -1,5 +1,13 @@
# MerchantCreditCardAuthorizationRechargeSource
+## Example Usage
+
+```python
+from bolt_api_sdk.models import MerchantCreditCardAuthorizationRechargeSource
+
+value = MerchantCreditCardAuthorizationRechargeSource.DIRECT_PAYMENTS
+```
+
## Values
diff --git a/docs/models/merchantcreditcardauthorizationsource.md b/docs/models/merchantcreditcardauthorizationsource.md
index a82e4c8..cf10c13 100644
--- a/docs/models/merchantcreditcardauthorizationsource.md
+++ b/docs/models/merchantcreditcardauthorizationsource.md
@@ -1,5 +1,13 @@
# MerchantCreditCardAuthorizationSource
+## Example Usage
+
+```python
+from bolt_api_sdk.models import MerchantCreditCardAuthorizationSource
+
+value = MerchantCreditCardAuthorizationSource.DIRECT_PAYMENTS
+```
+
## Values
diff --git a/docs/models/merchantonboardingstatuscode.md b/docs/models/merchantonboardingstatuscode.md
index 4299a79..7806031 100644
--- a/docs/models/merchantonboardingstatuscode.md
+++ b/docs/models/merchantonboardingstatuscode.md
@@ -1,5 +1,13 @@
# MerchantOnboardingStatusCode
+## Example Usage
+
+```python
+from bolt_api_sdk.models import MerchantOnboardingStatusCode
+
+value = MerchantOnboardingStatusCode.NEW_MERCHANT
+```
+
## Values
diff --git a/docs/models/merchantplatform.md b/docs/models/merchantplatform.md
index 55553c0..539809b 100644
--- a/docs/models/merchantplatform.md
+++ b/docs/models/merchantplatform.md
@@ -2,6 +2,14 @@
The type of platform being used for this merchant division.
+## Example Usage
+
+```python
+from bolt_api_sdk.models import MerchantPlatform
+
+value = MerchantPlatform.NONE
+```
+
## Values
diff --git a/docs/models/merchantstatus.md b/docs/models/merchantstatus.md
index d75307a..c9dc4fa 100644
--- a/docs/models/merchantstatus.md
+++ b/docs/models/merchantstatus.md
@@ -6,6 +6,14 @@ The merchant's status:
* `3` - Offboarding
+## Example Usage
+
+```python
+from bolt_api_sdk.models import MerchantStatus
+
+value = MerchantStatus.ONE
+```
+
## Values
diff --git a/docs/models/method.md b/docs/models/method.md
index feec76e..d86c3de 100644
--- a/docs/models/method.md
+++ b/docs/models/method.md
@@ -1,5 +1,13 @@
# Method
+## Example Usage
+
+```python
+from bolt_api_sdk.models import Method
+
+value = Method.CODE
+```
+
## Values
diff --git a/docs/models/mocktrackinginputstatus.md b/docs/models/mocktrackinginputstatus.md
index 71e7993..d92b5b6 100644
--- a/docs/models/mocktrackinginputstatus.md
+++ b/docs/models/mocktrackinginputstatus.md
@@ -2,6 +2,14 @@
The shipment status of a simulated order.
+## Example Usage
+
+```python
+from bolt_api_sdk.models import MockTrackingInputStatus
+
+value = MockTrackingInputStatus.IN_TRANSIT
+```
+
## Values
diff --git a/docs/models/network.md b/docs/models/network.md
index fc776ce..74fb045 100644
--- a/docs/models/network.md
+++ b/docs/models/network.md
@@ -1,5 +1,13 @@
# Network
+## Example Usage
+
+```python
+from bolt_api_sdk.models import Network
+
+value = Network.VISA
+```
+
## Values
diff --git a/docs/models/oauthtokeninputgranttype.md b/docs/models/oauthtokeninputgranttype.md
index 0663952..b68e316 100644
--- a/docs/models/oauthtokeninputgranttype.md
+++ b/docs/models/oauthtokeninputgranttype.md
@@ -5,6 +5,14 @@ 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.
+## Example Usage
+
+```python
+from bolt_api_sdk.models import OAuthTokenInputGrantType
+
+value = OAuthTokenInputGrantType.AUTHORIZATION_CODE
+```
+
## Values
diff --git a/docs/models/oauthtokeninputrefreshgranttype.md b/docs/models/oauthtokeninputrefreshgranttype.md
index 8f106e5..6af28fe 100644
--- a/docs/models/oauthtokeninputrefreshgranttype.md
+++ b/docs/models/oauthtokeninputrefreshgranttype.md
@@ -5,6 +5,14 @@ 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.
+## Example Usage
+
+```python
+from bolt_api_sdk.models import OAuthTokenInputRefreshGrantType
+
+value = OAuthTokenInputRefreshGrantType.REFRESH_TOKEN
+```
+
## Values
diff --git a/docs/models/paymentmethodaccountpriority.md b/docs/models/paymentmethodaccountpriority.md
index 4c47457..77c843c 100644
--- a/docs/models/paymentmethodaccountpriority.md
+++ b/docs/models/paymentmethodaccountpriority.md
@@ -3,6 +3,14 @@
Used to indicate the card's priority. '1' indicates primary, while '2' indicates a secondary card.
+## Example Usage
+
+```python
+from bolt_api_sdk.models import PaymentMethodAccountPriority
+
+value = PaymentMethodAccountPriority.ONE
+```
+
## Values
diff --git a/docs/models/paymentmethodaccounttokentype.md b/docs/models/paymentmethodaccounttokentype.md
index e1f7e4f..2e51f0f 100644
--- a/docs/models/paymentmethodaccounttokentype.md
+++ b/docs/models/paymentmethodaccounttokentype.md
@@ -3,6 +3,14 @@
Used to define which payment processor generated the token for this credit card. For those using Bolt's tokenizer, the value must be `bolt`.
+## Example Usage
+
+```python
+from bolt_api_sdk.models import PaymentMethodAccountTokenType
+
+value = PaymentMethodAccountTokenType.VANTIV
+```
+
## Values
diff --git a/docs/models/paymentservice.md b/docs/models/paymentservice.md
index 40a4998..2109b41 100644
--- a/docs/models/paymentservice.md
+++ b/docs/models/paymentservice.md
@@ -1,5 +1,13 @@
# PaymentService
+## Example Usage
+
+```python
+from bolt_api_sdk.models import PaymentService
+
+value = PaymentService.AFFIRM
+```
+
## Values
diff --git a/docs/models/phonepriority.md b/docs/models/phonepriority.md
index c0267a6..35c98ba 100644
--- a/docs/models/phonepriority.md
+++ b/docs/models/phonepriority.md
@@ -2,6 +2,14 @@
This is the priority of the contact method. This field's contents are not displayed in the transaction details view.
+## Example Usage
+
+```python
+from bolt_api_sdk.models import PhonePriority
+
+value = PhonePriority.PRIMARY
+```
+
## Values
diff --git a/docs/models/phonestatus.md b/docs/models/phonestatus.md
index cf3aa27..eaebfcc 100644
--- a/docs/models/phonestatus.md
+++ b/docs/models/phonestatus.md
@@ -2,6 +2,14 @@
This is the status of the contact method.
+## Example Usage
+
+```python
+from bolt_api_sdk.models import PhoneStatus
+
+value = PhoneStatus.ACTIVE
+```
+
## Values
diff --git a/docs/models/phoneviewpriority.md b/docs/models/phoneviewpriority.md
index 28db2c1..998afd5 100644
--- a/docs/models/phoneviewpriority.md
+++ b/docs/models/phoneviewpriority.md
@@ -1,5 +1,13 @@
# PhoneViewPriority
+## Example Usage
+
+```python
+from bolt_api_sdk.models import PhoneViewPriority
+
+value = PhoneViewPriority.PRIMARY
+```
+
## Values
diff --git a/docs/models/platformaccountstatus.md b/docs/models/platformaccountstatus.md
index c1e971d..d798cb9 100644
--- a/docs/models/platformaccountstatus.md
+++ b/docs/models/platformaccountstatus.md
@@ -1,5 +1,13 @@
# PlatformAccountStatus
+## Example Usage
+
+```python
+from bolt_api_sdk.models import PlatformAccountStatus
+
+value = PlatformAccountStatus.NONE
+```
+
## Values
diff --git a/docs/models/priority.md b/docs/models/priority.md
index cbaeef1..b51a216 100644
--- a/docs/models/priority.md
+++ b/docs/models/priority.md
@@ -3,6 +3,14 @@
Describes the card's priority.
+## Example Usage
+
+```python
+from bolt_api_sdk.models import Priority
+
+value = Priority.PRIMARY
+```
+
## Values
diff --git a/docs/models/processinginitiator.md b/docs/models/processinginitiator.md
index 75a1cbe..e4b54bb 100644
--- a/docs/models/processinginitiator.md
+++ b/docs/models/processinginitiator.md
@@ -2,6 +2,14 @@
Defines which payment method was used to initiate the transaction.
+## Example Usage
+
+```python
+from bolt_api_sdk.models import ProcessingInitiator
+
+value = ProcessingInitiator.INITIAL_CARD_ON_FILE
+```
+
## Values
diff --git a/docs/models/processor.md b/docs/models/processor.md
index 4de8e78..bd8a430 100644
--- a/docs/models/processor.md
+++ b/docs/models/processor.md
@@ -1,5 +1,13 @@
# Processor
+## Example Usage
+
+```python
+from bolt_api_sdk.models import Processor
+
+value = Processor.VANTIV
+```
+
## Values
diff --git a/docs/models/replaceaddresspriority.md b/docs/models/replaceaddresspriority.md
index d60fcce..6111c94 100644
--- a/docs/models/replaceaddresspriority.md
+++ b/docs/models/replaceaddresspriority.md
@@ -2,6 +2,14 @@
The shopper-indicated priority of this address compared to other addresses on their account.
+## Example Usage
+
+```python
+from bolt_api_sdk.models import ReplaceAddressPriority
+
+value = ReplaceAddressPriority.PRIMARY
+```
+
## Values
diff --git a/docs/models/representmentresult.md b/docs/models/representmentresult.md
index 84603ed..de1bb19 100644
--- a/docs/models/representmentresult.md
+++ b/docs/models/representmentresult.md
@@ -1,5 +1,13 @@
# RepresentmentResult
+## Example Usage
+
+```python
+from bolt_api_sdk.models import RepresentmentResult
+
+value = RepresentmentResult.NONE
+```
+
## Values
diff --git a/docs/models/requeststatus.md b/docs/models/requeststatus.md
index e1fa54f..ff39aea 100644
--- a/docs/models/requeststatus.md
+++ b/docs/models/requeststatus.md
@@ -1,5 +1,13 @@
# RequestStatus
+## Example Usage
+
+```python
+from bolt_api_sdk.models import RequestStatus
+
+value = RequestStatus.REVIEWED
+```
+
## Values
diff --git a/docs/models/riskdecisionfactoryml.md b/docs/models/riskdecisionfactoryml.md
index 17f377f..9fc5251 100644
--- a/docs/models/riskdecisionfactoryml.md
+++ b/docs/models/riskdecisionfactoryml.md
@@ -2,6 +2,14 @@
One of the main contributing factors to the fraud decision and score.
+## Example Usage
+
+```python
+from bolt_api_sdk.models import RiskDecisionFactorYml
+
+value = RiskDecisionFactorYml.ADDRESS_DETAILS
+```
+
## Values
diff --git a/docs/models/riskreviewstatus.md b/docs/models/riskreviewstatus.md
index 752d64c..e3bef1d 100644
--- a/docs/models/riskreviewstatus.md
+++ b/docs/models/riskreviewstatus.md
@@ -2,6 +2,14 @@
Describes the current Risk Review status. A transaction could be unreviewed, reviewed, or pending manual review by the Bolt team.
+## Example Usage
+
+```python
+from bolt_api_sdk.models import RiskReviewStatus
+
+value = RiskReviewStatus.UNKNOWN
+```
+
## Values
diff --git a/docs/models/savedcreditcardviewtype.md b/docs/models/savedcreditcardviewtype.md
index 27ef542..96b0a1f 100644
--- a/docs/models/savedcreditcardviewtype.md
+++ b/docs/models/savedcreditcardviewtype.md
@@ -2,6 +2,14 @@
The payment method type. If empty, the property defaults to `card`.
+## Example Usage
+
+```python
+from bolt_api_sdk.models import SavedCreditCardViewType
+
+value = SavedCreditCardViewType.CARD
+```
+
## Values
diff --git a/docs/models/savedpaypalaccountviewtype.md b/docs/models/savedpaypalaccountviewtype.md
index 3980286..34da706 100644
--- a/docs/models/savedpaypalaccountviewtype.md
+++ b/docs/models/savedpaypalaccountviewtype.md
@@ -2,6 +2,14 @@
Type field indicates this is a saved PayPal to differentiate it from a saved card.
+## Example Usage
+
+```python
+from bolt_api_sdk.models import SavedPaypalAccountViewType
+
+value = SavedPaypalAccountViewType.PAYPAL
+```
+
## Values
diff --git a/docs/models/scope.md b/docs/models/scope.md
index 64b1307..1b474a9 100644
--- a/docs/models/scope.md
+++ b/docs/models/scope.md
@@ -2,6 +2,14 @@
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).
+## Example Usage
+
+```python
+from bolt_api_sdk.models import Scope
+
+value = Scope.BOLT_ACCOUNT_MANAGE
+```
+
## Values
diff --git a/docs/models/splitsviewtype.md b/docs/models/splitsviewtype.md
index 4553edc..4c57423 100644
--- a/docs/models/splitsviewtype.md
+++ b/docs/models/splitsviewtype.md
@@ -3,6 +3,14 @@
**Nullable** for Transactions Details.
+## Example Usage
+
+```python
+from bolt_api_sdk.models import SplitsViewType
+
+value = SplitsViewType.NET
+```
+
## Values
diff --git a/docs/models/statementsfiletype.md b/docs/models/statementsfiletype.md
index c14d70c..c3f370f 100644
--- a/docs/models/statementsfiletype.md
+++ b/docs/models/statementsfiletype.md
@@ -2,6 +2,14 @@
This is the type of the file. Currently, Bolt only supports CSV statements.
+## Example Usage
+
+```python
+from bolt_api_sdk.models import StatementsFileType
+
+value = StatementsFileType.CSV
+```
+
## Values
diff --git a/docs/models/statementstype.md b/docs/models/statementstype.md
index 709d58e..38f97e5 100644
--- a/docs/models/statementstype.md
+++ b/docs/models/statementstype.md
@@ -6,6 +6,14 @@ The time period and statement type:
* [Dispute statement](https://help.bolt.com/operations/disputes/dispute-statements/#how-to-read-dispute-statements): Use `monthly_dispute`
+## Example Usage
+
+```python
+from bolt_api_sdk.models import StatementsType
+
+value = StatementsType.DAILY_TRANSACTION
+```
+
## Values
diff --git a/docs/models/trackingdetail.md b/docs/models/trackingdetail.md
index 417802a..d354dd0 100644
--- a/docs/models/trackingdetail.md
+++ b/docs/models/trackingdetail.md
@@ -7,7 +7,7 @@
| -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- |
| `city` | *str* | :heavy_check_mark: | N/A | New York |
| `country` | *str* | :heavy_check_mark: | N/A | USA |
-| `datetime` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | N/A | 2017-07-21T17:32:28Z |
+| `datetime_` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_check_mark: | N/A | 2017-07-21T17:32:28Z |
| `message` | *str* | :heavy_check_mark: | N/A | BILLING INFORMATION RECEIVED |
| `state` | *str* | :heavy_check_mark: | N/A | New York |
| `status` | [models.TrackingDetailStatus](../models/trackingdetailstatus.md) | :heavy_check_mark: | The transit status of the order being tracked. | in_transit |
diff --git a/docs/models/trackingdetailstatus.md b/docs/models/trackingdetailstatus.md
index 5978cc1..51a7ab4 100644
--- a/docs/models/trackingdetailstatus.md
+++ b/docs/models/trackingdetailstatus.md
@@ -2,6 +2,14 @@
The transit status of the order being tracked.
+## Example Usage
+
+```python
+from bolt_api_sdk.models import TrackingDetailStatus
+
+value = TrackingDetailStatus.UNKNOWN
+```
+
## Values
diff --git a/docs/models/transactiondetailsviewviewstatus.md b/docs/models/transactiondetailsviewviewstatus.md
index d38eeb9..bbdd581 100644
--- a/docs/models/transactiondetailsviewviewstatus.md
+++ b/docs/models/transactiondetailsviewviewstatus.md
@@ -1,5 +1,13 @@
# TransactionDetailsViewViewStatus
+## Example Usage
+
+```python
+from bolt_api_sdk.models import TransactionDetailsViewViewStatus
+
+value = TransactionDetailsViewViewStatus.NOT_VIEWED
+```
+
## Values
diff --git a/docs/models/transactionindemnificationdecision.md b/docs/models/transactionindemnificationdecision.md
index 2b278a8..c40ca8d 100644
--- a/docs/models/transactionindemnificationdecision.md
+++ b/docs/models/transactionindemnificationdecision.md
@@ -3,6 +3,14 @@
Describes whether the transaction is indemnified by Bolt for fraud.
+## Example Usage
+
+```python
+from bolt_api_sdk.models import TransactionIndemnificationDecision
+
+value = TransactionIndemnificationDecision.UNKNOWN
+```
+
## Values
diff --git a/docs/models/transactionindemnificationreason.md b/docs/models/transactionindemnificationreason.md
index d7f094b..9ab6370 100644
--- a/docs/models/transactionindemnificationreason.md
+++ b/docs/models/transactionindemnificationreason.md
@@ -3,6 +3,14 @@
Describes the reason that the transaction is or is not indemnified by Bolt for fraud.
+## Example Usage
+
+```python
+from bolt_api_sdk.models import TransactionIndemnificationReason
+
+value = TransactionIndemnificationReason.UNKNOWN
+```
+
## Values
diff --git a/docs/models/transactionprocessor.md b/docs/models/transactionprocessor.md
index acc4248..777ab29 100644
--- a/docs/models/transactionprocessor.md
+++ b/docs/models/transactionprocessor.md
@@ -2,6 +2,14 @@
The processor used. **Nullable** for Transactions Details.
+## Example Usage
+
+```python
+from bolt_api_sdk.models import TransactionProcessor
+
+value = TransactionProcessor.ADYEN_GATEWAY
+```
+
## Values
diff --git a/docs/models/transactionprocessorstatus.md b/docs/models/transactionprocessorstatus.md
index eaf9a02..c0c73c9 100644
--- a/docs/models/transactionprocessorstatus.md
+++ b/docs/models/transactionprocessorstatus.md
@@ -2,6 +2,14 @@
The processor's status. Only `primary` and `active` processor are displayed.
+## Example Usage
+
+```python
+from bolt_api_sdk.models import TransactionProcessorStatus
+
+value = TransactionProcessorStatus.PRIMARY
+```
+
## Values
diff --git a/docs/models/transactionsplitsviewtype.md b/docs/models/transactionsplitsviewtype.md
index 55b3fe8..3cbadc9 100644
--- a/docs/models/transactionsplitsviewtype.md
+++ b/docs/models/transactionsplitsviewtype.md
@@ -1,5 +1,13 @@
# TransactionSplitsViewType
+## Example Usage
+
+```python
+from bolt_api_sdk.models import TransactionSplitsViewType
+
+value = TransactionSplitsViewType.NET
+```
+
## Values
diff --git a/docs/models/transactionstatus.md b/docs/models/transactionstatus.md
index f0b1b63..6046e8e 100644
--- a/docs/models/transactionstatus.md
+++ b/docs/models/transactionstatus.md
@@ -2,6 +2,14 @@
The transaction's status.
+## Example Usage
+
+```python
+from bolt_api_sdk.models import TransactionStatus
+
+value = TransactionStatus.IN_PROGRESS
+```
+
## Values
diff --git a/docs/models/transactiontimelineviewtype.md b/docs/models/transactiontimelineviewtype.md
index 78339bd..211d58f 100644
--- a/docs/models/transactiontimelineviewtype.md
+++ b/docs/models/transactiontimelineviewtype.md
@@ -1,5 +1,13 @@
# TransactionTimelineViewType
+## Example Usage
+
+```python
+from bolt_api_sdk.models import TransactionTimelineViewType
+
+value = TransactionTimelineViewType.COMPLETED
+```
+
## Values
diff --git a/docs/models/transactiontype.md b/docs/models/transactiontype.md
index 77c0484..8eb8b04 100644
--- a/docs/models/transactiontype.md
+++ b/docs/models/transactiontype.md
@@ -2,6 +2,14 @@
The type of transaction.
+## Example Usage
+
+```python
+from bolt_api_sdk.models import TransactionType
+
+value = TransactionType.CC_PAYMENT
+```
+
## Values
diff --git a/docs/models/transactionviewviewstatus.md b/docs/models/transactionviewviewstatus.md
index deb4fb7..b91e54b 100644
--- a/docs/models/transactionviewviewstatus.md
+++ b/docs/models/transactionviewviewstatus.md
@@ -1,5 +1,13 @@
# TransactionViewViewStatus
+## Example Usage
+
+```python
+from bolt_api_sdk.models import TransactionViewViewStatus
+
+value = TransactionViewViewStatus.NOT_VIEWED
+```
+
## Values
diff --git a/docs/models/type.md b/docs/models/type.md
index b320cd5..e1e1bd7 100644
--- a/docs/models/type.md
+++ b/docs/models/type.md
@@ -2,6 +2,14 @@
Determines if item is a physical, digital, or bundled good, or if the good type is unknown.
+## Example Usage
+
+```python
+from bolt_api_sdk.models import Type
+
+value = Type.BUNDLED
+```
+
## Values
diff --git a/docs/models/unit.md b/docs/models/unit.md
index d81ddb7..259c357 100644
--- a/docs/models/unit.md
+++ b/docs/models/unit.md
@@ -2,6 +2,14 @@
The unit for this subscription's frequency.
+## Example Usage
+
+```python
+from bolt_api_sdk.models import Unit
+
+value = Unit.DAY
+```
+
## Values
diff --git a/docs/models/voidcause.md b/docs/models/voidcause.md
index 44b72ca..dba29e5 100644
--- a/docs/models/voidcause.md
+++ b/docs/models/voidcause.md
@@ -2,6 +2,14 @@
Determines why the transaction was voided.
+## Example Usage
+
+```python
+from bolt_api_sdk.models import VoidCause
+
+value = VoidCause.MERCHANT_ACTION
+```
+
## Values
diff --git a/docs/models/webhookeventgroup.md b/docs/models/webhookeventgroup.md
index e01069f..7643259 100644
--- a/docs/models/webhookeventgroup.md
+++ b/docs/models/webhookeventgroup.md
@@ -4,6 +4,14 @@ Subscribe to a group of events.
`all`: subscribe to all existing and future event types
+## Example Usage
+
+```python
+from bolt_api_sdk.models import WebhookEventGroup
+
+value = WebhookEventGroup.ALL
+```
+
## Values
diff --git a/docs/models/webhookstype.md b/docs/models/webhookstype.md
index f96a6e9..96363c1 100644
--- a/docs/models/webhookstype.md
+++ b/docs/models/webhookstype.md
@@ -3,6 +3,14 @@
[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.
+## Example Usage
+
+```python
+from bolt_api_sdk.models import WebhooksType
+
+value = WebhooksType.PAYMENT
+```
+
## Values
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..fe2a8c9 100644
--- a/docs/sdks/oauth/README.md
+++ b/docs/sdks/oauth/README.md
@@ -1,5 +1,4 @@
# OAuth
-(*o_auth*)
## Overview
@@ -19,9 +18,9 @@ To use this endpoint, first use the Authorization Code Request flow by using the
**Reminder - the Content-Type of this request must be application/x-www-form-urlencoded**
-### Example Usage
+### Example Usage: authorization_code_request
-
+
```python
from bolt_api_sdk import Bolt, models
import os
@@ -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,
})
@@ -44,6 +43,72 @@ with Bolt(
# Handle response
print(res)
+```
+### Example Usage: authorization_code_response
+
+
+```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.o_auth.o_auth_token()
+
+ # Handle response
+ print(res)
+
+```
+### Example Usage: refresh_token_request
+
+
+```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.o_auth.o_auth_token(request_body={
+ "client_id": "PUBLISHABLE_KEY_PLACEHOLDER",
+ "client_secret": "API_KEY_PLACEHOLDER",
+ "grant_type": models.OAuthTokenInputRefreshGrantType.REFRESH_TOKEN,
+ "refresh_token": "REFRESH_TOKEN_PLACEHOLDER",
+ "scope": "bolt.account.view",
+ })
+
+ # Handle response
+ print(res)
+
+```
+### Example Usage: refresh_token_response
+
+
+```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.o_auth.o_auth_token()
+
+ # Handle response
+ print(res)
+
```
### Parameters
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..bed77f6 100644
--- a/docs/sdks/testing/README.md
+++ b/docs/sdks/testing/README.md
@@ -1,5 +1,4 @@
# Testing
-(*testing*)
## Overview
@@ -38,7 +37,7 @@ with Bolt(
{
"city": "New York",
"country": "USA",
- "datetime": parse_datetime("2017-07-21T17:32:28Z"),
+ "datetime_": parse_datetime("2017-07-21T17:32:28Z"),
"message": "BILLING INFORMATION RECEIVED",
"state": "New York",
"status": models.TrackingDetailStatus.IN_TRANSIT,
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..2654058 100644
--- a/poetry.lock
+++ b/poetry.lock
@@ -96,7 +96,7 @@ description = "Backport of PEP 654 (exception groups)"
optional = false
python-versions = ">=3.7"
groups = ["main"]
-markers = "python_version < \"3.11\""
+markers = "python_version == \"3.10\""
files = [
{file = "exceptiongroup-1.3.0-py3-none-any.whl", hash = "sha256:4d111e6e0c13d0644cad6ddaa7ed0261a0b36971f6d23e7ec9b4b9097da78a10"},
{file = "exceptiongroup-1.3.0.tar.gz", hash = "sha256:b241f5885f560bc56a59ee63ca4c6a8bfa46ae4ad651af316d4e81817bb9fd88"},
@@ -463,7 +463,6 @@ mccabe = ">=0.6,<0.8"
platformdirs = ">=2.2.0"
tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""}
tomlkit = ">=0.10.1"
-typing-extensions = {version = ">=3.10.0", markers = "python_version < \"3.10\""}
[package.extras]
spelling = ["pyenchant (>=3.2,<4.0)"]
@@ -471,14 +470,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]
@@ -509,7 +508,7 @@ description = "A lil' TOML parser"
optional = false
python-versions = ">=3.8"
groups = ["dev"]
-markers = "python_version < \"3.11\""
+markers = "python_version == \"3.10\""
files = [
{file = "tomli-2.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:678e4fa69e4575eb77d103de3df8a895e1591b48e740211bd1067378c69e8249"},
{file = "tomli-2.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:023aa114dd824ade0100497eb2318602af309e5a55595f76b626d6d9f3b7b0a6"},
@@ -586,5 +585,5 @@ typing-extensions = ">=4.12.0"
[metadata]
lock-version = "2.1"
-python-versions = ">=3.9.2"
-content-hash = "feed8629015d65736379dae580e2f7eaa121b01095a9a91a2344efb03270b34e"
+python-versions = ">=3.10"
+content-hash = "f6a8355b7012376d6650030a1b23aaf67653ed8ccc9eae2880ccb8d9a23e3d6b"
diff --git a/pylintrc b/pylintrc
index e8cd3e8..cb9c15d 100644
--- a/pylintrc
+++ b/pylintrc
@@ -89,7 +89,7 @@ persistent=yes
# Minimum Python version to use for version dependent checks. Will default to
# the version used to run pylint.
-py-version=3.9
+py-version=3.10
# Discover python modules and packages in the file system subtree.
recursive=no
@@ -458,7 +458,8 @@ disable=raw-checker-failed,
consider-using-with,
wildcard-import,
unused-wildcard-import,
- too-many-return-statements
+ too-many-return-statements,
+ redefined-builtin
# Enable the message, report, category or checker with the given id(s). You can
# either give multiple identifier separated by comma (,) or put this option
diff --git a/pyproject.toml b/pyproject.toml
index a60c272..00bdf02 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,11 +1,11 @@
[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"
-requires-python = ">=3.9.2"
+readme = "README-PYPI.md"
+requires-python = ">=3.10"
dependencies = [
"httpcore >=1.0.9",
"httpx >=0.28.1",
@@ -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..12493f8 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.865.2"
+__user_agent__: str = "speakeasy-sdk/python 0.6.0 2.865.2 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..c7162bc 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,
)
@@ -235,12 +237,13 @@ def create_account(
http_headers=http_headers,
security=self.sdk_configuration.security,
get_serialized_body=lambda: utils.serialize_request_body(
- request.create_account_input,
+ request.create_account_input if request is not None else None,
False,
True,
"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
),
@@ -335,12 +338,13 @@ async def create_account_async(
http_headers=http_headers,
security=self.sdk_configuration.security,
get_serialized_body=lambda: utils.serialize_request_body(
- request.create_account_input,
+ request.create_account_input if request is not None else None,
False,
True,
"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
),
@@ -439,12 +443,13 @@ def update_account_profile(
security, models.UpdateAccountProfileSecurity
),
get_serialized_body=lambda: utils.serialize_request_body(
- request.update_profile,
+ request.update_profile if request is not None else None,
False,
True,
"json",
Optional[models.UpdateProfile],
),
+ allow_empty_value=None,
timeout_ms=timeout_ms,
)
@@ -541,12 +546,13 @@ async def update_account_profile_async(
security, models.UpdateAccountProfileSecurity
),
get_serialized_body=lambda: utils.serialize_request_body(
- request.update_profile,
+ request.update_profile if request is not None else None,
False,
True,
"json",
Optional[models.UpdateProfile],
),
+ allow_empty_value=None,
timeout_ms=timeout_ms,
)
@@ -641,12 +647,13 @@ def add_address(
http_headers=http_headers,
security=utils.get_pydantic_model(security, models.AddAddressSecurity),
get_serialized_body=lambda: utils.serialize_request_body(
- request.address_account,
+ request.address_account if request is not None else None,
False,
True,
"json",
Optional[models.AddressAccount],
),
+ allow_empty_value=None,
timeout_ms=timeout_ms,
)
@@ -741,12 +748,13 @@ async def add_address_async(
http_headers=http_headers,
security=utils.get_pydantic_model(security, models.AddAddressSecurity),
get_serialized_body=lambda: utils.serialize_request_body(
- request.address_account,
+ request.address_account if request is not None else None,
False,
True,
"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
@@ -1082,12 +1096,13 @@ def replace_address(
http_headers=http_headers,
security=utils.get_pydantic_model(security, models.ReplaceAddressSecurity),
get_serialized_body=lambda: utils.serialize_request_body(
- request.address_account,
+ request.address_account if request is not None else None,
False,
True,
"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
@@ -1245,12 +1264,13 @@ async def replace_address_async(
http_headers=http_headers,
security=utils.get_pydantic_model(security, models.ReplaceAddressSecurity),
get_serialized_body=lambda: utils.serialize_request_body(
- request.address_account,
+ request.address_account if request is not None else None,
False,
True,
"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
@@ -1405,12 +1429,13 @@ def edit_address(
http_headers=http_headers,
security=utils.get_pydantic_model(security, models.EditAddressSecurity),
get_serialized_body=lambda: utils.serialize_request_body(
- request.address_account,
+ request.address_account if request is not None else None,
False,
True,
"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
@@ -1565,12 +1594,13 @@ async def edit_address_async(
http_headers=http_headers,
security=utils.get_pydantic_model(security, models.EditAddressSecurity),
get_serialized_body=lambda: utils.serialize_request_body(
- request.address_account,
+ request.address_account if request is not None else None,
False,
True,
"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,
@@ -1865,12 +1897,13 @@ def add_payment_method(
security, models.AddPaymentMethodSecurity
),
get_serialized_body=lambda: utils.serialize_request_body(
- request.request_body,
+ request.request_body if request is not None else None,
False,
True,
"json",
Optional[models.AddPaymentMethodRequestBody],
),
+ allow_empty_value=None,
timeout_ms=timeout_ms,
)
@@ -1975,12 +2008,13 @@ async def add_payment_method_async(
security, models.AddPaymentMethodSecurity
),
get_serialized_body=lambda: utils.serialize_request_body(
- request.request_body,
+ request.request_body if request is not None else None,
False,
True,
"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/__init__.py b/src/bolt_api_sdk/errors/__init__.py
index 74978a7..f0468dc 100644
--- a/src/bolt_api_sdk/errors/__init__.py
+++ b/src/bolt_api_sdk/errors/__init__.py
@@ -1,10 +1,9 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
from .bolterror import BoltError
-from typing import TYPE_CHECKING
-from importlib import import_module
-import builtins
-import sys
+from typing import Any, TYPE_CHECKING
+
+from bolt_api_sdk.utils.dynamic_imports import lazy_getattr, lazy_dir
if TYPE_CHECKING:
from .apierror import APIError
@@ -49,39 +48,11 @@
}
-def dynamic_import(modname, retries=3):
- for attempt in range(retries):
- try:
- return import_module(modname, __package__)
- except KeyError:
- # Clear any half-initialized module and retry
- sys.modules.pop(modname, None)
- if attempt == retries - 1:
- break
- raise KeyError(f"Failed to import module '{modname}' after {retries} attempts")
-
-
-def __getattr__(attr_name: str) -> object:
- module_name = _dynamic_imports.get(attr_name)
- if module_name is None:
- raise AttributeError(
- f"No {attr_name} found in _dynamic_imports for module name -> {__name__} "
- )
-
- try:
- module = dynamic_import(module_name)
- result = getattr(module, attr_name)
- return result
- except ImportError as e:
- raise ImportError(
- f"Failed to import {attr_name} from {module_name}: {e}"
- ) from e
- except AttributeError as e:
- raise AttributeError(
- f"Failed to get {attr_name} from {module_name}: {e}"
- ) from e
+def __getattr__(attr_name: str) -> Any:
+ return lazy_getattr(
+ attr_name, package=__package__, dynamic_imports=_dynamic_imports
+ )
def __dir__():
- lazy_attrs = builtins.list(_dynamic_imports.keys())
- return builtins.sorted(lazy_attrs)
+ return lazy_dir(dynamic_imports=_dynamic_imports)
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/__init__.py b/src/bolt_api_sdk/models/__init__.py
index 7a575fe..ab2363b 100644
--- a/src/bolt_api_sdk/models/__init__.py
+++ b/src/bolt_api_sdk/models/__init__.py
@@ -1,9 +1,8 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
-from typing import TYPE_CHECKING
-from importlib import import_module
-import builtins
-import sys
+from typing import Any, TYPE_CHECKING
+
+from bolt_api_sdk.utils.dynamic_imports import lazy_getattr, lazy_dir
if TYPE_CHECKING:
from .account_details import (
@@ -1676,39 +1675,11 @@
}
-def dynamic_import(modname, retries=3):
- for attempt in range(retries):
- try:
- return import_module(modname, __package__)
- except KeyError:
- # Clear any half-initialized module and retry
- sys.modules.pop(modname, None)
- if attempt == retries - 1:
- break
- raise KeyError(f"Failed to import module '{modname}' after {retries} attempts")
-
-
-def __getattr__(attr_name: str) -> object:
- module_name = _dynamic_imports.get(attr_name)
- if module_name is None:
- raise AttributeError(
- f"No {attr_name} found in _dynamic_imports for module name -> {__name__} "
- )
-
- try:
- module = dynamic_import(module_name)
- result = getattr(module, attr_name)
- return result
- except ImportError as e:
- raise ImportError(
- f"Failed to import {attr_name} from {module_name}: {e}"
- ) from e
- except AttributeError as e:
- raise AttributeError(
- f"Failed to get {attr_name} from {module_name}: {e}"
- ) from e
+def __getattr__(attr_name: str) -> Any:
+ return lazy_getattr(
+ attr_name, package=__package__, dynamic_imports=_dynamic_imports
+ )
def __dir__():
- lazy_attrs = builtins.list(_dynamic_imports.keys())
- return builtins.sorted(lazy_attrs)
+ return lazy_dir(dynamic_imports=_dynamic_imports)
diff --git a/src/bolt_api_sdk/models/account_details.py b/src/bolt_api_sdk/models/account_details.py
index 32787dc..225c2dc 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, serialized.get(n))
+
+ 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..7ac072c 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
+ val = serialized.get(k, serialized.get(n))
+ 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..a9f2bcf 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, serialized.get(n))
+
+ 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
+ val = serialized.get(k, serialized.get(n))
+ 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..01d70f3 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
-
- 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
+ val = serialized.get(k, serialized.get(n))
+ 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
@@ -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, serialized.get(n))
+
+ 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..b5a955b 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
+ val = serialized.get(k, serialized.get(n))
+ 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..036b80b 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
+ val = serialized.get(k, serialized.get(n))
+ 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..d805547 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, serialized.get(n))
+
+ 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..cc32fb7 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, serialized.get(n))
+
+ 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..4c084b8 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
+ val = serialized.get(k, serialized.get(n))
+ 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..1648694 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, serialized.get(n))
+
+ 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..6ca2519 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, serialized.get(n))
+
+ 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..9734913 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, serialized.get(n))
+
+ 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..3f1ac49 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, serialized.get(n))
+
+ 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..d966561 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, serialized.get(n))
+
+ 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..174ba49 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, serialized.get(n))
+
+ 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, serialized.get(n))
+
+ 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..1e4ef77 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, serialized.get(n))
+
+ 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, serialized.get(n))
+
+ 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..1e082f0 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,25 @@ 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, serialized.get(n))
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
+
+
+try:
+ CartAddOn.model_rebuild()
+except NameError:
+ pass
diff --git a/src/bolt_api_sdk/models/cart_create.py b/src/bolt_api_sdk/models/cart_create.py
index dd7dfc7..cbfa0a4 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, serialized.get(n))
+
+ 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..4cf46e1 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, serialized.get(n))
+
+ 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..0cb1d2f 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
+ val = serialized.get(k, serialized.get(n))
+ 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..3259b3e 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
+ val = serialized.get(k, serialized.get(n))
+ 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..081dcb8 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, serialized.get(n))
+
+ 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..1949261 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, serialized.get(n))
+
+ 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..9647444 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, serialized.get(n))
+
+ 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..01dceee 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, serialized.get(n))
+
+ 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..487418d 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, serialized.get(n))
+
+ 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..8b2c704 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, serialized.get(n))
+
+ 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..031bf53 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, serialized.get(n))
+
+ 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..350b72b 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, serialized.get(n))
+
+ 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..f2c27f3 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, serialized.get(n))
+
+ 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..d153d28 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, serialized.get(n))
+
+ 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..b36bc5a 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, serialized.get(n))
+
+ 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..b7aad48 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
+ val = serialized.get(k, serialized.get(n))
+ 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..eb78c91 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, serialized.get(n))
+
+ 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..1715ed3 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, serialized.get(n))
+
+ 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..0bc9e2e 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, serialized.get(n))
+
+ 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..6167c9a 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, serialized.get(n))
+
+ 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..f0c2331 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, serialized.get(n))
+
+ 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..7e96984 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, serialized.get(n))
+
+ 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..d45c8be 100644
--- a/src/bolt_api_sdk/models/credit_card.py
+++ b/src/bolt_api_sdk/models/credit_card.py
@@ -2,8 +2,15 @@
from __future__ import annotations
from .address import Address, AddressTypedDict
-from bolt_api_sdk.types import BaseModel
+from bolt_api_sdk.types import (
+ BaseModel,
+ Nullable,
+ OptionalNullable,
+ UNSET,
+ UNSET_SENTINEL,
+)
from enum import Enum
+from pydantic import model_serializer
from typing import Optional
from typing_extensions import NotRequired, TypedDict
@@ -42,6 +49,8 @@ class CreditCardTypedDict(TypedDict):
r"""Used to indicate the card's priority. '1' indicates primary, while '2' indicates a secondary card."""
save: NotRequired[bool]
r"""Determines whether or not the credit card will be saved to the shopper's account. Defaults to `true`."""
+ affirm_vcn_token: NotRequired[Nullable[str]]
+ r"""The checkout token associated with Affirm VCN credit cards."""
class CreditCard(BaseModel):
@@ -73,3 +82,33 @@ 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`."""
+
+ affirm_vcn_token: OptionalNullable[str] = UNSET
+ r"""The checkout token associated with Affirm VCN credit cards."""
+
+ @model_serializer(mode="wrap")
+ def serialize_model(self, handler):
+ optional_fields = set(
+ ["billing_address", "priority", "save", "affirm_vcn_token"]
+ )
+ nullable_fields = set(["affirm_vcn_token"])
+ serialized = handler(self)
+ m = {}
+
+ for n, f in type(self).model_fields.items():
+ k = f.alias or n
+ val = serialized.get(k, serialized.get(n))
+ 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/credit_card_authorization_view.py b/src/bolt_api_sdk/models/credit_card_authorization_view.py
index 236a8c3..6744158 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, serialized.get(n))
+
+ 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..5f84fd5 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, serialized.get(n))
+
+ 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..34ec5fd 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, serialized.get(n))
+
+ 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..9a718c6 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, serialized.get(n))
+
+ 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..370ed27 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, serialized.get(n))
+
+ 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..e66cdd4 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, serialized.get(n))
+
+ 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..8487f0f 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, serialized.get(n))
+
+ 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..f7ac9e2 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, serialized.get(n))
+
+ 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..468ee75 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, serialized.get(n))
+
+ 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..8b1ea45 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,38 @@ 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, serialized.get(n))
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
+
+
+try:
+ CustomFieldView.model_rebuild()
+except NameError:
+ pass
diff --git a/src/bolt_api_sdk/models/custom_fields.py b/src/bolt_api_sdk/models/custom_fields.py
index 7a8c9d2..294ac5c 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, serialized.get(n))
+
+ 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..0411d9d 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, serialized.get(n))
+
+ 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..97da3c2 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, serialized.get(n))
+
+ 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..b3accad 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, serialized.get(n))
+
+ 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..fe9986c 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, serialized.get(n))
+
+ 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..c94c15e 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, serialized.get(n))
+
+ 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..2d6f2b5 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, serialized.get(n))
+
+ 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
+ val = serialized.get(k, serialized.get(n))
+ 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..f41c5fd 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, serialized.get(n))
+
+ 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..8e020b7 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, serialized.get(n))
+
+ 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..a649176 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, serialized.get(n))
+
+ 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..6cf361a 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, serialized.get(n))
+
+ 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..e7aede5 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
+ val = serialized.get(k, serialized.get(n))
+ 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..782ae45 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, serialized.get(n))
+
+ 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..102d856 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, serialized.get(n))
+
+ 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..6229291 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, serialized.get(n))
+
+ 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..e368417 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, serialized.get(n))
+
+ 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..4f76f28 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, serialized.get(n))
+
+ 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..18e2d7f 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, serialized.get(n))
+
+ 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..320f9e5 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, serialized.get(n))
+
+ 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..8dd70ba 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, serialized.get(n))
+
+ 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..56dece8 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, serialized.get(n))
+
+ 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..0ec85c5 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
+ val = serialized.get(k, serialized.get(n))
+ 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..d379790 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, serialized.get(n))
+
+ 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..b72ccdc 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
+ val = serialized.get(k, serialized.get(n))
+ 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..b3f441c 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, serialized.get(n))
+
+ 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, serialized.get(n))
+
+ 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..71437fa 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, serialized.get(n))
+
+ 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..f0bb666 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, serialized.get(n))
+
+ 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..0a9e81c 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,39 @@ 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, serialized.get(n))
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
+
+
+try:
+ ICustomFieldView.model_rebuild()
+except NameError:
+ pass
diff --git a/src/bolt_api_sdk/models/i_description_part.py b/src/bolt_api_sdk/models/i_description_part.py
index 8bc6d9d..3edffe8 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, serialized.get(n))
+
+ 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..95487e4 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, serialized.get(n))
+
+ 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..5bc5252 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, serialized.get(n))
+
+ 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..b4a24ca 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, serialized.get(n))
+
+ 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..71789bc 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, serialized.get(n))
+
+ 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..bd3d754 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, serialized.get(n))
+
+ 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..5116f67 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, serialized.get(n))
+
+ 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..9444244 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, serialized.get(n))
+
+ 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..cfe2408 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, serialized.get(n))
+
+ 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..e0a397d 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, serialized.get(n))
+
+ 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..705ef30 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, serialized.get(n))
+
+ 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..6102364 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, serialized.get(n))
+
+ 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..6055c69 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, serialized.get(n))
+
+ 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..53dc346 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, serialized.get(n))
+
+ 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..290a6c5 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, serialized.get(n))
+
+ 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..acfe881 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, serialized.get(n))
+
+ 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..0eaacbb 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, serialized.get(n))
+
+ 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..e7e9ff6 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
+ val = serialized.get(k, serialized.get(n))
+ 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..97ede3d 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, serialized.get(n))
+
+ 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..e2f3d26 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, serialized.get(n))
+
+ 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, serialized.get(n))
+
+ 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..c5ef385 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
+ val = serialized.get(k, serialized.get(n))
+ 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..a8230bf 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
+ val = serialized.get(k, serialized.get(n))
+ 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..6d8f09a 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, serialized.get(n))
+
+ 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..55a4234 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, serialized.get(n))
+
+ 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..cb2df81 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, serialized.get(n))
+
+ 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..515ea28 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, serialized.get(n))
+
+ 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..ed75cc9 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, serialized.get(n))
+
+ 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..8677b8c 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, serialized.get(n))
+
+ 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..54e0343 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, serialized.get(n))
+
+ 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..e005927 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, serialized.get(n))
+
+ 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..116fecb 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, serialized.get(n))
+
+ 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..55f5ffc 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, serialized.get(n))
+
+ 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..72d34ba 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, serialized.get(n))
+
+ 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..b91f8bf 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, serialized.get(n))
+
+ 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
+ val = serialized.get(k, serialized.get(n))
+ 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..0dec0a2 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, serialized.get(n))
+
+ 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..4fa96f9 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, serialized.get(n))
+
+ 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..f7b2921 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, serialized.get(n))
+
+ 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..e12fc39 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, serialized.get(n))
+
+ 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..fb26795 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, serialized.get(n))
+
+ 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..d81269b 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, serialized.get(n))
+
+ 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..9589cf7 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, serialized.get(n))
+
+ 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..b896247 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
+ val = serialized.get(k, serialized.get(n))
+ 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..b2e4ee8 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, serialized.get(n))
+
+ 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..3a1f3da 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, serialized.get(n))
+
+ 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..fe2e8a9 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
+ val = serialized.get(k, serialized.get(n))
+ 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..5cc0f42 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
+ val = serialized.get(k, serialized.get(n))
+ 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..7592392 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, serialized.get(n))
+
+ 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..f13c601 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, serialized.get(n))
+
+ 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..2cfccb7 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, serialized.get(n))
+
+ 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
+ val = serialized.get(k, serialized.get(n))
+ 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..eb94d8d 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, serialized.get(n))
+
+ 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..6d83bea 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, serialized.get(n))
+
+ 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..0cc440f 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, serialized.get(n))
+
+ 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..4b61601 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, serialized.get(n))
+
+ 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..06a4939 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, serialized.get(n))
+
+ 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..49c5eb9 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, serialized.get(n))
+
+ 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..93f44b8 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, serialized.get(n))
+
+ 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..99c1fab 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, serialized.get(n))
+
+ 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..7456774 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
+ val = serialized.get(k, serialized.get(n))
+ 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..248db8d 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
+ val = serialized.get(k, serialized.get(n))
+ 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..4c845a1 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, serialized.get(n))
+
+ 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..96aef85 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,25 @@ 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, serialized.get(n))
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
+
+
+try:
+ ShopperMetadata.model_rebuild()
+except NameError:
+ pass
diff --git a/src/bolt_api_sdk/models/splits_view.py b/src/bolt_api_sdk/models/splits_view.py
index 1b2e78c..24e6da7 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, serialized.get(n))
+
+ 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/statements_view_requestbody.py b/src/bolt_api_sdk/models/statements_view_requestbody.py
index 9a773f6..0533389 100644
--- a/src/bolt_api_sdk/models/statements_view_requestbody.py
+++ b/src/bolt_api_sdk/models/statements_view_requestbody.py
@@ -40,3 +40,9 @@ class StatementsViewRequestBody(BaseModel):
* [Dispute statement](https://help.bolt.com/operations/disputes/dispute-statements/#how-to-read-dispute-statements): Use `monthly_dispute`
"""
+
+
+try:
+ StatementsViewRequestBody.model_rebuild()
+except NameError:
+ pass
diff --git a/src/bolt_api_sdk/models/subscription.py b/src/bolt_api_sdk/models/subscription.py
index 8ccd220..80ebffb 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, serialized.get(n))
+
+ 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, serialized.get(n))
+
+ 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..68fd4df 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, serialized.get(n))
+
+ 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..5f4fd1a 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, serialized.get(n))
+
+ 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..a350cad 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, serialized.get(n))
+
+ 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/tracking_detail.py b/src/bolt_api_sdk/models/tracking_detail.py
index b1df1c9..a6d4056 100644
--- a/src/bolt_api_sdk/models/tracking_detail.py
+++ b/src/bolt_api_sdk/models/tracking_detail.py
@@ -4,7 +4,8 @@
from bolt_api_sdk.types import BaseModel
from datetime import datetime
from enum import Enum
-from typing_extensions import TypedDict
+import pydantic
+from typing_extensions import Annotated, TypedDict
class TrackingDetailStatus(str, Enum):
@@ -25,7 +26,7 @@ class TrackingDetailStatus(str, Enum):
class TrackingDetailTypedDict(TypedDict):
city: str
country: str
- datetime: datetime
+ datetime_: datetime
message: str
state: str
status: TrackingDetailStatus
@@ -38,7 +39,7 @@ class TrackingDetail(BaseModel):
country: str
- datetime: datetime
+ datetime_: Annotated[datetime, pydantic.Field(alias="datetime")]
message: str
@@ -48,3 +49,9 @@ class TrackingDetail(BaseModel):
r"""The transit status of the order being tracked."""
zip: str
+
+
+try:
+ TrackingDetail.model_rebuild()
+except NameError:
+ pass
diff --git a/src/bolt_api_sdk/models/transaction_credit.py b/src/bolt_api_sdk/models/transaction_credit.py
index e341f7d..6c95ec2 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, serialized.get(n))
+
+ 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..a294154 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,77 @@ 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, serialized.get(n))
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
+
+
+try:
+ TransactionDetails.model_rebuild()
+except NameError:
+ pass
diff --git a/src/bolt_api_sdk/models/transaction_details_view.py b/src/bolt_api_sdk/models/transaction_details_view.py
index 6ea86cf..7b4045a 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, serialized.get(n))
+
+ 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,74 @@ 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, serialized.get(n))
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
+
+
+try:
+ TransactionDetailsView.model_rebuild()
+except NameError:
+ pass
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..c46ce21 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, serialized.get(n))
+
+ 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..1e9fde4 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,25 @@ 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, serialized.get(n))
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
+
+
+try:
+ TransactionReviewView.model_rebuild()
+except NameError:
+ pass
diff --git a/src/bolt_api_sdk/models/transaction_splits_view.py b/src/bolt_api_sdk/models/transaction_splits_view.py
index 3ad9c85..f13887f 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, serialized.get(n))
+
+ 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..b59b2e1 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,37 @@ 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, serialized.get(n))
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
+
+
+try:
+ TransactionTimelineView.model_rebuild()
+except NameError:
+ pass
diff --git a/src/bolt_api_sdk/models/transaction_update_input.py b/src/bolt_api_sdk/models/transaction_update_input.py
index 2f3be9c..f790f9d 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, serialized.get(n))
+
+ 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..00804a2 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,58 @@ 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, serialized.get(n))
+
+ if val != UNSET_SENTINEL:
+ if val is not None or k not in optional_fields:
+ m[k] = val
+
+ return m
+
+
+try:
+ TransactionView.model_rebuild()
+except NameError:
+ pass
diff --git a/src/bolt_api_sdk/models/update_profile.py b/src/bolt_api_sdk/models/update_profile.py
index 8a9a6c8..ee79ab6 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
+ val = serialized.get(k, serialized.get(n))
+ 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..6630524 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, serialized.get(n))
+
+ 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..1acd6ed 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, serialized.get(n))
+
+ 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..6f80aa3 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, serialized.get(n))
+
+ 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..76d2415 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, serialized.get(n))
+
+ 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..19c543e 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, serialized.get(n))
+
+ 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..123160e 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, serialized.get(n))
+
+ 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..961390d 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
+ val = serialized.get(k, serialized.get(n))
+ 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..f8c39e2 100644
--- a/src/bolt_api_sdk/oauth.py
+++ b/src/bolt_api_sdk/oauth.py
@@ -71,12 +71,13 @@ def o_auth_token(
http_headers=http_headers,
security=self.sdk_configuration.security,
get_serialized_body=lambda: utils.serialize_request_body(
- request.request_body,
+ request.request_body if request is not None else None,
False,
True,
"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
),
@@ -179,12 +180,13 @@ async def o_auth_token_async(
http_headers=http_headers,
security=self.sdk_configuration.security,
get_serialized_body=lambda: utils.serialize_request_body(
- request.request_body,
+ request.request_body if request is not None else None,
False,
True,
"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/sdk.py b/src/bolt_api_sdk/sdk.py
index 3402349..9998e65 100644
--- a/src/bolt_api_sdk/sdk.py
+++ b/src/bolt_api_sdk/sdk.py
@@ -86,8 +86,8 @@ def __init__(
Union[models.Security, Callable[[], models.Security]]
] = None,
server_idx: Optional[int] = None,
- server_url: Optional[str] = None,
url_params: Optional[Dict[str, str]] = None,
+ server_url: Optional[str] = None,
client: Optional[HttpClient] = None,
async_client: Optional[AsyncHttpClient] = None,
retry_config: OptionalNullable[RetryConfig] = UNSET,
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..1acee80 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
),
@@ -254,12 +256,13 @@ def create_testing_shopper_account(
http_headers=http_headers,
security=self.sdk_configuration.security,
get_serialized_body=lambda: utils.serialize_request_body(
- request.testing_account_request,
+ request.testing_account_request if request is not None else None,
False,
True,
"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
),
@@ -351,12 +354,13 @@ async def create_testing_shopper_account_async(
http_headers=http_headers,
security=self.sdk_configuration.security,
get_serialized_body=lambda: utils.serialize_request_body(
- request.testing_account_request,
+ request.testing_account_request if request is not None else None,
False,
True,
"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..297a8b0 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
@@ -83,12 +87,13 @@ def authorize_transaction(
security, models.AuthorizeTransactionSecurity
),
get_serialized_body=lambda: utils.serialize_request_body(
- request.request_body,
+ request.request_body if request is not None else None,
False,
True,
"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
@@ -195,12 +204,13 @@ async def authorize_transaction_async(
security, models.AuthorizeTransactionSecurity
),
get_serialized_body=lambda: utils.serialize_request_body(
- request.request_body,
+ request.request_body if request is not None else None,
False,
True,
"json",
Optional[models.AuthorizeTransactionRequestBody],
),
+ allow_empty_value=None,
timeout_ms=timeout_ms,
)
@@ -297,12 +307,15 @@ def capture_transaction(
http_headers=http_headers,
security=self.sdk_configuration.security,
get_serialized_body=lambda: utils.serialize_request_body(
- request.capture_transaction_with_reference,
+ request.capture_transaction_with_reference
+ if request is not None
+ else None,
False,
True,
"json",
Optional[models.CaptureTransactionWithReference],
),
+ allow_empty_value=None,
timeout_ms=timeout_ms,
)
@@ -319,7 +332,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
),
@@ -412,12 +425,15 @@ async def capture_transaction_async(
http_headers=http_headers,
security=self.sdk_configuration.security,
get_serialized_body=lambda: utils.serialize_request_body(
- request.capture_transaction_with_reference,
+ request.capture_transaction_with_reference
+ if request is not None
+ else None,
False,
True,
"json",
Optional[models.CaptureTransactionWithReference],
),
+ allow_empty_value=None,
timeout_ms=timeout_ms,
)
@@ -434,7 +450,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
),
@@ -520,12 +536,13 @@ def refund_transaction(
http_headers=http_headers,
security=self.sdk_configuration.security,
get_serialized_body=lambda: utils.serialize_request_body(
- request.transaction_credit,
+ request.transaction_credit if request is not None else None,
False,
True,
"json",
Optional[models.TransactionCredit],
),
+ allow_empty_value=None,
timeout_ms=timeout_ms,
)
@@ -542,7 +559,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
),
@@ -623,12 +640,13 @@ async def refund_transaction_async(
http_headers=http_headers,
security=self.sdk_configuration.security,
get_serialized_body=lambda: utils.serialize_request_body(
- request.transaction_credit,
+ request.transaction_credit if request is not None else None,
False,
True,
"json",
Optional[models.TransactionCredit],
),
+ allow_empty_value=None,
timeout_ms=timeout_ms,
)
@@ -645,7 +663,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
),
@@ -729,12 +747,13 @@ def review_transaction(
http_headers=http_headers,
security=self.sdk_configuration.security,
get_serialized_body=lambda: utils.serialize_request_body(
- request.merchant_credit_card_review,
+ request.merchant_credit_card_review if request is not None else None,
False,
True,
"json",
Optional[models.MerchantCreditCardReview],
),
+ allow_empty_value=None,
timeout_ms=timeout_ms,
)
@@ -751,7 +770,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
),
@@ -835,12 +854,13 @@ async def review_transaction_async(
http_headers=http_headers,
security=self.sdk_configuration.security,
get_serialized_body=lambda: utils.serialize_request_body(
- request.merchant_credit_card_review,
+ request.merchant_credit_card_review if request is not None else None,
False,
True,
"json",
Optional[models.MerchantCreditCardReview],
),
+ allow_empty_value=None,
timeout_ms=timeout_ms,
)
@@ -857,7 +877,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
),
@@ -941,12 +961,13 @@ def void_transaction(
http_headers=http_headers,
security=self.sdk_configuration.security,
get_serialized_body=lambda: utils.serialize_request_body(
- request.credit_card_void,
+ request.credit_card_void if request is not None else None,
False,
True,
"json",
Optional[models.CreditCardVoid],
),
+ allow_empty_value=None,
timeout_ms=timeout_ms,
)
@@ -963,7 +984,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
),
@@ -1047,12 +1068,13 @@ async def void_transaction_async(
http_headers=http_headers,
security=self.sdk_configuration.security,
get_serialized_body=lambda: utils.serialize_request_body(
- request.credit_card_void,
+ request.credit_card_void if request is not None else None,
False,
True,
"json",
Optional[models.CreditCardVoid],
),
+ allow_empty_value=None,
timeout_ms=timeout_ms,
)
@@ -1069,7 +1091,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 +1167,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 +1184,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 +1260,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 +1277,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
),
@@ -1338,12 +1362,13 @@ def update_transaction(
http_headers=http_headers,
security=self.sdk_configuration.security,
get_serialized_body=lambda: utils.serialize_request_body(
- request.transaction_update_input,
+ request.transaction_update_input if request is not None else None,
False,
True,
"json",
Optional[models.TransactionUpdateInput],
),
+ allow_empty_value=None,
timeout_ms=timeout_ms,
)
@@ -1360,7 +1385,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
),
@@ -1445,12 +1470,13 @@ async def update_transaction_async(
http_headers=http_headers,
security=self.sdk_configuration.security,
get_serialized_body=lambda: utils.serialize_request_body(
- request.transaction_update_input,
+ request.transaction_update_input if request is not None else None,
False,
True,
"json",
Optional[models.TransactionUpdateInput],
),
+ allow_empty_value=None,
timeout_ms=timeout_ms,
)
@@ -1467,7 +1493,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..aded759 100644
--- a/src/bolt_api_sdk/utils/__init__.py
+++ b/src/bolt_api_sdk/utils/__init__.py
@@ -1,9 +1,17 @@
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
-from typing import TYPE_CHECKING
-from importlib import import_module
-import builtins
-import sys
+from typing import Any, TYPE_CHECKING, Callable, TypeVar
+import asyncio
+
+from .dynamic_imports import lazy_getattr, lazy_dir
+
+_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."""
+ return await asyncio.to_thread(func, *args)
+
if TYPE_CHECKING:
from .annotations import get_discriminator
@@ -42,7 +50,6 @@
validate_decimal,
validate_float,
validate_int,
- validate_open_enum,
)
from .url import generate_url, template_url, remove_suffix
from .values import (
@@ -104,7 +111,6 @@
"validate_const",
"validate_float",
"validate_int",
- "validate_open_enum",
"cast_partial",
]
@@ -158,43 +164,15 @@
"validate_const": ".serializers",
"validate_float": ".serializers",
"validate_int": ".serializers",
- "validate_open_enum": ".serializers",
"cast_partial": ".values",
}
-def dynamic_import(modname, retries=3):
- for attempt in range(retries):
- try:
- return import_module(modname, __package__)
- except KeyError:
- # Clear any half-initialized module and retry
- sys.modules.pop(modname, None)
- if attempt == retries - 1:
- break
- raise KeyError(f"Failed to import module '{modname}' after {retries} attempts")
-
-
-def __getattr__(attr_name: str) -> object:
- module_name = _dynamic_imports.get(attr_name)
- if module_name is None:
- raise AttributeError(
- f"no {attr_name} found in _dynamic_imports, module name -> {__name__} "
- )
-
- try:
- module = dynamic_import(module_name)
- return getattr(module, attr_name)
- except ImportError as e:
- raise ImportError(
- f"Failed to import {attr_name} from {module_name}: {e}"
- ) from e
- except AttributeError as e:
- raise AttributeError(
- f"Failed to get {attr_name} from {module_name}: {e}"
- ) from e
+def __getattr__(attr_name: str) -> Any:
+ return lazy_getattr(
+ attr_name, package=__package__, dynamic_imports=_dynamic_imports
+ )
def __dir__():
- lazy_attrs = builtins.list(_dynamic_imports.keys())
- return builtins.sorted(lazy_attrs)
+ return lazy_dir(dynamic_imports=_dynamic_imports)
diff --git a/src/bolt_api_sdk/utils/dynamic_imports.py b/src/bolt_api_sdk/utils/dynamic_imports.py
new file mode 100644
index 0000000..673edf8
--- /dev/null
+++ b/src/bolt_api_sdk/utils/dynamic_imports.py
@@ -0,0 +1,54 @@
+"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
+
+from importlib import import_module
+import builtins
+import sys
+
+
+def dynamic_import(package, modname, retries=3):
+ """Import a module relative to package, retrying on KeyError from half-initialized modules."""
+ for attempt in range(retries):
+ try:
+ return import_module(modname, package)
+ except KeyError:
+ sys.modules.pop(modname, None)
+ if attempt == retries - 1:
+ break
+ raise KeyError(f"Failed to import module '{modname}' after {retries} attempts")
+
+
+def lazy_getattr(attr_name, *, package, dynamic_imports, sub_packages=None):
+ """Module-level __getattr__ that lazily loads from a dynamic_imports mapping.
+
+ Args:
+ attr_name: The attribute being looked up.
+ package: The caller's __package__ (for relative imports).
+ dynamic_imports: Dict mapping attribute names to relative module paths.
+ sub_packages: Optional list of subpackage names to lazy-load.
+ """
+ module_name = dynamic_imports.get(attr_name)
+ if module_name is not None:
+ try:
+ module = dynamic_import(package, module_name)
+ return getattr(module, attr_name)
+ except ImportError as e:
+ raise ImportError(
+ f"Failed to import {attr_name} from {module_name}: {e}"
+ ) from e
+ except AttributeError as e:
+ raise AttributeError(
+ f"Failed to get {attr_name} from {module_name}: {e}"
+ ) from e
+
+ if sub_packages and attr_name in sub_packages:
+ return import_module(f".{attr_name}", package)
+
+ raise AttributeError(f"module '{package}' has no attribute '{attr_name}'")
+
+
+def lazy_dir(*, dynamic_imports, sub_packages=None):
+ """Module-level __dir__ that lists lazily-loadable attributes."""
+ lazy_attrs = builtins.list(dynamic_imports.keys())
+ if sub_packages:
+ lazy_attrs.extend(sub_packages)
+ return builtins.sorted(lazy_attrs)
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/eventstreaming.py b/src/bolt_api_sdk/utils/eventstreaming.py
index 0969899..3bdcd6d 100644
--- a/src/bolt_api_sdk/utils/eventstreaming.py
+++ b/src/bolt_api_sdk/utils/eventstreaming.py
@@ -2,7 +2,9 @@
import re
import json
+from dataclasses import dataclass, asdict
from typing import (
+ Any,
Callable,
Generic,
TypeVar,
@@ -22,6 +24,7 @@ class EventStream(Generic[T]):
client_ref: Optional[object]
response: httpx.Response
generator: Generator[T, None, None]
+ _closed: bool
def __init__(
self,
@@ -29,21 +32,28 @@ def __init__(
decoder: Callable[[str], T],
sentinel: Optional[str] = None,
client_ref: Optional[object] = None,
+ data_required: bool = True,
):
self.response = response
- self.generator = stream_events(response, decoder, sentinel)
+ self.generator = stream_events(
+ response, decoder, sentinel, data_required=data_required
+ )
self.client_ref = client_ref
+ self._closed = False
def __iter__(self):
return self
def __next__(self):
+ if self._closed:
+ raise StopIteration
return next(self.generator)
def __enter__(self):
return self
def __exit__(self, exc_type, exc_val, exc_tb):
+ self._closed = True
self.response.close()
@@ -53,6 +63,7 @@ class EventStreamAsync(Generic[T]):
client_ref: Optional[object]
response: httpx.Response
generator: AsyncGenerator[T, None]
+ _closed: bool
def __init__(
self,
@@ -60,53 +71,65 @@ def __init__(
decoder: Callable[[str], T],
sentinel: Optional[str] = None,
client_ref: Optional[object] = None,
+ data_required: bool = True,
):
self.response = response
- self.generator = stream_events_async(response, decoder, sentinel)
+ self.generator = stream_events_async(
+ response, decoder, sentinel, data_required=data_required
+ )
self.client_ref = client_ref
+ self._closed = False
def __aiter__(self):
return self
async def __anext__(self):
+ if self._closed:
+ raise StopAsyncIteration
return await self.generator.__anext__()
async def __aenter__(self):
return self
async def __aexit__(self, exc_type, exc_val, exc_tb):
+ self._closed = True
await self.response.aclose()
+@dataclass
class ServerEvent:
id: Optional[str] = None
event: Optional[str] = None
- data: Optional[str] = None
+ data: Any = None
retry: Optional[int] = None
MESSAGE_BOUNDARIES = [
b"\r\n\r\n",
- b"\n\n",
+ b"\r\n\r",
+ b"\r\n\n",
+ b"\r\r\n",
+ b"\n\r\n",
b"\r\r",
+ b"\n\r",
+ b"\n\n",
]
+UTF8_BOM = b"\xef\xbb\xbf"
+
async def stream_events_async(
response: httpx.Response,
decoder: Callable[[str], T],
sentinel: Optional[str] = None,
+ data_required: bool = True,
) -> AsyncGenerator[T, None]:
buffer = bytearray()
position = 0
- discard = False
+ event_id: Optional[str] = None
async for chunk in response.aiter_bytes():
- # We've encountered the sentinel value and should no longer process
- # incoming data. Instead we throw new data away until the server closes
- # the connection.
- if discard:
- continue
-
+ if len(buffer) == 0 and chunk.startswith(UTF8_BOM):
+ chunk = chunk[len(UTF8_BOM) :]
buffer += chunk
for i in range(position, len(buffer)):
char = buffer[i : i + 1]
@@ -121,15 +144,30 @@ async def stream_events_async(
block = buffer[position:i]
position = i + len(seq)
- event, discard = _parse_event(block, decoder, sentinel)
+ event, discard, event_id = _parse_event(
+ raw=block,
+ decoder=decoder,
+ sentinel=sentinel,
+ event_id=event_id,
+ data_required=data_required,
+ )
if event is not None:
yield event
+ if discard:
+ await response.aclose()
+ return
if position > 0:
buffer = buffer[position:]
position = 0
- event, discard = _parse_event(buffer, decoder, sentinel)
+ event, discard, _ = _parse_event(
+ raw=buffer,
+ decoder=decoder,
+ sentinel=sentinel,
+ event_id=event_id,
+ data_required=data_required,
+ )
if event is not None:
yield event
@@ -138,17 +176,14 @@ def stream_events(
response: httpx.Response,
decoder: Callable[[str], T],
sentinel: Optional[str] = None,
+ data_required: bool = True,
) -> Generator[T, None, None]:
buffer = bytearray()
position = 0
- discard = False
+ event_id: Optional[str] = None
for chunk in response.iter_bytes():
- # We've encountered the sentinel value and should no longer process
- # incoming data. Instead we throw new data away until the server closes
- # the connection.
- if discard:
- continue
-
+ if len(buffer) == 0 and chunk.startswith(UTF8_BOM):
+ chunk = chunk[len(UTF8_BOM) :]
buffer += chunk
for i in range(position, len(buffer)):
char = buffer[i : i + 1]
@@ -163,22 +198,42 @@ def stream_events(
block = buffer[position:i]
position = i + len(seq)
- event, discard = _parse_event(block, decoder, sentinel)
+ event, discard, event_id = _parse_event(
+ raw=block,
+ decoder=decoder,
+ sentinel=sentinel,
+ event_id=event_id,
+ data_required=data_required,
+ )
if event is not None:
yield event
+ if discard:
+ response.close()
+ return
if position > 0:
buffer = buffer[position:]
position = 0
- event, discard = _parse_event(buffer, decoder, sentinel)
+ event, discard, _ = _parse_event(
+ raw=buffer,
+ decoder=decoder,
+ sentinel=sentinel,
+ event_id=event_id,
+ data_required=data_required,
+ )
if event is not None:
yield event
def _parse_event(
- raw: bytearray, decoder: Callable[[str], T], sentinel: Optional[str] = None
-) -> Tuple[Optional[T], bool]:
+ *,
+ raw: bytearray,
+ decoder: Callable[[str], T],
+ sentinel: Optional[str] = None,
+ event_id: Optional[str] = None,
+ data_required: bool = True,
+) -> Tuple[Optional[T], bool, Optional[str]]:
block = raw.decode()
lines = re.split(r"\r?\n|\r", block)
publish = False
@@ -189,13 +244,16 @@ def _parse_event(
continue
delim = line.find(":")
- if delim <= 0:
+ if delim == 0:
continue
- field = line[0:delim]
- value = line[delim + 1 :] if delim < len(line) - 1 else ""
- if len(value) and value[0] == " ":
- value = value[1:]
+ field = line
+ value = ""
+ if delim > 0:
+ field = line[0:delim]
+ value = line[delim + 1 :] if delim < len(line) - 1 else ""
+ if len(value) and value[0] == " ":
+ value = value[1:]
if field == "event":
event.event = value
@@ -204,37 +262,40 @@ def _parse_event(
data += value + "\n"
publish = True
elif field == "id":
- event.id = value
publish = True
+ if "\x00" not in value:
+ event_id = value
elif field == "retry":
- event.retry = int(value) if value.isdigit() else None
+ if value.isdigit():
+ event.retry = int(value)
publish = True
+ event.id = event_id
+
if sentinel and data == f"{sentinel}\n":
- return None, True
+ return None, True, event_id
+
+ # Skip data-less events when data is required
+ if not data and publish and data_required:
+ return None, False, event_id
if data:
data = data[:-1]
- event.data = data
-
- data_is_primitive = (
- data.isnumeric() or data == "true" or data == "false" or data == "null"
- )
- data_is_json = (
- data.startswith("{") or data.startswith("[") or data.startswith('"')
- )
-
- if data_is_primitive or data_is_json:
- try:
- event.data = json.loads(data)
- except Exception:
- pass
+ try:
+ event.data = json.loads(data)
+ except json.JSONDecodeError:
+ event.data = data
out = None
if publish:
- out = decoder(json.dumps(event.__dict__))
-
- return out, False
+ out_dict = {
+ k: v
+ for k, v in asdict(event).items()
+ if v is not None or (k == "data" and data)
+ }
+ out = decoder(json.dumps(out_dict))
+
+ return out, False, event_id
def _peek_sequence(position: int, buffer: bytearray, sequence: bytes):
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..af07d4e 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":
@@ -84,12 +144,7 @@ def do_request() -> httpx.Response:
if res.status_code == parsed_code:
raise TemporaryError(res)
- except httpx.ConnectError as exception:
- if retries.config.retry_connection_errors:
- raise
-
- raise PermanentError(exception) from exception
- except httpx.TimeoutException as exception:
+ except (httpx.NetworkError, httpx.TimeoutException) as exception:
if retries.config.retry_connection_errors:
raise
@@ -133,12 +188,7 @@ async def do_request() -> httpx.Response:
if res.status_code == parsed_code:
raise TemporaryError(res)
- except httpx.ConnectError as exception:
- if retries.config.retry_connection_errors:
- raise
-
- raise PermanentError(exception) from exception
- except httpx.TimeoutException as exception:
+ except (httpx.NetworkError, httpx.TimeoutException) as exception:
if retries.config.retry_connection_errors:
raise
@@ -183,8 +233,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 +263,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/security.py b/src/bolt_api_sdk/utils/security.py
index 058d18d..aa1d50a 100644
--- a/src/bolt_api_sdk/utils/security.py
+++ b/src/bolt_api_sdk/utils/security.py
@@ -156,6 +156,8 @@ def _parse_security_scheme_value(
elif scheme_type == "http":
if sub_type == "bearer":
headers[header_name] = _apply_bearer(value)
+ elif sub_type == "basic":
+ headers[header_name] = value
elif sub_type == "custom":
return
else:
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
),