Skip to content
Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

UltraCart C# SDK - the C# library for the UltraCart Rest API V2

UltraCart REST API Version 2

This C# SDK is automatically generated by the Swagger Codegen project:

  • API version: 2.0.0
  • SDK version: 3.1.28
  • Build package: io.swagger.codegen.languages.CSharpClientCodegen

For more information, please visit

Frameworks supported

  • .NET Framework >=4.8


The DLLs included in the package may not be the latest version. We recommend using NuGet to obtain the latest version of the packages:

Install-Package RestSharp
Install-Package Newtonsoft.Json
Install-Package JsonSubTypes

NOTE: RestSharp versions greater than 105.1.0 have a bug which causes file uploads to fail. See RestSharp#742


The UltraCart REST SDK is available on The offical name of the nuget package is com.ultracart.admin.v2. We recommend installing and using the nuget package.

You may also run the following command to generate the DLL

  • [Mac/Linux] /bin/sh
  • [Windows] build.bat

Then include the DLL (under the bin folder) in the C# project, and use the namespaces:

using com.ultracart.admin.v2.Api;
using com.ultracart.admin.v2.Client;
using com.ultracart.admin.v2.Model;


A .nuspec is included with the project. You can follow the Nuget quickstart to create and publish packages.

This .nuspec uses placeholders from the .csproj, so build the .csproj directly:

nuget pack -Build -OutputDirectory out com.ultracart.admin.v2.csproj

Then, publish to a local feed or other host and consume the new package via Nuget as usual.

Getting Started

// You must create your own Simple API key for this example to work.
// See the comments below.

using System;
using System.Collections.Generic;
using com.ultracart.admin.v2.Api;
using com.ultracart.admin.v2.Client;
using com.ultracart.admin.v2.Model;

namespace SDKSample {
  public class GettingStarted {

    /// <summary>
    /// Helper method to loop through a large customer record set and return back a chunk of it.
    /// See the Main method for its usage.
    /// See
    /// See for the /customer/customers REST call.
    /// </summary>
    /// <param name="api">CustomerApi reference</param>
    /// <param name="offset">The record offset.  First execution this will be zero, and then increment
    /// by the number of records returned each iteration.</param>
    /// <param name="limit">Default and maximum is 200 records.  The example below uses 100.</param>
    /// <returns>
    /// A list of UltraCart customer profiles.  These are NOT records.  They are customer profiles.
    /// If a customer places an order and does not create a customer profile, they will not appear in this list.
    /// </returns>
    private static List<Customer> GetCustomerChunk(CustomerApi api, int offset = 0, int limit = 200) {

      // string expand = null; // no expansion.  bare bones.  you will rarely want this.
      const string expand = "shipping,billing"; // shipping and billing addresses
      // string expand = "shipping,billing,cards,pricing_tiers"; // everything.

      var customerResponse = api.GetCustomers(offset: offset, limit: limit, expand: expand);
      // TODO if the response is not success, handle errors here.
      return customerResponse.Success == true ? customerResponse.Customers : new List<Customer>();


    private static int Main() {

      // Create a Simple Key:
      const string simpleKey = "109ee846ee69f50177018ab12f008a00748a25aa28dbdc0177018ab12f008a00";
      var api = new CustomerApi(simpleKey);

      var offset = 0;
      const int limit = 100; // why 100?  Just to show more looping.  200 is the max and a better choice.
      var stillMoreRecords = true;
      var customers = new List<Customer>();

      while (stillMoreRecords) {
        var chunkOfCustomers = GetCustomerChunk(api, offset, limit);
        Console.WriteLine($"{chunkOfCustomers.Count} customers retrieved.");
        offset += limit;
        stillMoreRecords = chunkOfCustomers.Count == limit;


      Console.WriteLine($"{customers.Count} total customers retrieved.");

      return 0;


Documentation for API Endpoints

All URIs are relative to

Class Method HTTP request Description
AffiliateApi GetClicksByQuery POST /affiliate/clicks/query Retrieve clicks
AffiliateApi GetLedgersByQuery POST /affiliate/ledgers/query Retrieve ledger entries
AutoOrderApi GetAutoOrder GET /auto_order/auto_orders/{auto_order_oid} Retrieve an auto order by oid
AutoOrderApi GetAutoOrderByCode GET /auto_order/auto_orders/code/{auto_order_code} Retrieve an auto order by code
AutoOrderApi GetAutoOrderByReferenceOrderId GET /auto_order/auto_orders/reference_order_id/{reference_order_id} Retrieve an auto order by order id
AutoOrderApi GetAutoOrders GET /auto_order/auto_orders Retrieve auto orders
AutoOrderApi GetAutoOrdersBatch POST /auto_order/auto_orders/batch Retrieve auto order batch
AutoOrderApi GetAutoOrdersByQuery POST /auto_order/auto_orders/query Retrieve auto orders by query
AutoOrderApi UpdateAutoOrder PUT /auto_order/auto_orders/{auto_order_oid} Update an auto order
AutoOrderApi UpdateAutoOrdersBatch PUT /auto_order/auto_orders/batch Update multiple auto orders
ChargebackApi DeleteChargeback DELETE /chargeback/chargebacks/{chargeback_dispute_oid} Delete a chargeback
ChargebackApi GetChargebackDispute GET /chargeback/chargebacks/{chargeback_dispute_oid} Retrieve a chargeback
ChargebackApi GetChargebackDisputes GET /chargeback/chargebacks Retrieve chargebacks
ChargebackApi InsertChargeback POST /chargeback/chargebacks Insert a chargeback
ChargebackApi UpdateChargeback PUT /chargeback/chargebacks/{chargeback_dispute_oid} Update a chargeback
CheckoutApi CityState POST /checkout/city_state City/State for Zip
CheckoutApi FinalizeOrder POST /checkout/cart/finalizeOrder Finalize Order
CheckoutApi GetAffirmCheckout GET /checkout/cart/{cart_id}/affirmCheckout Get affirm checkout (by cart id)
CheckoutApi GetAllowedCountries POST /checkout/allowedCountries Allowed countries
CheckoutApi GetCart GET /checkout/cart Get cart
CheckoutApi GetCartByCartId GET /checkout/cart/{cart_id} Get cart (by cart id)
CheckoutApi GetCartByReturnCode GET /checkout/return/{return_code} Get cart (by return code)
CheckoutApi GetCartByReturnToken GET /checkout/return_token Get cart (by return token)
CheckoutApi GetStateProvincesForCountry POST /checkout/stateProvincesForCountry/{country_code} Get state/province list for a country code
CheckoutApi HandoffCart POST /checkout/cart/handoff Handoff cart
CheckoutApi Login POST /checkout/cart/profile/login Profile login
CheckoutApi Logout POST /checkout/cart/profile/logout Profile logout
CheckoutApi Register POST /checkout/cart/profile/register Profile registration
CheckoutApi RegisterAffiliateClick POST /checkout/affiliateClick/register Register affiliate click
CheckoutApi RelatedItemsForCart POST /checkout/related_items Related items
CheckoutApi RelatedItemsForItem POST /checkout/relatedItems/{item_id} Related items (specific item)
CheckoutApi SetupBrowserKey PUT /checkout/browser_key Setup Browser Application
CheckoutApi UpdateCart PUT /checkout/cart Update cart
CheckoutApi ValidateCart POST /checkout/cart/validate Validate
CouponApi DeleteCoupon DELETE /coupon/coupons/{coupon_oid} Delete a coupon
CouponApi DeleteCouponsByCode DELETE /coupon/coupons/by_code Deletes multiple coupons
CouponApi DeleteCouponsByOid DELETE /coupon/coupons/by_oid Deletes multiple coupons
CouponApi DoesCouponCodeExist GET /coupon/coupons/merchant_code/{merchant_code}/exists Determines if a coupon merchant code already exists
CouponApi GenerateCouponCodes POST /coupon/coupons/{coupon_oid}/generate_codes Generates one time codes for a coupon
CouponApi GenerateOneTimeCodesByMerchantCode POST /coupon/coupons/merchant_code/{merchant_code}/generate_codes Generates one time codes by merchant code
CouponApi GetAutoApply GET /coupon/auto_apply Retrieve auto apply rules and conditions
CouponApi GetCoupon GET /coupon/coupons/{coupon_oid} Retrieve a coupon
CouponApi GetCouponByMerchantCode GET /coupon/coupons/merchant_code/{merchant_code} Retrieve a coupon by merchant code
CouponApi GetCoupons GET /coupon/coupons Retrieve coupons
CouponApi GetCouponsByQuery GET /coupon/coupons/query Retrieve coupons by query
CouponApi GetEditorValues GET /coupon/editor_values Retrieve values needed for a coupon editor
CouponApi InsertCoupon POST /coupon/coupons Insert a coupon
CouponApi InsertCoupons POST /coupon/coupons/batch Insert multiple coupons
CouponApi SearchItems GET /coupon/searchItems Searches for items to display within a coupon editor and assign to coupons
CouponApi UpdateAutoApply POST /coupon/auto_apply Update auto apply rules and conditions
CouponApi UpdateCoupon PUT /coupon/coupons/{coupon_oid} Update a coupon
CouponApi UpdateCoupons PUT /coupon/coupons/batch Update multiple coupons
CouponApi UploadCouponCodes POST /coupon/coupons/{coupon_oid}/upload_codes Upload one-time codes for a coupon
CustomerApi DeleteCustomer DELETE /customer/customers/{customer_profile_oid} Delete a customer
CustomerApi GetCustomer GET /customer/customers/{customer_profile_oid} Retrieve a customer
CustomerApi GetCustomerByEmail GET /customer/customers/by_email/{email} Retrieve a customer by Email
CustomerApi GetCustomers GET /customer/customers Retrieve customers
CustomerApi GetCustomersByQuery POST /customer/customers/query Retrieve customers by query
CustomerApi GetCustomersForDataTables POST /customer/customers/dataTables Retrieve customers for DataTables plugin
CustomerApi GetEditorValues GET /customer/editor_values Retrieve values needed for a customer profile editor
CustomerApi GetEmailLists GET /customer/email_lists Retrieve all email lists across all storefronts
CustomerApi GetEmailVerificationToken POST /customer/customers/email_verify/get_token Create a token that can be used to verify a customer email address
CustomerApi InsertCustomer POST /customer/customers Insert a customer
CustomerApi UpdateCustomer PUT /customer/customers/{customer_profile_oid} Update a customer
CustomerApi UpdateCustomerEmailLists POST /customer/customers/{customer_profile_oid}/email_lists Update email list subscriptions for a customer
CustomerApi ValidateEmailVerificationToken POST /customer/customers/email_verify/validate_token Validate a token that can be used to verify a customer email address
FulfillmentApi AcknowledgeOrders PUT /fulfillment/distribution_centers/{distribution_center_code}/acknowledgements Acknowledge receipt of orders.
FulfillmentApi GetDistributionCenterOrders GET /fulfillment/distribution_centers/{distribution_center_code}/orders Retrieve orders queued up for this distribution center.
FulfillmentApi GetDistributionCenters GET /fulfillment/distribution_centers Retrieve distribution centers
FulfillmentApi ShipOrders POST /fulfillment/distribution_centers/{distribution_center_code}/shipments Mark orders as shipped
FulfillmentApi UpdateInventory POST /fulfillment/distribution_centers/{distribution_center_code}/inventory Update inventory
ItemApi DeleteItem DELETE /item/items/{merchant_item_oid} Delete an item
ItemApi GetItem GET /item/items/{merchant_item_oid} Retrieve an item
ItemApi GetItemByMerchantItemId GET /item/items/merchant_item_id/{merchant_item_id} Retrieve an item by item id
ItemApi GetItems GET /item/items Retrieve items
ItemApi GetPricingTiers GET /item/pricing_tiers Retrieve pricing tiers
ItemApi InsertItem POST /item/items Create an item
ItemApi UpdateItem PUT /item/items/{merchant_item_oid} Update an item
ItemApi UpdateItems PUT /item/items/batch Update multiple items
ItemApi UploadTemporaryMultimedia POST /item/temp_multimedia Upload an image to the temporary multimedia.
OauthApi OauthAccessToken POST /oauth/token Exchange authorization code for access token.
OauthApi OauthRevoke POST /oauth/revoke Revoke this OAuth application.
OrderApi AdjustOrderTotal POST /order/orders/{order_id}/adjust_order_total/{desired_total} Adjusts an order total
OrderApi CancelOrder POST /order/orders/{order_id}/cancel Cancel an order
OrderApi DeleteOrder DELETE /order/orders/{order_id} Delete an order
OrderApi Format POST /order/orders/{order_id}/format Format order
OrderApi GenerateOrderToken GET /order/orders/token/{order_id} Generate an order token for a given order id
OrderApi GetAccountsReceivableRetryConfig GET /order/accountsReceivableRetryConfig Retrieve A/R Retry Configuration
OrderApi GetAccountsReceivableRetryStats GET /order/accountsReceivableRetryConfig/stats Retrieve A/R Retry Statistics
OrderApi GetOrder GET /order/orders/{order_id} Retrieve an order
OrderApi GetOrderByToken POST /order/orders/token Retrieve an order using a token
OrderApi GetOrders GET /order/orders Retrieve orders
OrderApi GetOrdersBatch POST /order/orders/batch Retrieve order batch
OrderApi GetOrdersByQuery POST /order/orders/query Retrieve orders by query
OrderApi InsertOrder POST /order/orders Insert an order
OrderApi ProcessPayment POST /order/orders/{order_id}/process_payment Process payment
OrderApi RefundOrder PUT /order/orders/{order_id}/refund Refund an order
OrderApi Replacement POST /order/orders/{order_id}/replacement Replacement order
OrderApi ResendReceipt POST /order/orders/{order_id}/resend_receipt Resend receipt
OrderApi ResendShipmentConfirmation POST /order/orders/{order_id}/resend_shipment_confirmation Resend shipment confirmation
OrderApi UpdateAccountsReceivableRetryConfig POST /order/accountsReceivableRetryConfig Update A/R Retry Configuration
OrderApi UpdateOrder PUT /order/orders/{order_id} Update an order
StorefrontApi AddToLibrary POST /storefront/code_library Add to library
StorefrontApi ApplyToStoreFront POST /storefront/code_library/apply Apply library item to storefront.
StorefrontApi ArchiveEmailList POST /storefront/{storefront_oid}/email/lists/{email_list_uuid}/archive Archive email list
StorefrontApi ArchiveEmailSegment POST /storefront/{storefront_oid}/email/segments/{email_segment_uuid}/archive Archive email segment
StorefrontApi BackPopulateEmailFlow POST /storefront/{storefront_oid}/email/flows/{email_flow_uuid}/backfill Back populate email flow
StorefrontApi CheckDownloadEmailSegment POST /storefront/{storefront_oid}/email/segments/{email_segment_uuid}/downloadPrepare/{email_segment_rebuild_uuid} Check download of email segment
StorefrontApi CloneEmailCampaign POST /storefront/{storefront_oid}/email/campaigns/{email_campaign_uuid}/clone Clone email campaign
StorefrontApi CloneEmailFlow POST /storefront/{storefront_oid}/email/flows/{email_flow_uuid}/clone Clone email flow
StorefrontApi CreateEmailSendingDomain POST /storefront/email/sending_domains/{domain}/create Create email campaign
StorefrontApi DeleteEmailCampaignFolder DELETE /storefront/{storefront_oid}/email/campaign_folders/{email_campaign_folder_uuid} Delete email campaignFolder
StorefrontApi DeleteEmailCommseqStat DELETE /storefront/{storefront_oid}/email/commseqs/{commseq_uuid}/stat Delete communication sequence stats
StorefrontApi DeleteEmailEmail DELETE /storefront/{storefront_oid}/email/emails/{commseq_email_uuid} Delete email email
StorefrontApi DeleteEmailFlowFolder DELETE /storefront/{storefront_oid}/email/flow_folders/{email_flow_folder_uuid} Delete email flowFolder
StorefrontApi DeleteEmailListCustomer DELETE /storefront/{storefront_oid}/email/lists/{email_list_uuid}/customers/{email_customer_uuid} Delete email list customer
StorefrontApi DeleteEmailPostcard DELETE /storefront/{storefront_oid}/email/postcards/{commseq_postcard_uuid} Delete email postcard
StorefrontApi DeleteEmailSendingDomain DELETE /storefront/email/sending_domains/{domain} delete email campaign
StorefrontApi DeleteExperiment DELETE /storefront/{storefront_oid}/experiments/{storefront_experiment_oid} Delete experiment
StorefrontApi DeleteLibraryItem DELETE /storefront/code_library/{library_item_oid} Delete library item
StorefrontApi DeleteLibraryItemPublishedVersions DELETE /storefront/code_library/{library_item_oid}/published_versions Delete all published versions for a library item, including anything in review.
StorefrontApi DeleteScreenRecordingSegment DELETE /storefront/{storefront_oid}/screen_recordings/segments/{screen_recording_segment_oid} Delete screen recording segment
StorefrontApi DuplicateLibraryItem POST /storefront/code_library/{library_item_oid}/duplicate Duplicate library item.
StorefrontApi FavoriteScreenRecording POST /storefront/{storefront_oid}/screen_recordings/{screen_recording_uuid}/favorite Update favorite flag on screen recording
StorefrontApi GeocodeAddress POST /storefront/{storefront_oid}/email/geocode Obtain lat/long for an address
StorefrontApi GetCountries GET /storefront/{storefront_oid}/email/countries Get countries
StorefrontApi GetEditorToken GET /storefront/{storefront_oid}/editor_token Gets editor token
StorefrontApi GetEmailBaseTemplates GET /storefront/{storefront_oid}/email/baseTemplates Get email communication base templates
StorefrontApi GetEmailCampaign GET /storefront/{storefront_oid}/email/campaigns/{email_campaign_uuid} Get email campaign
StorefrontApi GetEmailCampaignFolder GET /storefront/{storefront_oid}/email/campaign_folders/{email_campaign_folder_uuid} Get email campaign folder
StorefrontApi GetEmailCampaignFolders GET /storefront/{storefront_oid}/email/campaign_folders Get email campaign folders
StorefrontApi GetEmailCampaignScreenshots GET /storefront/{storefront_oid}/email/campaigns/{email_campaign_uuid}/screenshots Get email campaign screenshots
StorefrontApi GetEmailCampaigns GET /storefront/{storefront_oid}/email/campaigns Get email campaigns
StorefrontApi GetEmailCampaignsWithStats GET /storefront/{storefront_oid}/email/campaignsWithStats/{stat_days} Get email campaigns with stats
StorefrontApi GetEmailCommseq GET /storefront/{storefront_oid}/email/commseqs/{commseq_uuid} Get email commseq
StorefrontApi GetEmailCommseqEmailStats POST /storefront/{storefront_oid}/email/commseqs/{commseq_uuid}/emailStats Get email communication sequence emails stats
StorefrontApi GetEmailCommseqPostcardStats POST /storefront/{storefront_oid}/email/commseqs/{commseq_uuid}/postcardStats Get email communication sequence postcard stats
StorefrontApi GetEmailCommseqStatOverall GET /storefront/{storefront_oid}/email/commseqs/{commseq_uuid}/stat Get communication sequence stats overall
StorefrontApi GetEmailCommseqStepStats POST /storefront/{storefront_oid}/email/commseqs/{commseq_uuid}/stepStats Get email communication sequence step stats
StorefrontApi GetEmailCommseqStepWaiting POST /storefront/{storefront_oid}/email/commseqs/{commseq_uuid}/waiting Get email communication sequence customers waiting at each requested step
StorefrontApi GetEmailCommseqs GET /storefront/{storefront_oid}/email/commseqs Get email commseqs
StorefrontApi GetEmailCustomerEditorUrl GET /storefront/{storefront_oid}/email/customers/{email_customer_uuid}/editor_url Get customers editor URL
StorefrontApi GetEmailCustomers GET /storefront/{storefront_oid}/email/customers Get email customers
StorefrontApi GetEmailDashboardActivity GET /storefront/{storefront_oid}/email/dashboard_activity Get email dashboard activity
StorefrontApi GetEmailDashboardStats GET /storefront/{storefront_oid}/email/dashboard_stats Get dashboard stats
StorefrontApi GetEmailEmail GET /storefront/{storefront_oid}/email/emails/{commseq_email_uuid} Get email email
StorefrontApi GetEmailEmailClicks GET /storefront/{storefront_oid}/email/commseqs/{commseq_uuid}/steps/{commseq_step_uuid}/emails/{commseq_email_uuid}/clicks Get email email clicks
StorefrontApi GetEmailEmailCustomerEditorUrl GET /storefront/{storefront_oid}/email/emails/{commseq_email_uuid}/orders/{order_id}/editor_url Get email order customer editor url
StorefrontApi GetEmailEmailOrders GET /storefront/{storefront_oid}/email/commseqs/{commseq_uuid}/steps/{commseq_step_uuid}/emails/{commseq_email_uuid}/orders Get email email orders
StorefrontApi GetEmailEmails GET /storefront/{storefront_oid}/email/emails Get email emails
StorefrontApi GetEmailEmailsMultiple POST /storefront/{storefront_oid}/email/emails/multiple Get email emails multiple
StorefrontApi GetEmailFlow GET /storefront/{storefront_oid}/email/flows/{email_flow_uuid} Get email flow
StorefrontApi GetEmailFlowFolder GET /storefront/{storefront_oid}/email/flow_folders/{email_flow_folder_uuid} Get email flow folder
StorefrontApi GetEmailFlowFolders GET /storefront/{storefront_oid}/email/flow_folders Get email flow folders
StorefrontApi GetEmailFlowScreenshots GET /storefront/{storefront_oid}/email/flows/{email_flow_uuid}/screenshots Get email flow screenshots
StorefrontApi GetEmailFlows GET /storefront/{storefront_oid}/email/flows Get email flows
StorefrontApi GetEmailGlobalSettings GET /storefront/email/global_settings Get email globalsettings
StorefrontApi GetEmailList GET /storefront/{storefront_oid}/email/lists/{email_list_uuid} Get email list
StorefrontApi GetEmailListCustomerEditorUrl GET /storefront/{storefront_oid}/email/lists/{email_list_uuid}/customers/{email_customer_uuid}/editor_url Get email list customer editor url
StorefrontApi GetEmailListCustomers GET /storefront/{storefront_oid}/email/lists/{email_list_uuid}/customers Get email list customers
StorefrontApi GetEmailLists GET /storefront/{storefront_oid}/email/lists Get email lists
StorefrontApi GetEmailPerformance GET /storefront/{storefront_oid}/email/performance Get email performance
StorefrontApi GetEmailPlan GET /storefront/{storefront_oid}/email/plan Get email plan
StorefrontApi GetEmailPostcard GET /storefront/{storefront_oid}/email/postcards/{commseq_postcard_uuid} Get email postcard
StorefrontApi GetEmailPostcards GET /storefront/{storefront_oid}/email/postcards Get email postcards
StorefrontApi GetEmailPostcardsMultiple POST /storefront/{storefront_oid}/email/postcards/multiple Get email postcards multiple
StorefrontApi GetEmailSegment GET /storefront/{storefront_oid}/email/segments/{email_segment_uuid} Get email segment
StorefrontApi GetEmailSegmentCustomerEditorUrl GET /storefront/{storefront_oid}/email/segments/{email_segment_uuid}/customers/{email_customer_uuid}/editor_url Get email segment customers editor URL
StorefrontApi GetEmailSegmentCustomers GET /storefront/{storefront_oid}/email/segments/{email_segment_uuid}/customers Get email segment customers
StorefrontApi GetEmailSegments GET /storefront/{storefront_oid}/email/segments Get email segments
StorefrontApi GetEmailSendingDomain GET /storefront/email/sending_domain/{domain} Get email sending domain
StorefrontApi GetEmailSendingDomainStatus POST /storefront/email/sending_domains/{domain}/status Get email sending domain status
StorefrontApi GetEmailSendingDomains GET /storefront/email/sending_domains Get email sending domains
StorefrontApi GetEmailSettings GET /storefront/{storefront_oid}/email/settings Get email settings
StorefrontApi GetEmailTemplate GET /storefront/{storefront_oid}/email/templates/{email_template_oid} Get email template
StorefrontApi GetEmailTemplates GET /storefront/{storefront_oid}/email/templates Get email templates
StorefrontApi GetEmailThirdPartyProviders GET /storefront/{storefront_oid}/email/third_party_providers Get a list of third party email providers
StorefrontApi GetExperiments GET /storefront/{storefront_oid}/experiments Get experiments
StorefrontApi GetHistogramPropertyNames GET /storefront/{storefront_oid}/email/histogram/property_names Get histogram property names
StorefrontApi GetHistogramPropertyValues GET /storefront/{storefront_oid}/email/histogram/property_values Get histogram property values
StorefrontApi GetLibraryFilterValues GET /storefront/code_library/filter_values Get library values used to populate drop down boxes for filtering.
StorefrontApi GetLibraryItem GET /storefront/code_library/{library_item_oid} Get library item.
StorefrontApi GetLibraryItemPublishedVersions GET /storefront/code_library/{library_item_oid}/published_versions Get all published versions for a library item.
StorefrontApi GetPricingTiers GET /storefront/pricing_tiers Retrieve pricing tiers
StorefrontApi GetScreenRecording GET /storefront/{storefront_oid}/screen_recordings/{screen_recording_uuid} Get screen recording
StorefrontApi GetScreenRecordingPageViewData GET /storefront/{storefront_oid}/screen_recordings/{screen_recording_uuid}/page_view_data/{screen_recording_page_view_uuid} Get screen recording page view data
StorefrontApi GetScreenRecordingSegment GET /storefront/{storefront_oid}/screen_recordings/segments/{screen_recording_segment_oid} Get screen recording segment
StorefrontApi GetScreenRecordingSegments GET /storefront/{storefront_oid}/screen_recordings/segments Get screen recording segments
StorefrontApi GetScreenRecordingSettings GET /storefront/{storefront_oid}/screen_recordings/settings Get screen recording settings
StorefrontApi GetScreenRecordingTags POST /storefront/{storefront_oid}/screen_recordings/tags Get tags used by screen recording
StorefrontApi GetScreenRecordingsByQuery POST /storefront/{storefront_oid}/screen_recordings/query Query screen recordings
StorefrontApi GetScreenRecordingsBySegment POST /storefront/{storefront_oid}/screen_recordings/segments/{screen_recording_segment_oid}/query Get screen recordings by segment
StorefrontApi GetThumbnailParameters POST /storefront/thumbnailParameters Get thumbnail parameters
StorefrontApi GetTransactionEmail GET /storefront/{storefront_oid}/transaction_email/list/{email_id} Gets a transaction email object
StorefrontApi GetTransactionEmailList GET /storefront/{storefront_oid}/transaction_email/list Gets a list of transaction email names
StorefrontApi GetTransactionEmailScreenshots GET /storefront/{storefront_oid}/transaction_email/list/{email_id}/screenshots Get transactional email screenshots
StorefrontApi GlobalUnsubscribe POST /storefront/{storefront_oid}/email/globalUnsubscribe Globally unsubscribe a customer
StorefrontApi ImportEmailThirdPartyProviderList POST /storefront/{storefront_oid}/email/third_party_providers/import Import a third party provider list
StorefrontApi InsertEmailCampaign POST /storefront/{storefront_oid}/email/campaigns Insert email campaign
StorefrontApi InsertEmailCampaignFolder POST /storefront/{storefront_oid}/email/campaign_folders Insert email campaign folder
StorefrontApi InsertEmailCommseq POST /storefront/{storefront_oid}/email/commseqs Insert email commseq
StorefrontApi InsertEmailEmail POST /storefront/{storefront_oid}/email/emails Insert email email
StorefrontApi InsertEmailFlow POST /storefront/{storefront_oid}/email/flows Insert email flow
StorefrontApi InsertEmailFlowFolder POST /storefront/{storefront_oid}/email/flow_folders Insert email flow folder
StorefrontApi InsertEmailList POST /storefront/{storefront_oid}/email/lists Insert email list
StorefrontApi InsertEmailPostcard POST /storefront/{storefront_oid}/email/postcards Insert email postcard
StorefrontApi InsertEmailSegment POST /storefront/{storefront_oid}/email/segments Insert email segment
StorefrontApi InsertScreenRecordingSegment POST /storefront/{storefront_oid}/screen_recordings/segments Insert screen recording segment
StorefrontApi PrepareDownloadEmailSegment POST /storefront/{storefront_oid}/email/segments/{email_segment_uuid}/downloadPrepare Prepare download of email segment
StorefrontApi PublishLibraryItem POST /storefront/code_library/{library_item_oid}/publish Publish library item.
StorefrontApi PurchaseLibraryItem POST /storefront/code_library/{library_item_oid}/purchase Purchase public library item, which creates a copy of the item in your personal code library
StorefrontApi ReleaseEmailCommseqStepWaiting POST /storefront/{storefront_oid}/email/commseqs/{commseq_uuid}/waiting/{commseq_step_uuid} Release email communication sequence customers waiting at the specified step
StorefrontApi Review POST /storefront/{storefront_oid}/email/emails/{commseq_email_uuid}/review Request a review of an email
StorefrontApi Search GET /storefront/search Searches for all matching values
StorefrontApi Search2 POST /storefront/search Searches for all matching values (using POST)
StorefrontApi SearchEmailListCustomers GET /storefront/{storefront_oid}/email/lists/{email_list_uuid}/search Search email list customers
StorefrontApi SearchEmailSegmentCustomers GET /storefront/{storefront_oid}/email/segments/{email_segment_uuid}/search Search email segment customers
StorefrontApi SearchLibraryItems POST /storefront/code_library/search Retrieve library items
StorefrontApi SearchPublishedItems POST /storefront/code_library/search_published Retrieve library items
StorefrontApi SearchReviewItems POST /storefront/code_library/search_review Retrieve library items needing review or rejected
StorefrontApi SearchSharedItems POST /storefront/code_library/search_shared Retrieve library items
StorefrontApi SendEmailTest POST /storefront/{storefront_oid}/email/emails/{commseq_email_uuid}/test Send email test
StorefrontApi SendPostcardTest POST /storefront/{storefront_oid}/email/postcards/{commseq_postcard_uuid}/test Send postcard test
StorefrontApi StartEmailCampaign PUT /storefront/{storefront_oid}/email/campaigns/{email_campaign_uuid}/start Start email campaign
StorefrontApi SubscribeToEmailList POST /storefront/{storefront_oid}/email/lists/{email_list_uuid}/subscribe Subscribe customers to email list
StorefrontApi UnfavoriteScreenRecording DELETE /storefront/{storefront_oid}/screen_recordings/{screen_recording_uuid}/favorite Remove favorite flag on screen recording
StorefrontApi UpdateEmailCampaign PUT /storefront/{storefront_oid}/email/campaigns/{email_campaign_uuid} Update email campaign
StorefrontApi UpdateEmailCampaignFolder PUT /storefront/{storefront_oid}/email/campaign_folders/{email_campaign_folder_uuid} Update email campaign folder
StorefrontApi UpdateEmailCommseq PUT /storefront/{storefront_oid}/email/commseqs/{commseq_uuid} Update email commseq
StorefrontApi UpdateEmailCustomer PUT /storefront/{storefront_oid}/email/customers/{email_customer_uuid} Update email customer
StorefrontApi UpdateEmailEmail PUT /storefront/{storefront_oid}/email/emails/{commseq_email_uuid} Update email email
StorefrontApi UpdateEmailFlow PUT /storefront/{storefront_oid}/email/flows/{email_flow_uuid} Update email flow
StorefrontApi UpdateEmailFlowFolder PUT /storefront/{storefront_oid}/email/flow_folders/{email_flow_folder_uuid} Update email flow folder
StorefrontApi UpdateEmailGlobalSettings POST /storefront/email/global_settings Update email global settings
StorefrontApi UpdateEmailList PUT /storefront/{storefront_oid}/email/lists/{email_list_uuid} Update email list
StorefrontApi UpdateEmailPlan POST /storefront/{storefront_oid}/email/plan Update email plan
StorefrontApi UpdateEmailPostcard PUT /storefront/{storefront_oid}/email/postcards/{commseq_postcard_uuid} Update email postcard
StorefrontApi UpdateEmailSegment PUT /storefront/{storefront_oid}/email/segments/{email_segment_uuid} Update email segment
StorefrontApi UpdateEmailSettings POST /storefront/{storefront_oid}/email/settings Update email settings
StorefrontApi UpdateExperiment PUT /storefront/{storefront_oid}/experiments/{storefront_experiment_oid} Update experiment
StorefrontApi UpdateLibraryItem PUT /storefront/code_library/{library_item_oid} Update library item. Note that only certain fields may be updated via this method.
StorefrontApi UpdateScreenRecordingMerchantNotes POST /storefront/{storefront_oid}/screen_recordings/{screen_recording_uuid}/merchant_notes Update merchant notes on a screen recording
StorefrontApi UpdateScreenRecordingSegment POST /storefront/{storefront_oid}/screen_recordings/segments/{screen_recording_segment_oid} Update screen recording segment
StorefrontApi UpdateScreenRecordingSettings POST /storefront/{storefront_oid}/screen_recordings/settings Update screen recording settings
StorefrontApi UpdateScreenRecordingTags POST /storefront/{storefront_oid}/screen_recordings/{screen_recording_uuid}/tags Update tags on a screen recording
StorefrontApi UpdateTransactionEmail PUT /storefront/{storefront_oid}/transaction_email/list/{email_id} Updates a transaction email object
TaxApi DeleteTaxProviderSelfCity DELETE /tax/providers/self/city/{city} Deletes a Self tax provider city
TaxApi DeleteTaxProviderSelfCountry DELETE /tax/providers/self/country/{countryCode} Deletes a Self tax provider country
TaxApi DeleteTaxProviderSelfCounty DELETE /tax/providers/self/county/{county} Deletes a Self tax provider county
TaxApi DeleteTaxProviderSelfPostalCode DELETE /tax/providers/self/postalCode/{postal_code} Deletes a Self tax provider postalCode
TaxApi DeleteTaxProviderSelfState DELETE /tax/providers/self/state/{stateCode} Deletes a Self tax provider state
TaxApi GetTaxProviderAvalara GET /tax/providers/avalara Retrieve the Avalara tax provider
TaxApi GetTaxProviderAvalaraCompanies POST /tax/providers/avalara/companies Returns Avalara Tax companies configured by the merchant
TaxApi GetTaxProviderAvalaraTest GET /tax/providers/avalara/test Attempts to connect to Avalara and returns back the response
TaxApi GetTaxProviderSelf GET /tax/providers/self Retrieve the Self tax provider
TaxApi GetTaxProviderSelfCountries GET /tax/providers/self/countries Retrieve the Self tax provider countries
TaxApi GetTaxProviderSelfRegionsByCountryCode GET /tax/providers/self/regions/{countryCode} Retrieve the Self tax provider regions for a given country code
TaxApi GetTaxProviderSovos GET /tax/providers/sovos Retrieve the Sovos tax provider
TaxApi GetTaxProviderSovosTest GET /tax/providers/sovos/test Attempts to connect to Sovos and returns back the response
TaxApi GetTaxProviderTaxJar GET /tax/providers/taxjar Retrieve the TaxJar tax provider
TaxApi GetTaxProviderTaxJarTest GET /tax/providers/taxjar/test Attempts to connect to TaxJar and returns back the response
TaxApi GetTaxProviderUltraCart GET /tax/providers/ultracart Retrieve the UltraCart tax provider
TaxApi GetTaxProviders GET /tax/providers Retrieve tax methods
TaxApi SetActiveTaxProvider POST /tax/providers/setActive/{providerName} Toggle a tax provider to active
TaxApi UpdateTaxProviderAvalara POST /tax/providers/avalara Update the Avalara tax provider
TaxApi UpdateTaxProviderSelf POST /tax/providers/self Update the Self tax provider
TaxApi UpdateTaxProviderSelfCity POST /tax/providers/self/city/{city} Updates a Self tax provider city
TaxApi UpdateTaxProviderSelfCountry POST /tax/providers/self/country/{countryCode} Updates a Self tax provider country
TaxApi UpdateTaxProviderSelfCounty POST /tax/providers/self/county/{county} Updates a Self tax provider county
TaxApi UpdateTaxProviderSelfPostalCode POST /tax/providers/self/postalCode/{postal_code} Updates a Self tax provider postalCode
TaxApi UpdateTaxProviderSelfState POST /tax/providers/self/state/{stateCode} Updates a Self tax provider state
TaxApi UpdateTaxProviderSovos POST /tax/providers/sovos Update the Sovos tax provider
TaxApi UpdateTaxProviderTaxJar POST /tax/providers/taxjar Update the TaxJar tax provider
TaxApi UpdateTaxProviderUltraCart POST /tax/providers/ultracart Update the UltraCart tax provider
UserApi DeleteGroup DELETE /user/groups/{group_oid} Delete a group
UserApi DeleteUser DELETE /user/users/{user_id} Delete a user
UserApi GetGroup GET /user/groups/{group_oid} Retrieve a group
UserApi GetGroups GET /user/groups Get groups
UserApi GetUser GET /user/users/{user_id} Retrieve a user
UserApi GetUserLogins GET /user/users/{user_id}/logins Retrieve a user's login history
UserApi GetUsers GET /user/users Get users
UserApi InsertGroup POST /user/groups Insert a group
UserApi InsertUser POST /user/users Insert a user
UserApi UpdateGroup PUT /user/groups/{group_oid} Update a group
UserApi UpdateUser PUT /user/users/{user_id} Update a user
WebhookApi DeleteWebhook DELETE /webhook/webhooks/{webhookOid} Delete a webhook
WebhookApi DeleteWebhookByUrl DELETE /webhook/webhooks Delete a webhook by URL
WebhookApi GetWebhookLog GET /webhook/webhooks/{webhookOid}/logs/{requestId} Retrieve an individual log
WebhookApi GetWebhookLogSummaries GET /webhook/webhooks/{webhookOid}/logs Retrieve the log summaries
WebhookApi GetWebhooks GET /webhook/webhooks Retrieve webhooks
WebhookApi InsertWebhook POST /webhook/webhooks Add a webhook
WebhookApi ResendEvent POST /webhook/webhooks/{webhookOid}/reflow/{eventName} Resend events to the webhook endpoint.
WebhookApi UpdateWebhook PUT /webhook/webhooks/{webhookOid} Update a webhook

Documentation for Models

Documentation for Authorization


  • Type: API key
  • API key parameter name: x-ultracart-browser-key
  • Location: HTTP header


  • Type: OAuth
  • Flow: accessCode
  • Authorization URL:
  • Scopes:
    • affiliate_read: Allows you to read affiliate information.
    • affiliate_write: Allows you to write affiliate information.
    • auto_order_read: Allows you to read auto order information.
    • auto_order_write: Allows you to write auto order information.
    • chargeback_read: Allows you to read chargeback information.
    • chargeback_write: Allows you to write chargeback information.
    • checkout_read: Allows you to read checkout information.
    • checkout_write: Allows you to write checkout information.
    • coupon_read: Allows you to read coupon information.
    • coupon_write: Allows you to write coupon information.
    • customer_read: Allows you to read customer information.
    • customer_write: Allows you to write customer information.
    • fulfillment_read: Allows you to read fulfillment information.
    • fulfillment_write: Allows you to write fulfillment information.
    • order_read: Allows you to read order information.
    • order_write: Allows you to write order information.
    • item_read: Allows you to read item information.
    • item_write: Allows you to write item information.
    • storefront_read: Allows you to read storefront information.
    • storefront_write: Allows you to write storefront information.
    • tax_read: Allows you to read tax configuration information.
    • tax_write: Allows you to write tax configuration information.
    • webhook_read: Allows you to read webhook information.
    • webhook_write: Allows you to write webhook information.
    • ultrabooks_read: 1 of 2 required to use UltraBooks
    • ultrabooks_write: 2 of 2 required to use UltraBooks
    • user_read: Allows you to read user information.
    • user_write: Allows you to write user information.


  • Type: API key
  • API key parameter name: x-ultracart-simple-key
  • Location: HTTP header


Not every change is committed to every SDK.

Version Date Comments
3.1.28 04/26/2021 screen recording statistics on the setting object
3.1.27 04/20/2021 bug fix - annotation misspell on new email campaign property
3.1.26 04/20/2021 StoreFront Connumications - flag to end campaign or flow once purchase happens anywhere
3.1.25 04/19/2021 Screen recording UTM campaign and source fields
3.1.24 04/16/2021 Screen recording aggregations on communications campaign/flows
3.1.22 04/09/2021 Move URL filter values into page level view for screen recordings
3.1.18 03/17/2021 Added order query by ship on date
3.1.17 03/17/2021 New coupon - percent off MSRP item
3.1.16 03/16/2021 screen recording filter page parameter names
3.1.15 03/15/2021 fix response from deleteScreenRecordingSegment that should have been void
3.1.14 03/15/2021 sort screen recordings by favorite flag
3.1.13 03/02/2021 new webhook order_payment_failed
3.1.12 02/25/2021 added screen recording visitor_first_seen property
3.1.11 02/24/2021 Added Screen recording visitor number
3.1.10 02/24/2021 Added Screen recording merchant notes
3.1.9 02/24/2021 Allow coupons to be configured as unique with expiration on cart step within StoreFront Communications
3.1.8 02/24/2021 Add flag: screen recording missing event boolean
3.1.5 02/12/2021 Bug Fix: PHP retry logic missing a closing brace. Also screen recording page view data response refactor
3.1.3 02/11/2021 Bug Fix: wrong return type on CustomerApi.validateEmailVerificationToken
3.1.2 02/11/2021 CustomerApi.getEmailVerificationToken, CustomerApi.validateEmailVerificationToken added to allow for custom email verification. Also added favorite flag to screen recording object
3.1.1 02/10/2021 CustomerApi.getCustomerByEmail() method added
3.1.0 02/10/2021 Minor revision jump. Added new convenience methods for simple_key use to all api calls. Updated docs
3.0.75 02/01/2021 StoreFront Communication plan revision (internal use)
3.0.71 01/28/2021 BugFix: PHP SDK retry logic NPE
3.0.70 01/26/2021 Checkout return URL support
3.0.66 01/22/2021 code library attributes (mostly internal dev)
3.0.65 01/22/2021 Added folder support for email campaigns and flows
3.0.64 01/20/2021 Bug fix on revenue per customer field incorrectly named.
3.0.63 01/20/2021 CouponAPI: bug fixes and new method doesCouponCodeExist
3.0.62 01/19/2021 Added retry ability when rate limit is triggered (PHP SDK only) only) Other sdk to follow.
3.0.60 01/14/2021 Working with Ruby SDK
3.0.57 12/17/2020 CouponAPI: Added Buy one get one free coupon
3.0.53 12/14/2020 StoreFrontAPI: added a duplicate method to load the pricing tiers on the StoreFront
3.0.51 12/09/2020 UserAPI: internal bug preventing proper usage of user group creation
3.0.45 12/03/2020 CouponAPI: added partial searches to getCoupon params, added deleteCoupons method, fixed bugs
3.0.44 12/03/2020 Code library updates, intended for internal use
3.0.43 12/02/2020 Added fields to code library to handle versions of published items
3.0.42 12/02/2020 Added display values to CouponApi.getEditorValues to make type dropdowns easy
3.0.41 11/17/2020 New modify cart step option for StoreFront communications
3.0.39 11/12/2020 Added Customer.tax_codes.taxjar_exemption_type
3.0.38 11/09/2020 Added TaxProviderTaxJar.configuration.send_outside_nexus flag
3.0.37 11/06/2020 Added transactional email screenshots for code library
3.0.36 11/03/2020 Added missing constant for pre-order stage
3.0.34 10/26/2020 UserAPI initial release
3.0.33 10/23/2020 Added library_item_oid to StoreFront Communications email object for upcoming code library
3.0.32 10/21/2020 Added new method that takes a POST instead of a GET
3.0.31 10/16/2020 more dev work on code library (internal)
3.0.30 10/08/2020 development work on code library (internal), first version of UserAPI. The UserAPI is not live yet.
3.0.29 09/29/2020 new boolean field on coupon: bug fix
3.0.28 09/29/2020 new boolean field on coupon: free item with purchase of another item
3.0.27 09/29/2020 Refactored the code library applyToStoreFront to provide support for marketing emails
3.0.26 09/25/2020 Expose actual shipping and fulfillment costs in the order summary object
3.0.25 09/16/2020 New method: OrderApi.adjustOrderTotal
3.0.24 09/10/2020 Bugfix: incorrect response type on CheckoutAPI.registerAffiliateClick
3.0.23 09/02/2020 Added flag to email plan object. allow_tracking_emails
3.0.22 09/02/2020 Order object - added tracking details
3.0.21 09/01/2020 break fix in php sdk due to bad namespace
3.0.20 09/01/2020 Added OrderApi.processPayment method
3.0.19 08/28/2020 Code Library development: added kraken parameters for thumbnail image generation.
3.0.17 08/26/2020 cont. development work on Code Library
3.0.14 08/19/2020 development work on Code Library
3.0.13 08/18/2020 development work on Code Library
3.0.12 08/13/2020 screenshot urls for campaigns and flows (storefront communications)
3.0.11 08/12/2020 Refactoring and development for Code Library (not released yet)
3.0.10 08/10/2020 Method for registering an affliate click via the SDK, found within CheckoutAPI
3.0.8 08/05/2020 stub for code library 'getLibraryFilterValues' for populating drop down lists
3.0.4 08/05/2020 fixed misspell of 'version' in LibraryItem object.
3.0.3 08/04/2020 added description to addToLibrary call to allow for initial description
3.0.2 08/03/2020 added option on email render step config to allow override of subject, added flow/campaign flag to end once customer purchases
3.0.1 07/27/2020 added init_json to storefront communication email objects
3.0.0 07/01/2020 upgraded our swagger-codegen fork to the latest swagger source code. this was a major changes so we jumped version numbers. please test all code.

Some changes jump version numbers due to multiple commits for bug fixes, omissions, and errors. At UltraCart, we eat our own dog food, and we increment the version number for every commit in order to generate a new javascript npm. For this reason, version gaps will be found in the change log above.


UltraCart REST API V2 SDK for C#




No packages published