{
  "openapi": "3.0.0",
  "info": {
	"title": "Integration Manager API (formerly CartRover)",
	"description": "Integration Manager is a platform that effortlessly connects your sales channels (carts & marketplaces) with your back-end OMS or WMS system. Integrate with Integration Manager once and leverage our library of ecommerce integations. [Learn More](https://www.extensiv.com/).\n\nThe Integration Manager Orders API is a RESTful service that performs all data communication in JSON format. The order of the fields you submit is not important and the order of fields returned is not guaranteed.\n\nThere are four different levels of API access: Cart, Merchant, Warehouse, Master. Each provides access to different endpoints listed in their sections below.\n\nAll API levels have separate access credentials but use the same authorization procedure and data formats for sending and receiving.\n\nTo be notified of API changes, please [join our API email group](https://groups.google.com/forum/#!forum/cartrover-api-updates).\n\nTo monitor the API status and uptime, [subscribe to our status page](https://status.extensiv.com/).\n\n# Getting Help\n\nIf you have questions about the API, head over to the [Integration Manager Community - API Discussions](https://support.cartrover.com/portal/en/community/cartrover/api-discussions) and make a post.\n\nFor general CartRover support and information [view our knowledgebase](https://support.cartrover.com/portal/kb/Integration Manager) where you can learn about CartRover and open support tickets.\n\nWhen requesting API support please include your API User and the `X-Integration Manager-Process-ID` response header value for any specific requests you have made. We recommend you log this response header for every API request you make so that you have it for reference if you ever need to go back and ask about a specific call. Without this value we won't be able to help as much.\n\nCheck out the official [Integration Manager PHP Client](https://github.com/CartRover/cartrover-php). Just include it directly in your project, we've done all the work for you!\n\nAdditional unofficial CartRover Libraries:\n\n*   [Ruby Client](https://github.com/sifourteen/Integration Manager-ruby-client) by sifourteen\n    \n\n# Authentication\n\n[How To Get CartRover API Keys](https://support.cartrover.com/portal/kb/articles/how-to-get-cartrover-api-keys)\n\nRemember to keep your keys secret and secure. You can cycle your API keys in CartRover when viewing them, which will immediately invalidate the previous keys.\n\n## Basic Auth\n\nPass your API User and Key using the [Basic Access Authentication](https://en.wikipedia.org/wiki/Basic_access_authentication) standard.\n\n1.  Concatenate the API user and key and place a colon in between: `api_user:api_key`\n2.  Base 64 encode this string\n3.  Pass it as a header in the following format: `Authorization: Basic BASE64ENCODEDSTRING`\n    \n\n# Errors\n\nAll endpoints will return errors in the following format.\n\n| Field | Data Type | Description |\n| --- | --- | --- |\n| success_code | boolean | Always FALSE for an error |\n| error_code | ENUM | Invalid - Invalid/Missing data submitted  <br>Failure - Hard error like: Duplicate order  <br>RateLimit - Over API Limit |\n| message | String | Specific Error Message |\n\n# Rate Limit\n\nThe CartRover API uses a [Leaky Bucket](https://en.wikipedia.org/wiki/Leaky_bucket) algorithm to manage API access. The bucket size is 100 calls, and they refill at rate of 1 call every 0.6 seconds. Currently the New Order API endpoint is NOT rate limited. If we see abuse of the API, all endpoints will be rate limited.\n\nAll endpoints that are rate limited will return the following header with each request. It contains the remaining number of API calls you can currently burst to:\n\n> X-CartRover-Api-Minute-Hits-Remaining\n\nIf you go over your rate limit, the API will return a standard error with the following code and message:\n\n``` json\n{\n    \"success_code\": false,\n    \"error_code\": \"RateLimit\",\n    \"message\": \"Over API Limit. Please slow down requests.\"\n}\n\n```\n\n# Timestamps\n\nTimestamp fields should be submitted to the API in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format in order to specify the timezone.\n\nTimestamp fields returned by the API will be formatted in ISO 8601 and always be in the UTC timezone.\n\n> 2018-08-27T02:24:58+00:00\n\nIf you are passing a timestamp as a GET parameter, **YOU MUST** encode the plus symbol (`+`) as `+`\n\n# Order Charge Field Definitions\n\nThe definitions below are how CartRover uses and calculates price fields. If you do not follow this standard, CartRover cannot guarantee the price information the warehouse receives will be correct.\n\n## Order Header Fields\n\n**sub_total:** Sum of Order Line extended_amount fields.\n\n*   Does not include sales_tax, order_discount, or shipping_handling\n*   If loading orders, you may need to add the order_discount to the sub_total if the cart has one and doesn't include it in the sub_total.\n    \n\n**order_discount:** Total post-tax discount on order as a positive number.\n\n*   Overall order level post-tax discount passed from cart + (Sum of addl_discount from Order Lines)\n    \n\n**sales_tax:** Total tax on order\n\n*   If tax is set on Order Line this must match the sum of all order line tax fields. Most interfaces don't set tax on the order line.\n    \n\n**shipping_handling:** Total shipping charge for the order passed from cart. No relation to the order line shipping_surcharge field.\n\n**grand_total:** sub_total + sales_tax + shipping_handling - order_discount\n\n**balance:** Not used right now. Set to 0 or leave off completely.\n\n## Order Line Fields\n\n**quantity:** Number/Quantity of this product ordered.\n\n**price:** Cost of a single item. Does not include taxes, discounts, or shipping charges.\n\n**discount:** Pre-tax Discount amounts to be applied to EACH single item as a positive number.\n\n**addl_discount:** Post-tax Discount amount to be applied to the total item line as a positive number.\n\n**tax:** Taxes applied to the total quantity of the total items in this line.\n\n**shipping_surcharge:** Extra shipping charges that were added because of the total items in this line.\n\n**extended_amount:** (price - discount) * quantity\n\n*   Does not take addl_discount or tax into account",
	"version": "1.0.0"
  },
  "servers": [
	{
	  "url": "http://{{base_url}}"
	}
  ],
  "components": {
	"securitySchemes": {
	  "basicAuth": {
		"type": "http",
		"scheme": "basic"
	  }
	}
  },
  "security": [
	{
	  "basicAuth": []
	}
  ],
  "tags": [
	{
	  "name": "Cart API",
	  "description": "Cart API calls are available to users with cart level credentials. These endpoints allow for common actions that a shopping cart or marketplace would want to implement."
	},
	{
	  "name": "Merchant API",
	  "description": "Merchant API calls are available to users with merchant level credentials. These endpoints allow for common actions that a warehouse or merchant would want to perform in order to receive, and ship their orders. "
	},
	{
	  "name": "Warehouse API",
	  "description": "Warehouse API calls are only available to users with Warehouse level credentials. These endpoints allow for a warehouse, 3PL, or software provider to manage many merchants at the same time.\n\n# Merchant Access\nWarehouse account API credentials may also be used to access any Merchant level API calls for accounts they own by passing the following header values (along with the Warehouse API Keys) to identify the desired sub-account with each request:\n\n* X-Merchant-Pk\n\nExample: X-Merchant-Pk: 1234\n\nWarehouse account credentials can not be used to access any Cart API calls.\n\nEach merchant accessed has its own separate rate limit."
	},
	{
	  "name": "Webhooks",
	  "description": "Webhooks are a tool that allows your application to listen for and respond to specific events within Integration Manager as they happen. Rather than having to reach out and check if an event has occurred, Integration Manager will reach out and notify your application when it has.\n\nBecause webhooks originate from Integration Manager, you will need a publically available URL in order for them to work properly.\n\n**Note:** Integration Manager uses the following IP addresses which you may need to whitelist: 50.18.194.14, 54.241.171.180\n\n# Setup Webhooks\n\nIn the API Settings, fill out the Optional Webhook URL where Integration Manager should post data to. If you need Integration Manager to pass a custom header with each request, you can also enter that information here as well. As soon as you have saved the Webhook URL, you will be subscribed to events.\n\n# Receiving Webhook Data\n\nWebhook data will be POSTed to the specified URL as a JSON string in the body. Below are a few examples of how to receive the data.\n\n## PHP\n\n    $body = file_get_contents('php://input');\n    \n## Python\n\n    from flask import request\n    body = request.data\n    \n## Ruby\n\n    body = request.raw_post\n    \n# Responding to Webhooks\n\nTo acknowledge that you have properly received the data from a webhook post, you must respond with a http status of **200**. Any other http status will be considered a failure. You do not need to return anything in the body of the response. If you do return a body, it will be ignored.\n\nIf you fail to properly respond to a webhook for any reason, it will be automatically re-attempted up to ten times based on the inverse of the natural log.\n\nCalculation for wait time before next retry:\n\n> ceiling(e^x)\n\nWhere **x** stands for the number of failed attempts and the result is the number of minutes before the next attempt. Eg: If the webhook post has failed 3 times, the next attempt will be in ceiling(e^3) minutes, or 21 minutes.\n\n# Verifying Webhooks\n\nEach Webhook post will include a **X-Webhook-Event** header identifying the specific Webhook event which was triggered. View the event specific documentation below to see what value will be passed for each.\n\nIntegration Manager will also include a header named **X-Webhook-Signature** with every post. The value of this header will be a SHA-256 signed HMAC of the body of the post. Your Integration Manager API Key will be used as the key for the HMAC.\n\n**If you do not verify the headers in the post, you cannot guarantee the message came from Integration Manager.**\n\nHere are some examples of how you can verify this signature in your code:\n\n## PHP\n\n    $api_key = 'CARTROVER_API_KEY';\n    $msg_body = file_get_contents('php://input');\n    $signature_sent = $_SERVER['HTTP_X_WEBHOOK_SIGNATURE'];\n    \n    $signature_generated = hash_hmac('sha256', $msg_body, $api_key);\n    if(!hash_equals($signature_generated, $signature_sent)){\n        // You are not Integration Manager!\n        exit(0);\n    }\n    \n## Python\n\n    import hmac\n    from hashlib import sha256\n    \n    api_key = 'CARTROVER_API_KEY'\n    msg_body = request.data\n    \n    signature_generated = hmac.new(api_key, msg_body, sha256).hexdigest()\n\n## Ruby\n\n    require 'base64'\n    require 'openssl'\n    \n    api_key = 'CARTROVER_API_KEY'\n    msg_body = request.body.read\n    \n    signature_generated = OpenSSL::HMAC.hexdigest(OpenSSL::Digest::SHA256.new, api_key, msg_body)\n    \nYou can also use the optional custom header name/value pair to verify that the request is coming from Integration Manager. In this case it is up to you to enter secure header values and keep them secret."
	},
	{
	  "name": "Master API",
	  "description": "Master API calls are only available to software providers or partners managing multiple accounts or whitelabeling Integration Manager. You must have a Integration Manager Master Account to access these. These endpoints allow for a company to manage multiple Integration Manager accounts at the same time.\n\n# Sub Account Access\nMaster account API credentials may also be used to access any Warehouse or Merchant level API calls for accounts they own by passing the following header values (along with the Master API Keys) to identify the desired sub-account with each request:\n\n* X-Fclient-Pk\n* X-Merchant-Pk\n\nExample: X-Fclient-Pk: 1234\n\nMaster account credentials can not be used to access any Cart API calls.\n\nEach sub account has its own separate rate limit."
	},
	{
	  "name": "Sample Workflows",
	  "description": "These sample workflows show the basic functionality you will need to implement for certain scenarios. These are a great guide to use to start with if they fit your integration type."
	},
	{
	  "name": "Sample Workflows > Warehouse or OMS Sample Workflow",
	  "description": "This sample API workflow covers common functionality that a Warehouse or Order Management System might use when connecting to Integration Manager via API. We recommend reviewing the main API documentation first which covers things like Authentication and Error handling.\n\n# Step 1 - Downloading New Orders\n\nUse the Merchant [List Orders by Status: /merchant/orders/list/<status>](#079c1875-9b93-4b23-9b43-736d928bdf44) endpoint and pass **new** as the status.\n\n**Note:** This step is not currently available as a webhook, but this is planned for a future update. [Join our API email group](https://groups.google.com/forum/#!forum/cartrover-api-updates) to be notified when this is available.\n\n\n\n# Step 2 - Acknowledge Orders\n\nUse the Merchant [Update Order Status: /merchant/orders/update/<cust_ref>](#45da3f75-14cd-461a-ab5f-364cbe105f7b) endpoint to update the order status to **at_wms** once you've loaded the orders. This will let the merchant know via the web screens which orders have been loaded, and will also make sure you don't receive the same orders over and over each time you download new orders. This step is critical to ensure inventory calculations inside CartRover are accurate.\n\n\n\n# Step 3 - Mark Orders Shipped\n\nUse the Merchant [Update Order Status: /merchant/orders/update/<cust_ref>](#56614639-aa30-4b5c-a877-5c951ec0b969) endpoint again to update the order status to **shipped**. When marking orders as shipped, the post data also requires a **shipments** element where you can pass a list of boxes and tracking numbers. If your systems knows the details of which items shipped in which box and other carton details, we recommend passing that data. The minimum required shipment data is a tracking number. If no box or item details are provided, CartRover will assume the entire order was shipped. You can make multiple calls to this endpoint for the same order if multiple packages for the same order ship at different times.\n\n\n\n# Step 4 - Provide Inventory Levels\n\nUse the Merchant [Update Inventory: /merchant/inventory/update](#24668ac3-ce0b-4606-96bb-0ba2ff065987) endpoint to post inventory data to CartRover. This information will be forwarded to the order sources connected to CartRover. You can either provides these updates real-time as adjustments occur in your system, or in batches on a regular schedule. CartRover will keep track of sales in between inventory posts to make sure the levels passed to the order sources are correct and account for sales that happened after you posted the inventory data.\n\n# Useful Optional Calls\n\n* [Get Product Data: /merchant/product/<sku>](#e7dd848e-dc86-4749-a0d7-f6d53032e415)\n* [Upload Product Data: /merchant/product/<sku>](#40785359-013e-4152-92a4-5d77ec84bfb8)\n* [Cancel/Refund Order in Cart: /merchant/orders/cart_cancel](#4a967e66-343b-4824-97ac-fea04b486b16)\n* [New Warehouse: /merchant/warehouse](#1dc8a949-d422-4ebb-9912-e7623eb8e04b)\n* [List Alerts: /merchant/alerts](#86a8351d-f11d-4691-9d1e-460179f36957)"
	},
	{
	  "name": "Sample Workflows > Merchant & Cart Setup (Whitelabel) Sample Workflow",
	  "description": "This sample API workflow shows how you can integrate CartRover tightly into your system and whitelabel much of the functionality. This guide will cover setting up new merchants and order source connections in the background via API calls.\r\n\r\nNote that some connections that require oAuth either cannot be fully white labeled, or require a closer partnership with CartRover in order to fully white label them.\r\n\r\n# Step 1 - Create New Merchant\r\n\r\n## For Warehouse Accounts\r\n\r\nUse the [New Merchant: /wms/merchant](#eb0245bf-0ce2-4fdb-a9d3-c6cbab6aa48c) endpoint to create a new merchant user. This will also return API credentials for that merchant. This call uses your Warehouse level API credentials.\r\n\r\n**Notice:** There is not currently a way to view the existing merchant API credentials or setup new merchant API credentials through the Warehouse API. The credentials are only returned once when the merchant is first created.\r\n\r\n## For Master Accounts\r\n\r\nUse the [New Merchant Sub Account: /master/merchant](#9141a404-0777-449d-8660-170cb23c66d7) endpoint to create a new Merchant Account, or [New Warehouse Sub Account: /master/warehouse](#2b4d6618-131a-484b-9886-5800a375bec6) endpoint to create a new Warehouse Account. This return the Account Number for the new account that can be used in subsequent calls. This call uses your Master level API credentials. For more info on accessing your sub-accounts see [Sub Account Access](#a736a75b-e60f-4405-907c-386e64d1db04).\r\n\r\n# Step 2 - Get List of Available Carts & Their Settings\r\n\r\nUse the [List All Available Carts: /cart/listall](#a1c8ccd4-c9e2-4998-9997-5aeb31601f41) endpoint to display a list of available cart connections. This call also lists all required parameters to setup each cart. This call uses the merchant's level API credentials.\r\n\r\n# Step 3 - Setup Cart Connection\r\n\r\nUse the [New Cart: /cart/new](#f8521a46-b6d9-4133-87fa-ff4d1afa232c) endpoint to pass connection credentials and initial settings. CartRover will either save and verify the credentials or return an oauth redirect URL if the connection requires it.\r\n\r\n# Step 4 - Edit/Manage Cart Connection\r\n\r\nUse the [List Setup Carts: /cart/list](#100e154e-9e54-4da7-a5bf-48e2a8442e07) endpoint to get a list of all order source connections currently set up.\r\n\r\nUse the [Get Cart: /cart/list/{order_source}](#933a760d-c853-492e-9aff-fb99a7297b93) endpoint to get the current settings for a specific order source connection.\r\n\r\nUse the [Update Cart: /cart/edit/{order_source}](#edb43702-70f2-4bcc-bcfd-3230d1cbb0fd) endpoint to update the credentals or settings for a specific order source connection.\r\n\r\n# Step 5 - Monitor Cart Connection\r\n\r\nUse the [List Alerts: /merchants/alerts](#86a8351d-f11d-4691-9d1e-460179f36957) endpoint to get a list of all active alerts/issues for the merchant. This includes things like orders, tracking, and inventory records that failed to sync across and need to be reviewed/corrected.\r\n\r\n\r\n# Next Steps\r\n\r\nOnce a new cart has been connected, see this guide for how to manage the orders: [API Sample Workflow - Warehouse or OMS](#5c84a0de-40aa-40c7-af21-eff2b1afe605)\r\n\r\n\r\n\r\n# Useful Optional Calls\r\n\r\n* [List Setup Carts: /cart/list](#100e154e-9e54-4da7-a5bf-48e2a8442e07)\r\n* [List Skipped orders: /merchant/skipped_orders](#ef552db7-a2ee-420b-a0d5-27d38a06812d)"
	}
  ],
  "paths": {
	"/v1/cart/orders/{CUST_REF}": {
	  "get": {
		"tags": [
		  "Cart API"
		],
		"summary": "View Order",
		"description": "Returns the order with the specified CUST_REF, which is guaranteed to be unique for all orders for a merchant.\n\nThe format of the order returned will match the format of an order passed to the [New Order](#665d1346-78f2-4a6d-a723-2723cdfff7ed) API Endpoint.\n\nIt will also have a shipments element containing an array of tracking information matching the shipments format from the View Order Status Endpoint.\n\n### Filters\n|    Argument    |    Description    |\n|--------------------|-----------------------|\n|    include_filtered_items    |    Y or N. Default N   If Y, items that should not be shipped will   be included in response. The filtered_sku field will be set to Y for   these items.    |\n|    include_order_extras    |    Y or N. Default N   If Y, order header meta data fields (from   original order source) will be returned.    |\n|    include_line_extras    |    Y or N. Default N   If Y, line item meta data fields (from   original order source) will be returned.    |\n|    include_aliases    |    Y or N. Default N   If Y, any known aliases will be returned   with the item record, including the WMS Master SKU.    |\n\n**Any filters should be passed with the URL as GET arguments**",
		"parameters": [
		  {
			"name": "CUST_REF",
			"in": "path",
			"schema": {
			  "type": "string"
			},
			"required": true
		  }
		],
		"responses": {
		  "200": {
			"description": "OK",
			"content": {
			  "application/json": {
				"schema": {
				  "type": "object"
				},
				"examples": {
				  "example-0": {
					"summary": "View Order",
					"value": {
					  "success_code": true,
					  "response": {
						"created_date_time": "2019-05-23T23:49:28+00:00",
						"updated_date_time": "2019-05-24T19:20:06+00:00",
						"record_no": null,
						"version": null,
						"format": null,
						"cust_ref": "TEST07Auto",
						"cust_po_no": "TEST07Auto",
						"po_number": null,
						"carrier": null,
						"ship_code": "",
						"ship_code_description": null,
						"working_ship_code": null,
						"cust_company": "Will Town",
						"cust_title": null,
						"cust_first_name": null,
						"cust_last_name": null,
						"cust_address_1": "351 Hatchback Way",
						"cust_address_2": "Suite B140",
						"cust_address_3": null,
						"cust_city": "Santa Lucia",
						"cust_state": "NV",
						"cust_zip": "93707",
						"cust_country": "USA",
						"cust_phone": null,
						"cust_e_mail": null,
						"ship_company": "Will Town",
						"ship_title": null,
						"ship_first_name": null,
						"ship_last_name": null,
						"ship_address_1": "351 HITCHCOCK WAY STE B140",
						"ship_address_2": null,
						"ship_address_3": null,
						"ship_city": "SANTA BARBARA",
						"ship_state": "CA",
						"ship_zip": "93105-4016",
						"ship_country": "USA",
						"ship_phone": null,
						"ship_e_mail": null,
						"ship_address_type": null,
						"special_services": null,
						"customer_id": null,
						"order_date": "2019-05-23",
						"sub_total": "0.00",
						"order_discount": "0.00",
						"sales_tax": "0.00",
						"shipping_handling": "0.00",
						"grand_total": "0.00",
						"balance": "0.00",
						"currency_code": null,
						"credit_card_no": null,
						"expiration_date": null,
						"pay_type": "CA",
						"tax_exempt_sw": null,
						"installment_program": null,
						"media_week": null,
						"order_source": "APIAccess1",
						"promo_code": null,
						"ani_phone": null,
						"vendor_phone": null,
						"check_account_no": null,
						"check_type": null,
						"check_no": null,
						"check_bank_id": null,
						"check_cust_bank": null,
						"check_cust_id_num": null,
						"check_cust_id_state": null,
						"check_cust_id_mm": null,
						"check_cust_id_dd": null,
						"check_cust_id_yy": null,
						"check_cust_id_type": null,
						"location": null,
						"shipping_instructions": null,
						"ship_account_no": null,
						"ship_account_zip": null,
						"pre_auth_code": null,
						"pre_auth_amt": "0.00",
						"pre_auth_id": null,
						"cvv": null,
						"custom_field_1": null,
						"custom_field_2": null,
						"custom_field_3": null,
						"custom_field_4": null,
						"custom_field_5": null,
						"gift_card_sw": null,
						"token_sw": null,
						"cass_code_ship": "V",
						"cass_error_ship": null,
						"cass_code_cust": "N",
						"cass_error_cust": null,
						"cass_date": null,
						"ncoa_code_ship": null,
						"ncoa_code_cust": null,
						"ncoa_date": null,
						"error_code": null,
						"error_msg": null,
						"ifraud_error_code": null,
						"xfraud_error_code": null,
						"credit_error_code": null,
						"resubmit_date": null,
						"black_list": null,
						"credit_score": null,
						"fraud_score": null,
						"load_override_sw": null,
						"fail_action": null,
						"action_dt": null,
						"filename": null,
						"call_queue": null,
						"clerk_disposition": null,
						"clerk_disp_dt": null,
						"rep_disposition": null,
						"rep_disp_dt": null,
						"duplicate_sw": null,
						"weight": null,
						"org_file_no": null,
						"gift_message": null,
						"gift_wrap": null,
						"delete_date": null,
						"routing_sw": "N",
						"sent_to_region": null,
						"accepted_by_region": null,
						"regional_center": null,
						"regional_order_no": null,
						"regional_ship_date": null,
						"regional_retry_sw": "N",
						"regional_error": null,
						"regional_attempts": "0",
						"first_attempt": null,
						"cancel_date": null,
						"changed_by": "Shopping Cart: cartrover",
						"changed_from_server": "william-pc",
						"changed_by_user": "williamw",
						"cc_last_four": null,
						"expected_delivery_date": null,
						"requested_ship_date": null,
						"latest_ship_date": null,
						"delivered_to_wms_date": "2019-05-24T19:20:06+00:00",
						"shipment_pk": null,
						"error_reason": null,
						"mark_in_progress_date": null,
						"extra_system_date_sent": null,
						"sending_canceled": "N",
						"shipping_pickup_canceled": "N",
						"on_hold": "N",
						"inventory_warehouse_pk": "1979",
						"items": [
						  {
							"line_no": "1",
							"item": "C100",
							"lot_number": null,
							"quantity": "2",
							"price": "0.0000",
							"discount": "0.0000",
							"addl_discount": "0.0000",
							"extended_amount": "0.00",
							"tax": "0.00",
							"shipping_surcharge": "0.00",
							"line_item_id": null,
							"line_comment": null,
							"Description": null,
							"alt_sku": null,
							"filtered_sku": "N",
							"line_location": ""
						  },
						  {
							"line_no": "2",
							"item": "C300",
							"lot_number": null,
							"quantity": "1",
							"price": "0.0000",
							"discount": "0.0000",
							"addl_discount": "0.0000",
							"extended_amount": "0.00",
							"tax": "0.00",
							"shipping_surcharge": "0.00",
							"line_item_id": null,
							"line_comment": null,
							"Description": null,
							"alt_sku": null,
							"filtered_sku": "N",
							"line_location": ""
						  }
						],
						"shipments": []
					  }
					}
				  },
				  "example-1": {
					"summary": "View Invalid Order",
					"value": {
					  "success_code": false,
					  "error_code": "Invalid",
					  "message": "Missing or invalid parameter: cust_ref - No such order found."
					}
				  }
				}
			  }
			}
		  }
		}
	  }
	},
	"/v1/cart/orders/status/{CUST_REF}": {
	  "get": {
		"tags": [
		  "Cart API"
		],
		"summary": "View Order Status",
		"description": "This will return the order status and tracking information for the specified CUST_REF.\n\nCUST_REF is guaranteed to be unique for all orders for a merchant.\n\n### Response Fields\n\n|    Field                    |    Data Type    |    Length    |    Description                                                             |\n|-----------------------------|-----------------|--------------|----------------------------------------------------------------------------|\n|    cust_ref                 |    String       |    16        |                                                                            |\n|    cust_po_no               |    String       |    45        |                                                                            |\n|    delivered_to_wms_date    |    Timestamp    |              |                                                                            |\n|    order_status             |    Enum         |              |    One of: new, at_wms, shipped, confirmed, error, canceled    |\n|    shipments                |    **Array**        |              |    Array of 0 or more shipments                              |\n\n#### Shipments Array Fields\n\n|    Field                      |    Data Type    |    Length              |    Description                                   |\n|-------------------------------|-----------------|------------------------|--------------------------------------------------|\n|    carrier                    |    String       |    45                  |    Carrier reported by WMS                       |\n|    method                     |    String       |    45                  |    Ship Method reported by WMS                   |\n|    tracking_no                |    String       |    45                  |    Primary tracking #                            |\n|    tracking_no_secondary      |    String       |    45                  |    Optional secondary tracking #                 |\n|    sscc_barcode               |    String       |    45                  |    Carton Barcode for EDI Orders                 |\n|    bill_of_lading             |    String       |    45                  |                                                  |\n|    total_cost                 |    Float        |    2 decimal places    |    Shipping cost with all fees                   |\n|    package_weight_lbs         |    Float        |    2 decimal places    |    Actual shipment weight                        |\n|    dim_weight_lbs             |    Float        |    2 decimal places    |    Optional dimensional weight                   |\n|    zone                       |    String       |    4                   |    Ship-to zone                                  |\n|    delivery_surcharge_type    |    String       |    45                  |    Defined by WMS                                |\n|    whs_location               |    String       |    45                  |    Identifies which warehouse shipped package    |\n|    box_length_in              |    Float        |    2 decimal places    |    Length in Inches                              |\n|    box_width_in               |    Float        |    2 decimal places    |    Width in Inches                               |\n|    box_height_in              |    Float        |    2 decimal places    |    Height in Inches                              |\n|    date                       |    Timestamp    |                        |    Shipping date                                 |\n|    tracking_url               |    String       |                        |    URL to track shipment                         |\n|    custom_1                   |    String       |    45                  |    Defined by WMS                                |\n|    items                      |    **Array**        |                        |    List of items in package if known             |\n\n#### Items Array Fields\n\n|    Field                      |    Data Type    |    Length              |    Description                                   |\n|-------------------------------|-----------------|------------------------|--------------------------------------------------|\n|    carrier                    |    String       |    45                  |   Product SKU - Must match SKU on original order      |\n|    quantity                    |    Int       |                      |     Quantity of item in package     |\n|    carton_code                    |    String       |    45                  |    Carton code/barcode (eg: SSCC-18)      |\n|    carton_num                    |    String       |    45                  |      Carton number (eg: 1, 2, 3, etc)        |\n|    box_length_in                    |    Float       |    2 decimal places          |    Length in Inches    |\n|    box_width_in                    |    Float       |    2 decimal places          |     Width in Inches       |\n|    box_height_in                    |    Float       |    2 decimal places          |     Height in Inches       |\n|    package_weight_lbs                    |    Float       |    2 decimal places          |     \tCarton weight in lbs        |",
		"parameters": [
		  {
			"name": "Content-Type",
			"in": "header",
			"schema": {
			  "type": "string"
			},
			"example": "application/json"
		  },
		  {
			"name": "CUST_REF",
			"in": "path",
			"schema": {
			  "type": "string"
			},
			"required": true
		  }
		],
		"responses": {
		  "200": {
			"description": "OK",
			"content": {
			  "application/json": {
				"schema": {
				  "type": "object"
				},
				"example": {
				  "success_code": true,
				  "response": {
					"cust_ref": "349347",
					"cust_po_no": "349347",
					"delivered_to_wms_date": "2016-08-26T19:16:53+00:00",
					"order_status": "shipped",
					"shipments": [
					  {
						"carrier": "USPS",
						"method": "09",
						"tracking_no": "9405510899046006477740",
						"tracking_no_secondary": null,
						"sscc_barcode": null,
						"bill_of_lading": null,
						"total_cost": "1.50",
						"package_weight_lbs": "0.50",
						"dim_weight_lbs": null,
						"zone": null,
						"delivery_surcharge_type": null,
						"whs_location": null,
						"box_length_in": null,
						"box_width_in": null,
						"box_height_in": null,
						"date": "2016-08-27T02:24:58+00:00",
						"custom_1": null,
						"items": [
						  {
							"item": "CIOPEN",
							"quantity": "1",
							"carton_code": null,
							"carton_num": "2",
							"box_length_in": null,
							"box_width_in": null,
							"box_height_in": null,
							"package_weight_lbs": null
						  }
						]
					  }
					]
				  }
				}
			  }
			}
		  }
		}
	  }
	},
	"/v1/cart/orders/list/at_wms": {
	  "get": {
		"tags": [
		  "Cart API"
		],
		"summary": "List Cart Orders By Status",
		"description": "Returns all orders matching the given status for this cart.\n\nPossible statuses: new, at_wms, shipped, confirmed, error, canceled, new_or_at_wms, shipped_or_confirmed, any\n***\n**Any filters should be passed with the URL as GET arguments.**\n\n### Filters\n|    Argument    |    Description    |\n|------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n|    from_date    |    Optional Timestamp    |\n|    to_date    |    Optional Timestamp    |\n|    order_source    |    Optional. To get a list call List Setup   Carts: /cart/list   Warning: some sources like CSV carts allow   for multiple order sources in the same cart. There is no way to lookup if   additional sources have been used by a CSV cart. It is not recommended to use   this filter.    |\n|    limit    |    Number of orders to return at once. Default 20, max 100    |\n|    page    |    Page of results to return. Default 1    |\n|    include_filtered_items    |    Y or N. Default N   If Y, items that should not be shipped will   be included in response. The filtered_sku field will be set to Y for   these items.    |\n|    include_order_extras    |    Y or N. Default N   If Y, order header meta data fields (from   original order source) will be returned.    |\n|    include_line_extras    |    Y or N. Default N   If Y, line item meta data fields (from   original order source) will be returned.    |\n|    include_aliases    |    Y or N. Default N   If Y, any known aliases will be returned   with the item record, including the WMS Master SKU.    |\n\n### Date Time Filters\n\nThe from_date and to_date fields perform a different search depending on the status you are searching. These are designed so you only have to search back though the time of your last successful API call in order to get all the new results. \n\n|    Status    |    Date   Filter Searches By:    |\n|----------------------------|-----------------------------------|\n|    new    |    Order Created Date    |\n|    at_wms    |    Order Delivered to WMS Date    |\n|    new_or_at_wms    |    Order Created Date    |\n|    partial    |    Shipment Loaded Date    |\n|    shipped    |    Shipment Loaded Date    |\n|    confirmed    |    Date Shipment Sent to Cart    |\n|    shipped_or_confirmed    |    Shipment Loaded Date    |\n|    error    |    Error Raised Date    |\n|    canceled    |    Canceled Date    |\n|    any    |    Order Created Date    |\n\n**Note:** If you have a lot of orders and your API response time is slow, use narrower date ranges. For example, only search the past hour for shipments instead of the past day. Also consider the [Order Update Webhook](#0c5837a3-56d2-4357-bca1-4166fd366c94)\n\n### Response Fields\n\nThe response will contain an array of orders with the format/fields of each order matching the [New Order](#665d1346-78f2-4a6d-a723-2723cdfff7ed) endpoint POST data.\n\nOrders may also contain shipment records (if the order is shipped). The `shipments` element of each order will match to the `shipments` element of the [View Order Status](#e90bdb31-6c37-47fc-8a91-56e6a840f61e) endpoint response.",
		"parameters": [
		  {
			"name": "Content-Type",
			"in": "header",
			"schema": {
			  "type": "string"
			},
			"example": "application/json"
		  }
		],
		"responses": {
		  "200": {
			"description": "OK",
			"content": {
			  "application/json": {
				"schema": {
				  "type": "object"
				},
				"example": {
				  "success_code": true,
				  "response": [
					{
					  "created_date_time": "2016-07-14T19:07:16+00:00",
					  "record_no": "156",
					  "version": null,
					  "format": null,
					  "cust_ref": "156",
					  "cust_ref_original": null,
					  "cust_po_no": "156",
					  "cust_po_no_original": null,
					  "ship_code": "legacy_free_shipping",
					  "ship_code_description": "Free Shipping",
					  "working_ship_code": null,
					  "cust_company": null,
					  "cust_title": null,
					  "cust_first_name": "Cart",
					  "cust_last_name": "Test",
					  "cust_address_1": "510 N. Milpas St",
					  "cust_address_2": "",
					  "cust_address_3": null,
					  "cust_city": "Santa Barbara",
					  "cust_state": "CA",
					  "cust_zip": "93103",
					  "cust_country": "USA",
					  "cust_phone": "18053992278",
					  "cust_e_mail": "help@cartrover.com",
					  "ship_company": "CartRover",
					  "ship_title": null,
					  "ship_first_name": "William",
					  "ship_last_name": "Wynn",
					  "ship_address_1": "510 N. Milpas St.",
					  "ship_address_2": "",
					  "ship_address_3": null,
					  "ship_city": "Santa Barbara",
					  "ship_state": "CA",
					  "ship_zip": "93103",
					  "ship_country": "USA",
					  "ship_phone": "18058982444",
					  "ship_e_mail": "help@cartrover.com",
					  "ship_address_type": null,
					  "special_services": null,
					  "customer_id": "4",
					  "order_date": "2016-07-14",
					  "sub_total": "0.00",
					  "order_discount": "0.00",
					  "sales_tax": "0.00",
					  "shipping_handling": "0.00",
					  "grand_total": "0.00",
					  "balance": "0.00",
					  "currency_code": "USD",
					  "credit_card_no": null,
					  "expiration_date": null,
					  "pay_type": "CA",
					  "tax_exempt_sw": null,
					  "installment_program": null,
					  "media_week": null,
					  "order_source": "WooCommerce",
					  "promo_code": null,
					  "ani_phone": null,
					  "vendor_phone": null,
					  "check_account_no": null,
					  "check_type": null,
					  "check_no": null,
					  "check_bank_id": null,
					  "check_cust_bank": null,
					  "check_cust_id_num": null,
					  "check_cust_id_state": null,
					  "check_cust_id_mm": null,
					  "check_cust_id_dd": null,
					  "check_cust_id_yy": null,
					  "check_cust_id_type": null,
					  "location": null,
					  "shipping_instructions": null,
					  "ship_account_no": null,
					  "ship_account_zip": null,
					  "pre_auth_code": null,
					  "pre_auth_amt": "0.00",
					  "pre_auth_id": null,
					  "cvv": null,
					  "custom_field_1": null,
					  "custom_field_2": null,
					  "custom_field_3": null,
					  "custom_field_4": null,
					  "custom_field_5": null,
					  "gift_card_sw": null,
					  "token_sw": null,
					  "cass_code_ship": null,
					  "cass_error_ship": null,
					  "cass_code_cust": null,
					  "cass_error_cust": null,
					  "cass_date": null,
					  "ncoa_code_ship": null,
					  "ncoa_code_cust": null,
					  "ncoa_date": null,
					  "error_code": null,
					  "error_msg": null,
					  "ifraud_error_code": null,
					  "xfraud_error_code": null,
					  "credit_error_code": null,
					  "resubmit_date": null,
					  "black_list": null,
					  "credit_score": null,
					  "fraud_score": null,
					  "load_override_sw": null,
					  "fail_action": null,
					  "action_dt": null,
					  "filename": null,
					  "call_queue": null,
					  "clerk_disposition": null,
					  "clerk_disp_dt": null,
					  "rep_disposition": null,
					  "rep_disp_dt": null,
					  "duplicate_sw": null,
					  "weight": null,
					  "org_file_no": null,
					  "gift_message": null,
					  "gift_wrap": null,
					  "carrier": null,
					  "delete_date": null,
					  "routing_sw": "N",
					  "sent_to_region": null,
					  "accepted_by_region": null,
					  "regional_center": null,
					  "regional_order_no": null,
					  "regional_ship_date": null,
					  "regional_retry_sw": "N",
					  "regional_error": null,
					  "regional_attempts": "0",
					  "first_attempt": null,
					  "cancel_date": null,
					  "cc_last_four": null,
					  "expected_delivery_date": null,
					  "requested_ship_date": null,
					  "delivered_to_wms_date": "2017-05-12T21:10:04+00:00",
					  "error_reason": null,
					  "mark_in_progress_date": "2016-07-14T19:07:17+00:00",
					  "extra_system_date_sent": null,
					  "sending_canceled": "N",
					  "shipping_pickup_canceled": "N",
					  "on_hold": "N",
					  "order_status": "shipped",
					  "total_qty": "1",
					  "num_to_ship": "-4",
					  "num_shipped": "5",
					  "items": [
						{
						  "line_no": "1",
						  "item": "CIOPEN",
						  "lot_number": null,
						  "quantity": "1",
						  "price": "8.0000",
						  "discount": "8.0000",
						  "addl_discount": "0.0000",
						  "extended_amount": "0.00",
						  "tax": "0.00",
						  "shipping_surcharge": "0.00",
						  "line_item_id": null,
						  "line_comment": null,
						  "Description": "CIO Pen - Test Product",
						  "filtered_sku": "N",
						  "line_location": ""
						}
					  ],
					  "shipments": [
						{
						  "carrier": "FEDEX",
						  "method": "50",
						  "tracking_no": "Test456",
						  "tracking_no_secondary": null,
						  "sscc_barcode": null,
						  "bill_of_lading": null,
						  "total_cost": null,
						  "package_weight_lbs": null,
						  "dim_weight_lbs": null,
						  "zone": null,
						  "delivery_surcharge_type": null,
						  "whs_location": null,
						  "box_length_in": null,
						  "box_width_in": null,
						  "box_height_in": null,
						  "date": "2016-08-27T06:05:05+00:00",
						  "custom_1": null,
						  "items": [
							{
							  "item": "CIOPEN",
							  "quantity": "1",
							  "carton_code": "XXX1234YYY",
							  "carton_num": "1",
							  "box_length_in": null,
							  "box_width_in": null,
							  "box_height_in": null,
							  "package_weight_lbs": "2.00"
							}
						  ]
						}
					  ]
					}
				  ]
				}
			  }
			}
		  }
		}
	  }
	},
	"/v1/cart/orders/cartrover": {
	  "post": {
		"tags": [
		  "Cart API"
		],
		"summary": "New Order",
		"description": "This endpoint expects a json object containing a single order with the fields listed below. The bolded headers are for reference and are not sub-objects. All fields are on the top level except for item information\n\n## Note\nYour warehouse may not pick up or use all of these fields. Any fields they do not use will be ignored.\n\n## Order Fields\n\n| Field | Data Type | Length | Required? | Description |\n|---------|-------------|---------|---------|---------|\n| cust_ref | String | 16 | Y | Unique Order Number. Always check the cust_ref field field in the response! There are multiple reasons CartRover may accept the order, but change the cust_ref value. The most common reasons are: 1) The cust_ref sent was over 16 chars in length and had to be shortened. 2) The cust_ref was already used by a different order source for this merchant and has been modified to ensure uniqueness. |\n| cust_po_no | String | 45 |  | Optional additional unique order number. Order will reject if value is not unique. This can generally be set to the same value as `cust_ref`, but supports longer order numbers. |\n| # Shipping Address # | | | | Not a field |\n| ship_company | String |  |  | Required if ship_first_name or ship_last_name not set |\n| ship_title | String |  |  |  |\n| ship_first_name | String |  |  | Required if ship_company or ship_last_name not set |\n| ship_last_name | String |  |  | Required if ship_company or ship_first_name not set |\n| ship_address_1 | String |  | Y |  |\n| ship_address_2 | String |  |  |  |\n| ship_address_3 | String |  |  |  |\n| ship_city | String |  | Y |  |\n| ship_state | String |  | Y |  |\n| ship_zip | String |  | Y |  |\n| ship_country | String |  | Y | ISO 2 or 3 character code preferred. If full name is passed, best effort will be made to convert it to an ISO code. |\n| ship_phone | String |  |  |  |\n| ship_e_mail | String |  |  |  |\n| ship_address_type | ENUM |  |  | R - Residential, C - Commercial |\n| ship_is_billing | Boolean |  |  | If true, billing address will be set to the same as the shipping address. Any values passed for billing address will be ignored. |\n| # Billing Address # | | | | Not a field |\n| cust_company |  |  |  | Required if cust_first_name or cust_last_name not set |\n| cust_title |  |  |  |  |\n| cust_first_name |  |  |  | Required if cust_company or cust_last_name not set |\n| cust_last_name |  |  |  | Required if cust_company or cust_first_name not set |\n| cust_address_1 |  |  |  |  |\n| cust_address_2 |  |  |  |  |\n| cust_address_3 |  |  |  |  |\n| cust_city |  |  |  |  |\n| cust_state |  |  |  |  |\n| cust_zip |  |  |  |  |\n| cust_country |  |  |  |  |\n| cust_phone |  |  |  |  |\n| cust_e_mail |  |  |  |  |\n| special_services |  |  |  |  |\n| customer_id |  |  |  |  |\n| order_date | String |  |  | Format: YYYY-MM-DD Defaults to current date if not provided. |\n| shipping_instructions |  |  |  |  |\n| ship_account_no |  |  |  |  |\n| ship_code |  |  |  | Shipping Method to be used by the warehouse |\n| ship_code_description |  |  |  |  |\n| weight |  |  |  |  |\n| gift_message |  |  |  |  |\n| gift_wrap | ENUM | Y/N |  |  |\n| carrier |  |  |  |  |\n| routing_sw | ENUM | Y/N |  | Request warehouses system to perform additional routing if supported |\n| # Price Information # | | | | Not a field |\n| sub_total |  |  |  |  |\n| order_discount |  |  |  |  |\n| shipping_handling |  |  |  | The total shipping charge for the order. This has no relation to the order line shipping_surcharge field. |\n| tax_exempt_sw |  |  |  |  |\n| sales_tax |  |  |  | If tax is set on the order line then this should match the sum of all order line taxes. |\n| grand_total |  |  |  |  |\n| balance |  |  |  |  |\n| currency_code | String | 3 |  | ISO 4217 Currency Code - Most systems will assume a default of the local currency |\n|  |  |  |  |  |\n| promo_code |  |  |  |  |\n| custom_field_1 |  |  |  |  |\n| custom_field_2 |  |  |  |  |\n| custom_field_3 |  |  |  |  |\n| custom_field_4 |  |  |  |  |\n| custom_field_5 |  |  |  |  |\n| # Payment Information # | | | | Not a field |\n| token_sw | ENUM | Y/N |  | Y - means credit_card_no is provided and is already tokenized. If passing Credit Card data, this must by Y. CartRover does not allow untokenized credit cards. |\n| pay_type |  |  |  |  |\n| credit_card_no |  |  |  | NOTE: CartRover is not PCI Compliant. You may not pass us un-tokenized credit card numbers. |\n| cc_last_four |  |  |  |  |\n| expiration_date |  |  |  |  |\n| cvv |  |  |  |  |\n| pre_auth_code |  |  |  |  |\n| pre_auth_amt |  |  |  |  |\n| pre_auth_id |  |  |  |  |\n| gift_card_sw |  |  |  |  |\n| check_account_no |  |  |  |  |\n| check_type |  |  |  |  |\n| check_no |  |  |  |  |\n| check_bank_id |  |  |  |  |\n| check_cust_bank |  |  |  |  |\n| check_cust_id_num |  |  |  |  |\n| check_cust_id_state |  |  |  |  |\n| check_cust_id_mm |  |  |  |  |\n| check_cust_id_dd |  |  |  |  |\n| check_cust_id_yy |  |  |  |  |\n| check_cust_id_type |  |  |  |  |\n| installment_program |  |  |  |  |\n| prepaid_order |  |  |  |  |\n| black_list |  |  |  |  |\n| credit_score |  |  |  |  |\n| fraud_score |  |  |  |  |\n| ifraud_error_code |  |  |  |  |\n| xfraud_error_code |  |  |  |  |\n| credit_error_code |  |  |  |  |\n|  |  |  |  |  |\n| cass_code_ship |  |  |  |  |\n| cass_error_ship |  |  |  |  |\n| cass_code_cust |  |  |  |  |\n| cass_error_cust |  |  |  |  |\n| cass_date |  |  |  |  |\n| ncoa_code_ship |  |  |  |  |\n| ncoa_code_cust |  |  |  |  |\n| ncoa_date |  |  |  |  |\n| resubmit_date |  |  |  |  |\n|  |  |  |  |  |\n| media_week |  |  |  |  |\n| order_source |  |  |  | Warning: This will override any Order Source value defined in CartRover |\n| ani_phone |  |  |  |  |\n| vendor_phone |  |  |  |  |\n| location |  |  |  |  |\n| load_override_sw |  |  |  |  |\n| fail_action |  |  |  |  |\n| action_dt |  |  |  |  |\n| filename |  |  |  |  |\n| call_queue |  |  |  |  |\n| clerk_disposition |  |  |  |  |\n| clerk_disp_dt |  |  |  |  |\n| rep_disposition |  |  |  |  |\n| rep_disp_dt |  |  |  |  |\n| duplicate_sw | ENUM | Y/N |  |  |\n| org_file_no |  |  |  |  |\n| # Optional Routing Information # | | | | Not a field |\n| regional_center |  |  |  |  |\n| regional_order_no |  |  |  |  |\n| regional_ship_date |  |  |  |  |\n| first_attempt |  |  |  |  |\n| expected_delivery_date | String |  |  | Format: YYYY-MM-DD  (Can also be submitted as Timestamp) |\n| requested_ship_date | String |  |  | Format: YYYY-MM-DD  (Can also be submitted as Timestamp) |\n| extra_fields | Array | 30 |  | Key-Value list of Order extra field names and values to post. Max 30. Eg: `{\"extra_fields\": {\"some_custom_name\":\"Some Custom Value\", \"another_custom_name\":\"Some Other Custom Value\"}}` |\n|  |  |  |  |  |\n| items | Array |  | Y | The Items element should contain an array of Items following the format in the Item Fields table below. |\n\n ## Item Fields\n An array of items should be listed in the order's items field. Below are the fields allowed for each item.\n\n| Field | Data Type | Length | Required? | Description |\n|---------|-------------|---------|---------|---------|\n| line_no | Int |  |  | Optional Line Number |\n| item | String | 45 | Y | Product SKU - Must match product in warehouse |\n| Description | String | 250 |  | Note the capital \"D\". It's there due to legacy stuff. |\n| price | Float |  |  | Up to 4 decimals places |\n| quantity | Int |  | Y |  |\n| discount | Float |  |  | The discount amount for a single unit or item. Up to 4 decimals places |\n| addl_discount | Float |  |  |An additional post-tax discount applied to the line item total. Up to 4 decimals places |\n| extended_amount | Float |  |  | 2 decimals places |\n| tax | Float |  |  | 2 decimals places |\n| shipping_surcharge | Float |  |  | 2 decimals places |\n| line_comment | String | 250 |  |  |\n| lot_number | String | 45 |  |  |\n| line_item_id | String | 14 |  | Optional additional line ID from cart |\n| extra_fields | Array | 10 |  | Key-Value list of Line Item extra field names and values to post. Max 10. Eg: `{\"extra_fields\": {\"some_custom_name\":\"Some Custom Value\", \"another_custom_name\":\"Some Other Custom Value\"}}` |",
		"requestBody": {
		  "content": {
			"*/*": {
			  "schema": {
				"type": "string",
				"example": "\"{\\n    \\\"cust_ref\\\" : \\\"TEST02\\\",\\n    \\\"ship_company\\\" : \\\"Will Town\\\",\\n    \\\"ship_address_1\\\" : \\\"351 Hitchcock Way\\\",\\n    \\\"ship_address_2\\\" : \\\"Suite B140\\\",\\n    \\\"ship_city\\\" : \\\"Santa Barbara\\\",\\n    \\\"ship_state\\\" : \\\"CA\\\",\\n    \\\"ship_zip\\\" : \\\"93105\\\",\\n    \\\"ship_country\\\" : \\\"USA\\\",\\n    \\\"ship_is_billing\\\" : true,\\n    \\\"items\\\" : \\n    [\\n        {\\n            \\\"item\\\" : \\\"C100\\\",\\n            \\\"quantity\\\" : 2\\n        },\\n        {\\n            \\\"item\\\" : \\\"C300\\\",\\n            \\\"quantity\\\" : 1\\n        }\\n    ]\\n}\""
			  }
			}
		  }
		},
		"security": [
		  {
			"basicAuth": []
		  }
		],
		"parameters": [
		  {
			"name": "Content-Type",
			"in": "header",
			"schema": {
			  "type": "string"
			},
			"example": "application/json"
		  }
		],
		"responses": {
		  "200": {
			"description": "OK",
			"headers": {
			  "Date": {
				"schema": {
				  "type": "string",
				  "example": "Fri, 14 Jun 2019 20:21:38 GMT"
				}
			  },
			  "Server": {
				"schema": {
				  "type": "string",
				  "example": "Apache/2.2.34 (Amazon)"
				}
			  },
			  "X-Powered-By": {
				"schema": {
				  "type": "string",
				  "example": "PHP/7.1.30"
				}
			  },
			  "Expires": {
				"schema": {
				  "type": "string",
				  "example": "Thu, 19 Nov 1981 08:52:00 GMT"
				}
			  },
			  "Cache-Control": {
				"schema": {
				  "type": "string",
				  "example": "no-store, no-cache, must-revalidate"
				}
			  },
			  "Pragma": {
				"schema": {
				  "type": "string",
				  "example": "no-cache"
				}
			  },
			  "Access-Control-Allow-Origin": {
				"schema": {
				  "type": "string",
				  "example": "*"
				}
			  },
			  "Access-Control-Allow-Headers": {
				"schema": {
				  "type": "string",
				  "example": "Origin, X-Requested-With, Content-Type, Accept"
				}
			  },
			  "Content-Length": {
				"schema": {
				  "type": "integer",
				  "example": "128"
				}
			  },
			  "Connection": {
				"schema": {
				  "type": "string",
				  "example": "close"
				}
			  },
			  "Content-Type": {
				"schema": {
				  "type": "string",
				  "example": "application/json; charset=utf-8"
				}
			  }
			},
			"content": {
			  "application/json": {
				"schema": {
				  "type": "object"
				},
				"examples": {
				  "example-0": {
					"summary": "Failure Response",
					"value": {
					  "success_code": false,
					  "cust_ref": "TEST02",
					  "order_number": "TEST02",
					  "error_code": "Failure",
					  "message": "Duplicate cust_ref: TEST02"
					}
				  },
				  "example-1": {
					"summary": "Successful Response",
					"value": {
					  "success_code": true,
					  "cust_ref": "TEST21",
					  "order_number": "TEST21"
					}
				  }
				}
			  }
			}
		  }
		}
	  }
	},
	"/v1/cart/orders/batch": {
	  "post": {
		"tags": [
		  "Cart API"
		],
		"summary": "New Orders - Batch",
		"description": "This endpoint expects a json array containing a batch of orders. Each order should have the same fields as those listed in the [New Order](#665d1346-78f2-4a6d-a723-2723cdfff7ed) endpoint. Please see that endpoint for individual order field names.\n\n## Notes\nMax order batch size: 100\n\nYour warehouse may not pick up or use all of these fields. Any fields they do not use will be ignored.\n\n### Array Response Fields\nThe `response` element of the API response will contain two sub-elements, `success` and `failed`. Each of these elements will contain an array of results. Below is the list of all possible fields that may be set for each. See sample response for full details.\n\n|    Field    |    Data Type    |    Length    |    Description    |\n|---------------|-----------------|--------------|---------------------------------------------------|\n|    cust_ref    |    String    |  |    cust_ref of provided order, if available    |\n|    cust_po_no    |    String    |  |    cust_po_no of provided order, if available    |\n|    index_pos    |    Int    |  |   In `failed` array only: 0-index Position of order in input array. Used if input order does not contain a valid order number.   |\n|    message    |    String    |  |    In `failed` array only: Error message when loading order    |",
		"requestBody": {
		  "content": {
			"*/*": {
			  "schema": {
				"type": "string",
				"example": "\"[\\n    {\\n        \\\"cust_ref\\\" : \\\"TEST02\\\",\\n        \\\"ship_company\\\" : \\\"Will Town\\\",\\n        \\\"ship_address_1\\\" : \\\"351 Hitchcock Way\\\",\\n        \\\"ship_address_2\\\" : \\\"Suite B140\\\",\\n        \\\"ship_city\\\" : \\\"Santa Barbara\\\",\\n        \\\"ship_state\\\" : \\\"CA\\\",\\n        \\\"ship_zip\\\" : \\\"93105\\\",\\n        \\\"ship_country\\\" : \\\"USA\\\",\\n        \\\"ship_is_billing\\\" : true,\\n        \\\"items\\\" : \\n        [\\n            {\\n                \\\"item\\\" : \\\"C100\\\",\\n                \\\"quantity\\\" : 2\\n            },\\n            {\\n                \\\"item\\\" : \\\"C300\\\",\\n                \\\"quantity\\\" : 1\\n            }\\n        ]\\n    },\\n    {\\n        \\\"cust_ref\\\" : \\\"TEST03\\\",\\n        \\\"ship_company\\\" : \\\"Will Town\\\",\\n        \\\"ship_address_1\\\" : \\\"351 Hitchcock Way\\\",\\n        \\\"ship_address_2\\\" : \\\"Suite B140\\\",\\n        \\\"ship_city\\\" : \\\"Santa Barbara\\\",\\n        \\\"ship_state\\\" : \\\"CA\\\",\\n        \\\"ship_zip\\\" : \\\"93105\\\",\\n        \\\"ship_country\\\" : \\\"USA\\\",\\n        \\\"ship_is_billing\\\" : true,\\n        \\\"items\\\" : \\n        [\\n            {\\n                \\\"item\\\" : \\\"C100\\\",\\n                \\\"quantity\\\" : 2\\n            },\\n            {\\n                \\\"item\\\" : \\\"C300\\\",\\n                \\\"quantity\\\" : 1\\n            }\\n        ]\\n    }\\n]\""
			  }
			}
		  }
		},
		"security": [
		  {
			"basicAuth": []
		  }
		],
		"parameters": [
		  {
			"name": "Content-Type",
			"in": "header",
			"schema": {
			  "type": "string"
			},
			"example": "application/json"
		  }
		],
		"responses": {
		  "200": {
			"description": "OK",
			"content": {
			  "application/json": {
				"schema": {
				  "type": "object"
				},
				"examples": {
				  "example-0": {
					"summary": "Mixed Response",
					"value": {
					  "success_code": true,
					  "response": {
						"success": [
						  {
							"cust_ref": "TEST02",
							"cust_po_no": "TEST02"
						  }
						],
						"failed": [
						  {
							"cust_ref": "TEST03",
							"cust_po_no": null,
							"message": "OrderDuplicate"
						  },
						  {
							"cust_ref": null,
							"cust_po_no": null,
							"index_pos": 2,
							"message": "Order missing required field(s): cust_ref"
						  }
						]
					  }
					}
				  },
				  "example-1": {
					"summary": "Failure Response",
					"value": {
					  "success_code": false,
					  "error_code": "Invalid",
					  "message": "Invalid API Format"
					}
				  }
				}
			  }
			}
		  }
		}
	  }
	},
	"/v1/cart/orders/wms_cancel/{CUST_REF}": {
	  "get": {
		"tags": [
		  "Cart API"
		],
		"summary": "Cancel Order In WMS",
		"description": "This will attempt to cancel the specified order in both CartRover and the WMS. The response will specify whether or not the order was able to be canceled.\n\n**Note**: This call may take longer than others because CartRover will reach out to the WMS in real time and wait for a response.\n\n### Array Response Fields\n|    Field    |    Data Type    |    Length    |    Description    |\n|---------------|-----------------|--------------|---------------------------------------------------|\n|    success    |    Boolean    |  |    Was cancellation successful?    |\n|    message    |    String    |  |    Reason why cancellation was not successful.    |",
		"parameters": [
		  {
			"name": "Content-Type",
			"in": "header",
			"schema": {
			  "type": "string"
			},
			"example": "application/json"
		  },
		  {
			"name": "CUST_REF",
			"in": "path",
			"schema": {
			  "type": "string"
			},
			"required": true
		  }
		],
		"responses": {
		  "200": {
			"description": "OK",
			"content": {
			  "application/json": {
				"schema": {
				  "type": "object"
				},
				"example": {
				  "success_code": true,
				  "response": {
					"success": true,
					"message": ""
				  }
				}
			  }
			}
		  }
		}
	  }
	},
	"/v1/cart/orders/update/{CUST_REF}": {
	  "post": {
		"tags": [
		  "Cart API"
		],
		"summary": "Update Order Status - Confirmed",
		"description": "Updates the status of the order/shipments with the specified cust_ref.\n\n### Status Fields\n|    Field    |    Data Type    |    Length    |    Required?    |    Description    |\n|--------------------|-----------------|-----------------|---------------------------------------|--------------------------------------------------------------|\n|    order\\_status    |    ENUM    |  |    Y    |    confirmed    |\n|    shipments    |    Array    |  |    Y    |    List of tracking records for order to mark confirmed    |\n\n### Shipment Fields\n|    Field    |    Data Type    |    Length    |    Required?    |    Description    |\n|--------------------|-----------------|-----------------|---------------------------------------|--------------------------------------------------------------|\n|    tracking_no    |    String    |  |    Y    |    Tracking Number to Confirm    |",
		"requestBody": {
		  "content": {
			"*/*": {
			  "schema": {
				"type": "string",
				"example": "\"{\\n    \\\"order_status\\\":\\\"confirmed\\\",\\n    \\\"shipments\\\": [\\n       {\\\"tracking_no\\\":\\\"ABC123456\\\"},\\n       {\\\"tracking_no\\\":\\\"XYZ789012\\\"}\\n    ]\\n}\""
			  }
			}
		  }
		},
		"parameters": [
		  {
			"name": "Content-Type",
			"in": "header",
			"schema": {
			  "type": "string"
			},
			"example": "application/json"
		  },
		  {
			"name": "CUST_REF",
			"in": "path",
			"schema": {
			  "type": "string"
			},
			"required": true
		  }
		],
		"responses": {
		  "200": {
			"description": "OK",
			"content": {
			  "text/plain": {
				"schema": {
				  "type": "string"
				},
				"example": "{\n    \"success_code\": true\n}"
			  }
			}
		  }
		}
	  }
	},
	"/v1/merchant/inventory": {
	  "get": {
		"tags": [
		  "Merchant API"
		],
		"summary": "List Inventory",
		"description": "Returns inventory levels for all products from the warehouse.\n<br/><br/>\n**Note:** Any filters should be passed with the URL as GET arguments. \n### Filters\n|    Argument    |    Description    |\n|----------------|-----------------------------------------------------------------|\n|    from_date    |    Optional Timestamp. Filters by the warehouse loaded_datetime, returning inventory updates loaded in CartRover after the timestamp.    |\n|    to_date    | Optional Timestamp. Filters by the warehouse loaded_datetime, returning inventory updates loaded in CartRover before the timestamp. The from_date parameter must be included.   |\n|    limit    |    Number of products to return at once. Default 20, max 100    |\n|    page    |    Page of results to return. Default 1    |\n|    include_aliases    |    N, Y, or ALL. Default N   If Y, aliases will be returned as key-value pairs. If ALL, a numeric list will be returned, each containing: code_type, code    |\n\n### Array Response Fields\n|    Field    |    Data Type    |    Length    |    Description    |\n|---------------------|-----------------|--------------|---------------------------------------------------------------------------|\n|    sku    |    String    |    45    |         |\n|    qty_available    |    Int    |         |    Total quantity available. Can be negative if item is   backordered.    |\n|    qty_on_hand    |    Int    |         |    Total quantity on hand. Available plus committed or on   hold.    |\n|    wms_datetime    |    Timestamp    |         |    Time warehouse last verified qty    |\n|    aliases    |    Array    |         |    List of aliases for this product. Only if include_aliases param is passed.    |\n|    warehouses    |    Array    |  |    Breakdown of inventory by warehouse    |\n\n### Warehouse Fields\n|    Field    |    Data Type    |    Length    |    Description    |\n|---------------------|-----------------|--------------|--------------------------------------------|\n|    warehouse    |    String    |    100    |    Warehouse name as setup in CartRover    |\n|    qty_available    |    Int    |  |    Quantity for just this warehouse    |\n|    qty_on_hand    |    Int    |  |    Quantity for just this warehouse    |\n|    loaded_datetime    |    Timestamp    |  |    Time CartRover received this quantity from the WMS    |\n|    wms_datetime    |    Timestamp    |  |    Time warehouse last verified qty    |\n\n### Response Headers\n|    Field    |    Description    |\n|---------------------|---------------------------------------------------------------------------------------------------|\n|    Total-Records    |    Contains the total number of records that would have been   returned if there was no limit.    |",
		"responses": {
		  "200": {
			"description": "OK",
			"content": {
			  "application/json": {
				"schema": {
				  "type": "object"
				},
				"example": {
				  "success_code": true,
				  "response": [
					{
					  "sku": "CIO-1001",
					  "qty_available": 10,
					  "qty_on_hand": 15,
					  "wms_datetime": "2016-08-27T02:24:58+00:00",
					  "aliases": {
						"ALT_CODE": "Some Alt Code",
						"UPC": "SomeUPCCode"
					  },
					  "warehouses": {
						"2352": {
						  "warehouse": "EAST",
						  "qty_available": 10,
						  "qty_on_hand": 15,
						  "wms_datetime": "2016-08-27T02:24:58+00:00"
						}
					  }
					},
					{
					  "sku": "CIO-1002",
					  "qty_available": 20,
					  "qty_on_hand": 20,
					  "wms_datetime": "2016-08-27T02:24:58+00:00",
					  "aliases": [],
					  "warehouses": {
						"2352": {
						  "warehouse": "EAST",
						  "qty_available": 20,
						  "qty_on_hand": 20,
						  "wms_datetime": "2016-08-27T02:24:58+00:00"
						}
					  }
					},
					{
					  "sku": "CIO-1003",
					  "qty_available": 30,
					  "qty_on_hand": 30,
					  "wms_datetime": "2016-08-27T02:24:58+00:00",
					  "aliases": [],
					  "warehouses": {
						"2352": {
						  "warehouse": "EAST",
						  "qty_available": 10,
						  "qty_on_hand": 10,
						  "wms_datetime": "2014-01-14T01:48:07+00:00"
						},
						"2489": {
						  "warehouse": "WEST",
						  "qty_available": 20,
						  "qty_on_hand": 20,
						  "wms_datetime": "2014-01-14T01:48:07+00:00"
						}
					  }
					}
				  ]
				}
			  }
			}
		  }
		}
	  }
	},
	"/v1/merchant/product/{SKU}": {
	  "get": {
		"tags": [
		  "Merchant API"
		],
		"summary": "Get Product Info",
		"description": "Returns the product and alias details for the specified product from the warehouse.\n\n\n**Note:** The SKU you use to lookup the product can be either a Master SKU in CartRover, or an alias code. Either match will return the product result.\n\n### Response Fields\n|    Field    |    Data Type    |    Length    |    Description    |\n|-----------------------------|-----------------|--------------|------------------------------------------------------------|\n|    sku    |    String    |    45    |    Always provided    |\n|    name    |    String    |    150    |    Name if known    |\n|    description    |    Long Text    |  |    Description if known    |\n|    retail_price    |    Float    |  |  |\n|    wholesale_price    |    Float    |  |  |\n|    weight_lbs    |    Float    |  |  |\n|    wms_product_main_id    |    String    |  |    Optional additional identifier provided by warehouse    |\n|    last_updated_datetime    |    Timestamp    |  |    Time product data last changed    |\n|    aliases    |    Array    |  |    List of aliases for this product    |\n\n### Alias Fields\n|    Field    |    Data Type    |    Length    |    Description    |\n|-----------------|-----------------|--------------|-------------------------------|\n|    code_type    |    String    |    45    |    Code type name. Eg: UPC    |\n|    code    |    String    |    45    |    Alias code value    |",
		"parameters": [
		  {
			"name": "SKU",
			"in": "path",
			"schema": {
			  "type": "string"
			},
			"required": true
		  }
		],
		"responses": {
		  "200": {
			"description": "OK",
			"content": {
			  "application/json": {
				"schema": {
				  "type": "object"
				},
				"example": {
				  "success_code": true,
				  "response": {
					"sku": "{{SKU}}",
					"name": null,
					"description": "It's a wonderful product",
					"retail_price": 10.12,
					"wholesale_price": null,
					"weight_lbs": null,
					"wms_product_main_id": null,
					"last_updated_datetime": "2018-01-02 16:26:25",
					"aliases": [
					  {
						"code_type": "merchantSKU",
						"code": "CIO-1001-SKU"
					  },
					  {
						"code_type": "UPC",
						"code": "2468NotARealUPCMate"
					  }
					]
				  }
				}
			  }
			}
		  }
		}
	  },
	  "post": {
		"tags": [
		  "Merchant API"
		],
		"summary": "Upload Product Data",
		"description": "Update product and alias details for the specified product SKU.\n<br/><br/>\n**Note:** The SKU you use to lookup the product can be either a Master SKU in CartRover, or an alias code. Either match will update and return the product result. If no match is found, an error is returned.\n\n**Note:** This endpoint can not currently create a new product. Only update existing ones. To create a new product, call [Update Inventory](#24668ac3-ce0b-4606-96bb-0ba2ff065987) which will create a new product if the SKU passed is new.\n\n# Request\n\n### Array Request Fields\n|    Field Name    |    Data Type    |    Length    |    Required?    |    Description    |\n|--------------------|-----------------|--------------|-----------------|----------------------------------------------------------------------|\n|    name    |    String    |    150    |    N    |    Product Name    |\n|    description    |    Long Text    |  |    N    |    Product Description    |\n|    retail_price    |    Float    |  |  |    Retail Price    |\n|    wholesale_price    |    String    |  |  |    Wholesale Price    |\n|    weight_lbs    |    Float    |  |  |    Product Weight (In LBS)    |\n|    wms_product_main_id    |    String    |    45    |    N    |    ID of Product in WMS System    |\n|    warehouse_product_type    |    String    |    45    |    N    |    Product Type in WMS System    |\n|    parent_sku    |    String    |    45    |    N    |    If this item is a variant, provide the parent SKU it belongs under    |\n|    aliases    |    Array    |  |    N    |    Array containing list of Aliases to Add/Update    |\n|    extra_fields    |    Array    |  |  N  |    Array containing additional custom fields to save with this product    |\n\n### Aliases Array Fields\n* Array Key: Alias Type Name. Eg. UPC, EAN, CUSTOM_ALIAS_TYPE\n* Array Value: Alias Value. Must be Unique across all products.\n    * Pass `NULL` to remove specified Alias Type from the product's Alias list.\n    * You may also pass an array of values to load multiple values for the same key.\n    * Any previous values for the given key will be removed\n\n### Extra Fields Array Fields\n* Array Key: Extra Field Name: Eg. supplier_code, tags\n* Array Value: Extra Field Value.\n\n**List of standard Extra Fields:**\n\nIf using these Extra Field Names, CartRover can sync full product details with any Order Source that supports Product Detail Sync.\n\n* brand\n* buy_price\n* categories - json encoded array\n* image_url\n    * For multiple images you can also use image_url_X, where X starts at 1.\n* image_name\n    * Optional field if image_url doesn't include a useful name. Note, each cart will decide whether or not it needs to use the separate name.\n    * For multiple images you can also use image_name_X, where X starts at 1.\n* product_type\n* supplier_code\n* tags - json encoded array\n* parent_name\n    * Parent product name from WMS\n* parent_id\n    * Parent product id from WMS\n* attribute_names - json encoded array of the attributes that make up this product. eg: [ \"color\", \"size\", \"fabric\" ]\n    * Each attribute name/value should also be saved as a product extra field. Example below:\n    * ` { \"extra_fields\": {\"attribute_names\": [ \"color\", \"size\", \"fabric\" ], \"color\": \"red\", \"size\": \"large\", \"fabric\": \"silk\"} }`\n* country_of_manufacture\n* sort_order - Use to provide preferred sort order of variants. Lowest sort comes first.\n* min_order_qty\n* ship_within_days - How many days will the warehouse guarantee to ship this item within? Int\n* returns_allowed - true, false\n* warranty - Provide Warranty text\n* ca_prop_65 - Provide CA Prop 65 text\n* status\n    * Allowed values: active, disabled\n\n**Marketplace Specific Fields**\n\n**Ebay**\n\n* ebay_category_id\n    * See List: http://developer.ebay.com/Devzone/XML/docs/Reference/eBay/GetCategories.html \n* ebay_condition_id\n    * See List: https://developer.ebay.com/devzone/finding/callref/Enums/conditionIdList.html\n* ebay_return_cost_paid_by - Buyer, Seller\n* ebay_format - Eg. FixedPrice\n* ebay_duration - Always: GTC\n* ebay_location - Provide Address\n* ebay_postal_code\n* ebay_refund_option - MoneyBack, MoneyBackOrReplacement\n* ebay_returns_within_days\n    * Provde an int or a string in the format: DAYS_X\n* ebay_use_tax_table - true, false\n* ebay_shipping_profile - Name: String\n* ebay_return_profile - Name: String\n* ebay_payment_profile - Name: String\n\n**Joor**\n\n* joor_category_id\n    * JSON array of IDs. Eg: [123,987]\n    * If not passed, the above categories list will be used instead and matched using the closest name in Joor.\n\n### Response Fields - Same as Get Product Data\n|    Field    |    Data Type    |    Length    |    Description    |\n|-----------------------------|-----------------|--------------|------------------------------------------------------------|\n|    sku    |    String    |    45    |    Always provided    |\n|    name    |    String    |    150    |    Name if known    |\n|    description    |    Long Text    |  |    Description if known    |\n|    retail_price    |    Float    |  |  |\n|    wholesale_price    |    Float    |  |  |\n|    weight_lbs    |    Float    |  |  |\n|    wms_product_main_id    |    String    |  |    Optional additional identifier provided by warehouse    |\n|    last_updated_datetime    |    Timestamp    |  |    Time product data last changed    |\n|    aliases    |    Array    |  |    List of aliases for this product    |\n\n### Alias Fields\n|    Field    |    Data Type    |    Length    |    Description    |\n|-----------------|-----------------|--------------|-------------------------------|\n|    code_type    |    String    |    45    |    Code type name. Eg: UPC    |\n|    code    |    String    |    45    |    Alias code value    |",
		"requestBody": {
		  "content": {
			"*/*": {
			  "schema": {
				"type": "string",
				"example": "\"{\\n    \\\"name\\\": \\\"Test Product\\\",\\n    \\\"description\\\": \\\"It's a wonderful product\\\",\\n    \\\"retail_price\\\": 11,\\n    \\\"wholesale_price\\\": null,\\n    \\\"weight_lbs\\\": null,\\n    \\\"wms_product_main_id\\\": null,\\n    \\\"aliases\\\": {\\n        \\\"UPC\\\": \\\"123456789012\\\",\\n        \\\"ASIN\\\": [\\n            \\\"DEFG98742SP\\\",\\n            \\\"DEFG98742SS\\\"\\n        ]\\n    },\\n    \\\"extra_fields\\\": {\\n        \\\"field_1\\\": \\\"Whatever\\\",\\n        \\\"field_2\\\": null,\\n        \\\"slogan\\\": \\\"Baby, you've got a stew going\\\"\\n    }\\n}\""
			  }
			}
		  }
		},
		"parameters": [
		  {
			"name": "Content-Type",
			"in": "header",
			"schema": {
			  "type": "string"
			},
			"example": "application/json"
		  },
		  {
			"name": "SKU",
			"in": "path",
			"schema": {
			  "type": "string"
			},
			"required": true
		  }
		],
		"responses": {
		  "200": {
			"description": "OK",
			"content": {
			  "application/json": {
				"schema": {
				  "type": "object"
				},
				"example": {
				  "success_code": true,
				  "response": {
					"sku": "{{SKU}}",
					"name": "Test Product",
					"description": "It's a wonderful product",
					"retail_price": 11,
					"wholesale_price": null,
					"weight_lbs": null,
					"wms_product_main_id": null,
					"last_updated_datetime": "2018-01-02 16:26:25",
					"warehouse_product_type": null,
					"parent_product_pk": null,
					"aliases": [
					  {
						"code_type": "UPC",
						"code": "123456789012"
					  },
					  {
						"code_type": "ASIN",
						"code": "DEFG98742SP"
					  },
					  {
						"code_type": "ASIN",
						"code": "DEFG98742SS"
					  }
					],
					"extra_fields": {
					  "field_1": "Whatever",
					  "slogan": "Baby, you've got a stew going",
					  "upload_datetime": null
					}
				  }
				}
			  }
			}
		  }
		}
	  }
	},
	"/v1/merchant/inventory/{SKU}": {
	  "get": {
		"tags": [
		  "Merchant API"
		],
		"summary": "Get Product Inventory",
		"description": "Returns inventory levels for the specified product from the warehouse.\n\n### Response Fields\n|    Field    |    Data Type    |    Length    |    Description    |\n|---------------------|-----------------|--------------|----------------------------------------------|\n|    sku    |    String    |    45    |  |\n|    qty_available    |    Int    |  |    Can be negative if item is backordered    |\n|    qty\\_on_hand    |    Int    |  |  |\n|    wms_datetime    |    Timestamp    |  |    Time warehouse last verified qty    |\n|    warehouses    |    Array    |  |    Breakdown of inventory by warehouse    |\n\nThe qty\\_available inventory levels of each warehouse entry when added together may not match the summary qty_available field. This is because recent sales for each location cannot be subtracted from available quantity for a specific location if CartRover does not know how they will route. The summary inventory level will always be accurate.\n\n### Warehouse Fields\n|    Field    |    Data Type    |    Length    |    Description    |\n|---------------------|-----------------|--------------|--------------------------------------------|\n|    warehouse    |    String    |    100    |    Warehouse name as setup in CartRover    |\n|    qty_available    |    Int    |  |    Quantity for just this warehouse    |\n|    qty_on_hand    |    Int    |  |    Quantity for just this warehouse    |\n|    wms_datetime    |    Timestamp    |  |    Time warehouse last verified qty    |",
		"parameters": [
		  {
			"name": "SKU",
			"in": "path",
			"schema": {
			  "type": "string"
			},
			"required": true
		  }
		],
		"responses": {
		  "200": {
			"description": "OK",
			"content": {
			  "application/json": {
				"schema": {
				  "type": "object"
				},
				"example": {
				  "success_code": true,
				  "response": {
					"sku": "CIO-1001",
					"qty_available": "15",
					"qty_on_hand": "20",
					"wms_datetime": "2016-08-27T02:24:58+00:00",
					"warehouses": {
					  "2352": {
						"warehouse": "EAST",
						"qty_available": 10,
						"qty_on_hand": 10,
						"wms_datetime": "2014-01-14T01:48:07+00:00"
					  },
					  "2489": {
						"warehouse": "WEST",
						"qty_available": 5,
						"qty_on_hand": 10,
						"wms_datetime": "2014-01-14T01:48:07+00:00"
					  }
					}
				  }
				}
			  }
			}
		  }
		}
	  }
	},
	"/v1/wms/shipmethod/list": {
	  "get": {
		"tags": [
		  "Warehouse API"
		],
		"summary": "List WMS Ship Methods",
		"description": "Returns an array of acceptable warehouse ship methods. No parameters are required.\n<br/><br/>\n**Note:** This list is unlikely to change often, or ever at all. We recommend you cache/store this list and either update it occasionally or as needed on-demand\n\n### Response Fields\n|     Field      |     Data Type         |     Length      |     Description         |\n|-------------------|-----------------------|-----------------|----------------------------------|\n|    code    |    String    |    64    |    Code Sent to Warehouse    |\n|    description    |    String    |    255    |    Description of Ship Method    |\n\n**Note:** The codes and descriptions returned are defined by the warehouse and not CartRover. They may differ from what you see here.",
		"responses": {
		  "200": {
			"description": "OK",
			"content": {
			  "application/json": {
				"schema": {
				  "type": "object"
				},
				"example": {
				  "success_code": true,
				  "response": [
					{
					  "code": "01",
					  "description": "USPS First Class Parcel",
					  "carrier": "USPS"
					},
					{
					  "code": "09",
					  "description": "USPS Priority Mail",
					  "carrier": "USPS"
					},
					{
					  "code": "28",
					  "description": "UPS Next Day Air",
					  "carrier": "UPS"
					},
					{
					  "code": "50",
					  "description": "FedEx Ground",
					  "carrier": "FEDEX"
					},
					{
					  "code": "DB",
					  "description": "DHLGM Parcel Intl Standard",
					  "carrier": ""
					}
				  ]
				}
			  }
			}
		  }
		}
	  }
	},
	"/v1/cart/listall": {
	  "get": {
		"tags": [
		  "Merchant API"
		],
		"summary": "List All Available Carts",
		"description": "This will return a list of all possible cart and order source connections that can be setup for this CartRover account, as well as the required and optional settings.\n\n### Response Fields\n|    Field    |    Data Type    |    Length    |    Description    |\n|-----------------------------|-----------------|--------------|------------------------------------------------------------|\n|    id    |    String    |        |    Unique ID of this Order Source    |\n|    name    |    String    |        |   User friendly name of this Order Source     |\n|    icon    |    String    |        |   Full url path to image of cart logo for hotlinking.<br>Dimensions: 64x64 px<br>Format: Transparent png     |\n|    fields    |    Array    |        |    Required credentials. This will contain an array where they key is the API credential key you must provide during setup, and the value is a user friendly name to display.<br>See example for format.    |\n|    services    |    Array    |        |   Available sync services for this Order Source. This will contain an array where they key is the service key you can schedule during setup, and the value is a user friendly name to display.<br>See example for format.     |\n|    sub_carts    |    Array    |        |    List of available marketplaces. If list is provided, you must use one of the sub_cart ids instead of the main cart id when setting up a new connection.<br>See example for format.    |\n|    extra_params    |    Array    |        |   List of available options for this Order Source. Includes options like which order status to pull from cart. All options will either have a default, or are not required.     |",
		"responses": {
		  "200": {
			"description": "OK",
			"content": {
			  "application/json": {
				"schema": {
				  "type": "object"
				},
				"example": {
				  "success_code": true,
				  "response": [
					{
					  "id": "FirstShoppingCart",
					  "name": "1ShoppingCart",
					  "icon": "https://app.cartrover.com/img/carts/1shoppingcart.png",
					  "fields": {
						"user_key": "Merchant ID",
						"password": "Merchant Key"
					  },
					  "services": {
						"order": "Order Download"
					  },
					  "sub_carts": [],
					  "extra_params": {
						"field": "split_name",
						"name": "Split Names",
						"extra": "1ShoppingCart puts the entire Shipping name into a single field. This option will split it into a First and Last name.",
						"type": "enum",
						"values": {
						  "Y": "Yes",
						  "N": "No"
						},
						"default": "Y"
					  }
					},
					{
					  "id": "ThreeDCart",
					  "name": "3DCart",
					  "icon": "https://app.cartrover.com/img/carts/3dcart.png",
					  "fields": {
						"user_key": "Store URL",
						"password": "User Key"
					  },
					  "services": {
						"order": "Order Import",
						"confirm": "Shipment Upload",
						"inventory": "Inventory Upload"
					  },
					  "sub_carts": [],
					  "extra_params": {
						"field": "warehouse_location",
						"name": "Warehouse Location",
						"extra": "Only pull items with this specific Warehouse Location.",
						"type": "text",
						"required": "N",
						"default": "",
						"conditionals": [
						  {
							"conditional_not_value": [
							  ""
							],
							"field": "only_pull_complete_order",
							"name": "Only pull complete orders",
							"extra": "If <b>No</b>, only the matching items in order will be loaded.<br>If <b>Yes</b>, entire order will be skipped if any of the items have a different Warehouse Location.",
							"type": "enum",
							"values": {
							  "N": "No",
							  "Y": "Yes"
							},
							"default": "N"
						  }
						]
					  }
					},
					{
					  "id": "Amazon",
					  "name": "Amazon",
					  "icon": "https://app.cartrover.com/img/carts/amazon.png",
					  "fields": {
						"user_key": "Seller ID",
						"password": "MWS Auth Token"
					  },
					  "services": {
						"order": "Order Download",
						"confirm": "Shipment Upload",
						"inventory": "Inventory Upload"
					  },
					  "sub_carts": {
						"Amazon_US": "Amazon US",
						"Amazon_CBA": "Amazon Checkout",
						"Amazon_AU": "Amazon Australia",
						"Amazon_BR": "Amazon Brazil",
						"Amazon_CA": "Amazon Canada",
						"Amazon_CN": "Amazon China",
						"Amazon_FR": "Amazon France",
						"Amazon_DE": "Amazon Germany",
						"Amazon_IN": "Amazon India",
						"Amazon_IT": "Amazon Italy",
						"Amazon_JP": "Amazon Japan",
						"Amazon_MX": "Amazon Mexico",
						"Amazon_ES": "Amazon Spain",
						"Amazon_UK": "Amazon UK"
					  },
					  "extra_params": {
						"field": "load_prime_orders",
						"name": "Prime Orders",
						"extra": "Should CartRover load all orders, only prime orders, or only non-prime orders?",
						"type": "enum",
						"values": {
						  "all": "Load All Orders",
						  "only_prime": "Load Only Prime Orders",
						  "non_prime": "Load Only non-Prime Orders"
						},
						"default": "all",
						"conditionals": [
						  {
							"conditional_value": [
							  "all",
							  "only_prime"
							],
							"field": "prime_ship_code_prefix",
							"name": "Ship Code prefix for Prime orders",
							"extra": "Prefix the Amazon ship code with this value. EG: \"PRIME_\" If you use this, don't use the Ship Code field below",
							"type": "text",
							"default": "",
							"required": "N"
						  },
						  {
							"conditional_value": [
							  "all",
							  "only_prime"
							],
							"field": "prime_carrier",
							"name": "Carrier for Prime Orders",
							"extra": "Set the Carrier value you would like to load when orders are Seller Fulfilled Prime. Leave blank for default.",
							"type": "text",
							"default": "",
							"required": "N"
						  },
						  {
							"conditional_value": [
							  "all",
							  "only_prime"
							],
							"field": "prime_ship_code",
							"name": "Ship Code for Prime Orders",
							"extra": "Leave blank for default. Otherwise set the Ship Code value you would like to set when orders are Seller Fulfilled Prime.",
							"type": "text",
							"default": "",
							"required": "N"
						  },
						  {
							"conditional_value": [
							  "all",
							  "only_prime"
							],
							"field": "prime_writeback",
							"name": "Report back Prime tracking",
							"extra": "If you are purchasing Prime shipping labels from Amazon, make sure this option is disabled. If you are using your own label account, turn this on.",
							"type": "enum",
							"values": {
							  "N": "No",
							  "Y": "Yes"
							},
							"default": "N",
							"required": "N"
						  }
						]
					  }
					}
				  ]
				}
			  }
			}
		  }
		}
	  }
	},
	"/v1/cart/list": {
	  "get": {
		"tags": [
		  "Merchant API"
		],
		"summary": "List Setup Carts",
		"description": "Returns a list of carts and order sources that have been setup for this merchant.\n\n### Response Fields\n|    Field    |    Data Type    |    Length    |    Description    |\n|-----------------------------|-----------------|--------------|------------------------------------------------------------|\n|    name    |    String    |    150    |    Name of order source or cart    |\n|    order_source    |    String    | 45 |    Unique key used to identify this order source or cart    |\n|    description    |    Long Text    |  | Description of connection provided by user during setup. |\n|    discontinued    |    Boolean    |  | Has this connection been disabled/discontinued? |\n|    icon    |    String    | 250 | Full url path to image of cart logo for hotlinking. Dimensions: 64x64 px. Format: Transparent png |",
		"responses": {
		  "200": {
			"description": "OK",
			"content": {
			  "application/json": {
				"schema": {
				  "type": "object"
				},
				"example": {
				  "success_code": true,
				  "response": [
					{
					  "name": "CSV Files",
					  "order_source": "CSV",
					  "description": "",
					  "discontinued": false,
					  "icon": "https://app.cartrover.com/img/carts/csv_file.png"
					},
					{
					  "name": "CSV Files",
					  "order_source": "CSV1",
					  "description": "Test Disabled",
					  "discontinued": true,
					  "icon": "https://app.cartrover.com/img/carts/csv_file.png"
					}
				  ]
				}
			  }
			}
		  }
		}
	  }
	},
	"/v1/merchant/warehouse/list": {
	  "get": {
		"tags": [
		  "Merchant API"
		],
		"summary": "List Warehouses",
		"description": "Returns a list of all warehouses set up in CartRover. Any filters should be passed with the URL as GET arguments.\n\n### Filters\n|    Argument     |    Description       |\n|------------------------|-------------------------------------------------------------------------------------|\n|    include_disabled    |    Y or N. Default N   Also return warehouses listed as disabled   in CartRover?    |\n\n### Array Response Fields\n|    Field     |    Data Type     |    Length     |    Description       |\n|---------------------------|------------------|---------------|---------------------------------------------------------------------------------------------------------------|\n|    inventory_warehouse    |    String    |  |    Warehouse Name within CartRover    |\n|    wms\\_warehouse_name    |    String    |  |    Optional Warehouse Name provided by WMS    |\n|    wms\\_warehouse_id    |    String    |  |    Optional Warehouse ID provided by WMS    |\n|    extra_params    |    Array    |  |    List of \"addresses\" and \"contacts\" for   this warehouse.    |\n|    disabled    |    boolean    |  |    true if this warehouse is disabled. Disabled warehouses are   not used for inventory sync in CartRover.    |\n|    is_default    |    boolean    |  |    true if this is the default warehouse.    |\n|    restock_level    |    Int    |  |    Global requested restock level if inventory drops below   this level for any item    |\n\nThe key for each warehouse in the array is the internal CartRover warehouyse id. This is needed for modifying the warehouse fields via the API.",
		"parameters": [
		  {
			"name": "Content-Type",
			"in": "header",
			"schema": {
			  "type": "string"
			},
			"example": "application/json"
		  }
		],
		"responses": {
		  "200": {
			"description": "OK",
			"content": {
			  "application/json": {
				"schema": {
				  "type": "object"
				},
				"example": {
				  "success_code": true,
				  "response": {
					"2305": {
					  "inventory_warehouse": "Retail",
					  "wms_warehouse_name": "Retail",
					  "wms_warehouse_id": null,
					  "extra_params": null,
					  "disabled": false,
					  "is_default": true,
					  "restock_level": null
					},
					"2672": {
					  "inventory_warehouse": "Wholesale",
					  "wms_warehouse_name": "Wholesale",
					  "wms_warehouse_id": "Wholesale",
					  "extra_params": {
						"addresses": [
						  {
							"AddressTypeCode": "ATC",
							"LocationCodeQualifier": "ACQ",
							"AddressLocationNumber": "ALN",
							"AddressName": "Some Warehouse",
							"Address1": "510 N. MILPAS ST.",
							"Address2": "",
							"City": "SANTA BARBARA",
							"State": "CA",
							"PostalCode": "93103",
							"Country": "United States",
							"Cart": "2078"
						  }
						],
						"contacts": []
					  },
					  "disabled": false,
					  "is_default": false,
					  "restock_level": null
					}
				  }
				}
			  }
			}
		  }
		}
	  }
	},
	"/v1/merchant/warehouse/{WAREHOUSE_PK}": {
	  "post": {
		"tags": [
		  "Merchant API"
		],
		"summary": "Edit Warehouse",
		"description": "Edit specified warehouse info. Any fields left off will be unchanged.\n\n### Array Request Fields\n|     Field Name     |     Data Type     |     Length     |     Required?     |     Description     |\n|---------------------------|-------------------|----------------|-------------------|-----------------------------------------------------------------|\n|    inventory_warehouse    |    String    |    45    |    Y    |    Name of Warehouse in CartRover    |\n|    wms_warehouse_name    |    String    |  | N |    Optional Name of Warehouse in WMS   |\n|    wms_warehouse_id    |    String    |  | N |    Optional ID of Warehouse in WMS    |\n|    default    |    Boolean    |  | N |    Default false. Make this warehouse the default warehouse?    |\n|    disabled    |    Boolean    |  | N |    Default false. Setting true will disable this warehouse.    |\n\n### Array Response Fields\n|    Field     |    Data Type     |    Length     |    Description       |\n|---------------------------|------------------|---------------|---------------------------------------------------------------------------------------------------------------|\n|    inventory_warehouse    |    String    |  |    Warehouse Name within CartRover    |\n|    wms_warehouse_name    |    String    |  |    Optional Warehouse Name provided by WMS    |\n|    wms_warehouse_id    |    String    |  |    Optional Warehouse ID provided by WMS    |\n|    extra_params    |    Array    |  |    List of \"addresses\" and \"contacts\" for   this warehouse.    |\n|    disabled    |    Boolean    |  |    True if this warehouse is disabled. Disabled warehouses are not used for inventory sync in CartRover.    |\n|    is_default    |    Boolean    |  |    True if this is the default warehouse.    |\n|    restock_level    |    Int    |  |    Global requested restock level if inventory drops below   this level for any item    |\n\nIf successful, the warehouse will be returend in the same format as the List Warehouses API call.",
		"requestBody": {
		  "content": {
			"*/*": {
			  "schema": {
				"type": "string",
				"example": "\"{\\n    \\\"inventory_warehouse\\\": \\\"New WHS\\\",\\n    \\\"wms_warehouse_name\\\": \\\"New WHS Name\\\",\\n    \\\"wms_warehouse_id\\\": \\\"New WHS ID\\\",\\n    \\\"default\\\": false\\n}\""
			  }
			}
		  }
		},
		"parameters": [
		  {
			"name": "Content-Type",
			"in": "header",
			"schema": {
			  "type": "string"
			},
			"example": "application/json"
		  },
		  {
			"name": "WAREHOUSE_PK",
			"in": "path",
			"schema": {
			  "type": "string"
			},
			"required": true
		  }
		],
		"responses": {
		  "200": {
			"description": "OK",
			"content": {
			  "application/json": {
				"schema": {
				  "type": "object"
				},
				"example": {
				  "success_code": true,
				  "response": {
					"2305": {
					  "inventory_warehouse": "Georgia Warehouse Name",
					  "wms_warehouse_name": "Georgia",
					  "wms_warehouse_id": "G132",
					  "extra_params": null,
					  "disabled": false,
					  "is_default": true,
					  "restock_level": null
					}
				  }
				}
			  }
			}
		  }
		}
	  }
	},
	"/v1/merchant/edit": {
	  "post": {
		"tags": [
		  "Merchant API"
		],
		"summary": "Edit Merchant",
		"description": "Edit merchant info including name, wms parameters, and schedules. Any fields left off will be left as-is.\n\n### Post Fields\n|    Field    |    Data Type    |    Length    |    Required?    |    Description    |\n|------------------|-----------------|--------------|-----------------|---------------------------------------------------------------------------------------------------------------------------------------------------------|\n|    name    |    String    |    80    |    Y    |    Name of Merchant    |\n|    merchant_params    |    Array    |  |  N  |    Array of WMS Merchant level param values to set for this merchant. You can   get a list of valid values from the merchant section of the [/wms/params](#99aefc50-34e7-4fa5-b944-9cbb24eaf594)   endpoint.    |\n|    wms_params    |    Array    |  |  N  |    Array of WMS level param values to set for this account. You can   get a list of valid values from the wms section of the [/wms/params](#99aefc50-34e7-4fa5-b944-9cbb24eaf594)   endpoint. **NOTE:** This field only usable by independant Merchant accounts, not ones that belong to a warehouse account.    |\n|   wms_name   |   String   |  |  N  |   Change which WMS System to connect this account to. **NOTE:** This field only usable by independant Merchant accounts, not ones that belong to a warehouse account.  |\n|   schedules   |   Array   |  |  N  |   A list of schedules to update with the keys: order, confirm, inventory. Pass \"ON\" or \"OFF\" for each value.  |\n|    discontinued    |    Boolean    |        |    N    |    true to discontinue Merchant. false to re-enable merchant.    |",
		"requestBody": {
		  "content": {
			"*/*": {
			  "schema": {
				"type": "string",
				"example": "\"{\\r\\n  \\\"name\\\": \\\"Test API Merch\\\",\\r\\n  \\\"wms_params\\\": {\\r\\n  \\t\\\"ownerCode\\\": \\\"123\\\"\\r\\n  }\\r\\n}\""
			  }
			}
		  }
		},
		"parameters": [
		  {
			"name": "Content-Type",
			"in": "header",
			"schema": {
			  "type": "string"
			},
			"example": "application/json"
		  }
		],
		"responses": {
		  "200": {
			"description": "OK",
			"content": {
			  "application/json": {
				"schema": {
				  "type": "object"
				},
				"example": {
				  "success_code": true
				}
			  }
			}
		  }
		}
	  }
	},
	"/v1/merchant/orders/list/{STATUS}": {
	  "get": {
		"tags": [
		  "Merchant API"
		],
		"summary": "List Orders By Status",
		"description": "Returns all orders matching the given status for this cart.\n<br/><br/>\n**Possible statuses:** new, at_wms, shipped, confirmed, error, canceled, new_or_at_wms, shipped_or_confirmed, any\n<br/><br/>\n**New Orders:** After downloading new orders, it is recommended you mark the orders as at_wms so that you, the client, and CartRover know that the order has been received.\n\n### Filters\nAny filters should be passed with the URL as GET arguments.\n\n|    Argument    |    Description    |\n|------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n|    from_date    |    Optional Timestamp    |\n|    to_date    |    Optional Timestamp    |\n|    order_source    |    Optional. To get a list call List Setup Carts: /cart/list   Warning: some sources like CSV carts allow   for multiple order sources in the same cart. There is no way to lookup if   additional sources have been used by a CSV cart. It is not recommended to use this filter.    |\n|    limit    |    Number of orders to return at once. Default 20, max 100    |\n|    page    |    Page of results to return. Default 1    |\n|    include_filtered_items    |    Y or N. Default N. If Y, items that should not be shipped will be included in response. The filtered_sku field will be set to Y for these items.    |\n|    include_order_extras    |    Y or N. Default N. If Y, order header meta data fields (from original order source) will be returned as a key/value array in the order.source_meta field.    |\n|    include_line_extras    |    Y or N. Default N. If Y, line item meta data fields (from original order source) will be returned as a key/value array in the item.source_meta field.    |\n|    include_aliases    |    Y or N. Default N. If Y, any known aliases will be returned with the item record, including the WMS Master SKU.    |\n|    include_attachments    |    Y or N. Default N. If Y, any attachment documents will be included in the 'attachments' element. This could include packing slips or shipping labels.    |\n\nThe from_date and to_date fields perform a different search depending on the status you are searching. These are designed so you only have to search back though the time of your last successful API call in order to get all the new results. \n\n### Date Time Filters\n|    Status    |    Date   Filter Searches By:    |\n|----------------------------|-----------------------------------|\n|    new    |    Order Created Date    |\n|    at_wms    |    Order Delivered to WMS Date    |\n|    new_or_at_wms    |    Order Created Date    |\n|    partial    |    Shipment Loaded Date    |\n|    shipped    |    Shipment Loaded Date    |\n|    confirmed    |    Date Shipment Sent to Cart    |\n|    shipped_or_confirmed    |    Shipment Loaded Date    |\n|    error    |    Error Raised Date    |\n|    canceled    |    Canceled Date    |\n|    any    |    Order Created Date    |\n\n**Note:** If you have a lot of orders and your API response time is slow, use narrower date ranges. For example, only search the past hour instead of the past day.\n\n### Response Fields\n\nThe response will contain an array of orders with format/fields matching the New Orders endpoint.\n\nOrders may also contain shipment records. Shipment records will match to the format of the View Order Status endpoint.\n\n#### Multiple Items\nWhen reading item data, note that there may be multiple lines for the same SKU. If your system cannot handle this, you must check for this and summarize the item's total quantity when loading into your system. When posting back tracking data you may list the item in a single entry instead of breaking into two.\n\n#### Item SKU\nThe item field will contain the product code as provided by the order source. If you need this translated to another code, ensure you have Product Aliases setup in CartRover and pass the include_aliases field when requesting orders.",
		"parameters": [
		  {
			"name": "STATUS",
			"in": "path",
			"schema": {
			  "type": "string"
			},
			"required": true
		  }
		],
		"responses": {
		  "200": {
			"description": "OK",
			"content": {
			  "application/json": {
				"schema": {
				  "type": "object"
				},
				"example": {
				  "success_code": true,
				  "response": [
					{
					  "created_date_time": "2016-07-14T19:07:16+00:00",
					  "record_no": "156",
					  "version": null,
					  "format": null,
					  "cust_ref": "156",
					  "cust_ref_original": null,
					  "cust_po_no": "156",
					  "cust_po_no_original": null,
					  "ship_code": "legacy_free_shipping",
					  "ship_code_description": "Free Shipping",
					  "working_ship_code": null,
					  "cust_company": null,
					  "cust_title": null,
					  "cust_first_name": "Cart",
					  "cust_last_name": "Test",
					  "cust_address_1": "510 N. Milpas St",
					  "cust_address_2": "",
					  "cust_address_3": null,
					  "cust_city": "Santa Barbara",
					  "cust_state": "CA",
					  "cust_zip": "93103",
					  "cust_country": "USA",
					  "cust_phone": "18053992278",
					  "cust_e_mail": "help@cartrover.com",
					  "ship_company": "CartRover",
					  "ship_title": null,
					  "ship_first_name": "William",
					  "ship_last_name": "Wynn",
					  "ship_address_1": "510 N. Milpas St.",
					  "ship_address_2": "",
					  "ship_address_3": null,
					  "ship_city": "Santa Barbara",
					  "ship_state": "CA",
					  "ship_zip": "93103",
					  "ship_country": "USA",
					  "ship_phone": "18058982444",
					  "ship_e_mail": "help@cartrover.com",
					  "ship_address_type": null,
					  "special_services": null,
					  "customer_id": "4",
					  "order_date": "2016-07-14",
					  "sub_total": "0.00",
					  "order_discount": "0.00",
					  "sales_tax": "0.00",
					  "shipping_handling": "0.00",
					  "grand_total": "0.00",
					  "balance": "0.00",
					  "currency_code": "USD",
					  "credit_card_no": null,
					  "expiration_date": null,
					  "pay_type": "CA",
					  "tax_exempt_sw": null,
					  "installment_program": null,
					  "media_week": null,
					  "order_source": "WooCommerce",
					  "promo_code": null,
					  "ani_phone": null,
					  "vendor_phone": null,
					  "check_account_no": null,
					  "check_type": null,
					  "check_no": null,
					  "check_bank_id": null,
					  "check_cust_bank": null,
					  "check_cust_id_num": null,
					  "check_cust_id_state": null,
					  "check_cust_id_mm": null,
					  "check_cust_id_dd": null,
					  "check_cust_id_yy": null,
					  "check_cust_id_type": null,
					  "location": null,
					  "shipping_instructions": null,
					  "ship_account_no": null,
					  "ship_account_zip": null,
					  "pre_auth_code": null,
					  "pre_auth_amt": "0.00",
					  "pre_auth_id": null,
					  "cvv": null,
					  "custom_field_1": null,
					  "custom_field_2": null,
					  "custom_field_3": null,
					  "custom_field_4": null,
					  "custom_field_5": null,
					  "gift_card_sw": null,
					  "token_sw": null,
					  "cass_code_ship": null,
					  "cass_error_ship": null,
					  "cass_code_cust": null,
					  "cass_error_cust": null,
					  "cass_date": null,
					  "ncoa_code_ship": null,
					  "ncoa_code_cust": null,
					  "ncoa_date": null,
					  "error_code": null,
					  "error_msg": null,
					  "ifraud_error_code": null,
					  "xfraud_error_code": null,
					  "credit_error_code": null,
					  "resubmit_date": null,
					  "black_list": null,
					  "credit_score": null,
					  "fraud_score": null,
					  "load_override_sw": null,
					  "fail_action": null,
					  "action_dt": null,
					  "filename": null,
					  "call_queue": null,
					  "clerk_disposition": null,
					  "clerk_disp_dt": null,
					  "rep_disposition": null,
					  "rep_disp_dt": null,
					  "duplicate_sw": null,
					  "weight": null,
					  "org_file_no": null,
					  "gift_message": null,
					  "gift_wrap": null,
					  "carrier": null,
					  "delete_date": null,
					  "routing_sw": "N",
					  "sent_to_region": null,
					  "accepted_by_region": null,
					  "regional_center": null,
					  "regional_order_no": null,
					  "regional_ship_date": null,
					  "regional_retry_sw": "N",
					  "regional_error": null,
					  "regional_attempts": "0",
					  "first_attempt": null,
					  "cancel_date": null,
					  "cc_last_four": null,
					  "expected_delivery_date": null,
					  "requested_ship_date": null,
					  "delivered_to_wms_date": "2017-05-12T21:10:04+00:00",
					  "error_reason": null,
					  "mark_in_progress_date": "2016-07-14T19:07:17+00:00",
					  "extra_system_date_sent": null,
					  "sending_canceled": "N",
					  "shipping_pickup_canceled": "N",
					  "on_hold": "N",
					  "order_status": "shipped",
					  "total_qty": "1",
					  "num_to_ship": "-4",
					  "num_shipped": "5",
					  "items": [
						{
						  "line_no": "1",
						  "item": "CIOPEN",
						  "lot_number": null,
						  "quantity": "1",
						  "price": "8.0000",
						  "discount": "8.0000",
						  "addl_discount": "0.0000",
						  "extended_amount": "0.00",
						  "tax": "0.00",
						  "shipping_surcharge": "0.00",
						  "line_item_id": null,
						  "line_comment": null,
						  "Description": "CIO Pen - Test Product",
						  "filtered_sku": "N",
						  "line_location": ""
						}
					  ],
					  "shipments": [
						{
						  "carrier": "FEDEX",
						  "method": "50",
						  "tracking_no": "Test456",
						  "tracking_no_secondary": null,
						  "sscc_barcode": null,
						  "bill_of_lading": null,
						  "total_cost": null,
						  "package_weight_lbs": null,
						  "dim_weight_lbs": null,
						  "zone": null,
						  "delivery_surcharge_type": null,
						  "whs_location": null,
						  "box_length_in": null,
						  "box_width_in": null,
						  "box_height_in": null,
						  "date": "2016-08-27T06:05:05+00:00",
						  "custom_1": null,
						  "items": [
							{
							  "item": "CIOPEN",
							  "quantity": "1",
							  "carton_code": "XXX1234YYY",
							  "carton_num": "1",
							  "box_length_in": null,
							  "box_width_in": null,
							  "box_height_in": null,
							  "package_weight_lbs": "2.00"
							}
						  ]
						}
					  ]
					}
				  ]
				}
			  }
			}
		  }
		}
	  }
	},
	"/v1/merchant/orders/{CUST_REF}": {
	  "get": {
		"tags": [
		  "Merchant API"
		],
		"summary": "View Order",
		"description": "Returns the order with the specified CUST_REF, which is guaranteed to be unique for all orders for a merchant.\n\nThe format of the order returned will match the format of an order passed to the [New Order](#665d1346-78f2-4a6d-a723-2723cdfff7ed) Cart level API Endpoint.\n\nIt will also have a shipments element containing an array of tracking information matching the shipments format from the View Order Status Endpoint.\n\n### Filters\n\n| Argument | Description |\n| --- | --- |\n| include_filtered_items | Y or N. Default N If Y, items that should not be shipped will be included in response. The filtered_sku field will be set to Y for these items. |\n| include_order_extras | Y or N. Default N If Y, order header meta data fields (from original order source) will be returned. |\n| include_line_extras | Y or N. Default N If Y, line item meta data fields (from original order source) will be returned. |\n| include_aliases | Y or N. Default N If Y, any known aliases will be returned with the item record, including the WMS Master SKU. |\n| include_attachments | Y or N. Default N If Y, any attachment documents will be included in the 'attachments' element. This could include packing slips or shipping labels. |\n\n**Any filters should be passed with the URL as GET arguments**",
		"parameters": [
		  {
			"name": "CUST_REF",
			"in": "path",
			"schema": {
			  "type": "string"
			},
			"required": true
		  }
		],
		"responses": {
		  "200": {
			"description": "OK",
			"content": {
			  "application/json": {
				"schema": {
				  "type": "object"
				},
				"examples": {
				  "example-0": {
					"summary": "View Order",
					"value": {
					  "success_code": true,
					  "response": {
						"created_date_time": "2019-05-23T23:49:28+00:00",
						"updated_date_time": "2019-05-24T19:20:06+00:00",
						"record_no": null,
						"version": null,
						"format": null,
						"cust_ref": "TEST07Auto",
						"cust_po_no": "TEST07Auto",
						"po_number": null,
						"carrier": null,
						"ship_code": "",
						"ship_code_description": null,
						"working_ship_code": null,
						"cust_company": "Will Town",
						"cust_title": null,
						"cust_first_name": null,
						"cust_last_name": null,
						"cust_address_1": "351 Hatchback Way",
						"cust_address_2": "Suite B140",
						"cust_address_3": null,
						"cust_city": "Santa Lucia",
						"cust_state": "NV",
						"cust_zip": "93707",
						"cust_country": "USA",
						"cust_phone": null,
						"cust_e_mail": null,
						"ship_company": "Will Town",
						"ship_title": null,
						"ship_first_name": null,
						"ship_last_name": null,
						"ship_address_1": "351 HITCHCOCK WAY STE B140",
						"ship_address_2": null,
						"ship_address_3": null,
						"ship_city": "SANTA BARBARA",
						"ship_state": "CA",
						"ship_zip": "93105-4016",
						"ship_country": "USA",
						"ship_phone": null,
						"ship_e_mail": null,
						"ship_address_type": null,
						"special_services": null,
						"customer_id": null,
						"order_date": "2019-05-23",
						"sub_total": "0.00",
						"order_discount": "0.00",
						"sales_tax": "0.00",
						"shipping_handling": "0.00",
						"grand_total": "0.00",
						"balance": "0.00",
						"currency_code": null,
						"credit_card_no": null,
						"expiration_date": null,
						"pay_type": "CA",
						"tax_exempt_sw": null,
						"installment_program": null,
						"media_week": null,
						"order_source": "APIAccess1",
						"promo_code": null,
						"ani_phone": null,
						"vendor_phone": null,
						"check_account_no": null,
						"check_type": null,
						"check_no": null,
						"check_bank_id": null,
						"check_cust_bank": null,
						"check_cust_id_num": null,
						"check_cust_id_state": null,
						"check_cust_id_mm": null,
						"check_cust_id_dd": null,
						"check_cust_id_yy": null,
						"check_cust_id_type": null,
						"location": null,
						"shipping_instructions": null,
						"ship_account_no": null,
						"ship_account_zip": null,
						"pre_auth_code": null,
						"pre_auth_amt": "0.00",
						"pre_auth_id": null,
						"cvv": null,
						"custom_field_1": null,
						"custom_field_2": null,
						"custom_field_3": null,
						"custom_field_4": null,
						"custom_field_5": null,
						"gift_card_sw": null,
						"token_sw": null,
						"cass_code_ship": "V",
						"cass_error_ship": null,
						"cass_code_cust": "N",
						"cass_error_cust": null,
						"cass_date": null,
						"ncoa_code_ship": null,
						"ncoa_code_cust": null,
						"ncoa_date": null,
						"error_code": null,
						"error_msg": null,
						"ifraud_error_code": null,
						"xfraud_error_code": null,
						"credit_error_code": null,
						"resubmit_date": null,
						"black_list": null,
						"credit_score": null,
						"fraud_score": null,
						"load_override_sw": null,
						"fail_action": null,
						"action_dt": null,
						"filename": null,
						"call_queue": null,
						"clerk_disposition": null,
						"clerk_disp_dt": null,
						"rep_disposition": null,
						"rep_disp_dt": null,
						"duplicate_sw": null,
						"weight": null,
						"org_file_no": null,
						"gift_message": null,
						"gift_wrap": null,
						"delete_date": null,
						"routing_sw": "N",
						"sent_to_region": null,
						"accepted_by_region": null,
						"regional_center": null,
						"regional_order_no": null,
						"regional_ship_date": null,
						"regional_retry_sw": "N",
						"regional_error": null,
						"regional_attempts": "0",
						"first_attempt": null,
						"cancel_date": null,
						"changed_by": "Shopping Cart: cartrover",
						"changed_from_server": "william-pc",
						"changed_by_user": "williamw",
						"cc_last_four": null,
						"expected_delivery_date": null,
						"requested_ship_date": null,
						"latest_ship_date": null,
						"delivered_to_wms_date": "2019-05-24T19:20:06+00:00",
						"shipment_pk": null,
						"error_reason": null,
						"mark_in_progress_date": null,
						"extra_system_date_sent": null,
						"sending_canceled": "N",
						"shipping_pickup_canceled": "N",
						"on_hold": "N",
						"inventory_warehouse_pk": "1979",
						"items": [
						  {
							"line_no": "1",
							"item": "C100",
							"lot_number": null,
							"quantity": "2",
							"price": "0.0000",
							"discount": "0.0000",
							"addl_discount": "0.0000",
							"extended_amount": "0.00",
							"tax": "0.00",
							"shipping_surcharge": "0.00",
							"line_item_id": null,
							"line_comment": null,
							"Description": null,
							"alt_sku": null,
							"filtered_sku": "N",
							"line_location": ""
						  },
						  {
							"line_no": "2",
							"item": "C300",
							"lot_number": null,
							"quantity": "1",
							"price": "0.0000",
							"discount": "0.0000",
							"addl_discount": "0.0000",
							"extended_amount": "0.00",
							"tax": "0.00",
							"shipping_surcharge": "0.00",
							"line_item_id": null,
							"line_comment": null,
							"Description": null,
							"alt_sku": null,
							"filtered_sku": "N",
							"line_location": ""
						  }
						],
						"shipments": []
					  }
					}
				  },
				  "example-1": {
					"summary": "View Invalid Order",
					"value": {
					  "success_code": false,
					  "error_code": "Invalid",
					  "message": "Missing or invalid parameter: cust_ref - No such order found."
					}
				  }
				}
			  }
			}
		  }
		}
	  }
	},
	"/v1/merchant/orders/status/{CUST_REF}": {
	  "get": {
		"tags": [
		  "Merchant API"
		],
		"summary": "View Order Status",
		"description": "This will return the order status and tracking information for the specified CUST_REF.\n\nCUST_REF is guaranteed to be unique for all orders for a merchant.\n\n### Response Fields\n\n|    Field                    |    Data Type    |    Length    |    Description                                                             |\n|-----------------------------|-----------------|--------------|----------------------------------------------------------------------------|\n|    cust_ref                 |    String       |    16        |                                                                            |\n|    cust_po_no               |    String       |    45        |                                                                            |\n|    delivered_to_wms_date    |    Timestamp    |              |                                                                            |\n|    order_status             |    Enum         |              |    One of: new, at_wms, shipped, confirmed, error, canceled    |\n|    shipments                |    **Array**        |              |    Array of 0 or more shipments                              |\n\n#### Shipments Array Fields\n\n|    Field                      |    Data Type    |    Length              |    Description                                   |\n|-------------------------------|-----------------|------------------------|--------------------------------------------------|\n|    carrier                    |    String       |    45                  |    Carrier reported by WMS                       |\n|    method                     |    String       |    45                  |    Ship Method reported by WMS                   |\n|    tracking_no                |    String       |    45                  |    Primary tracking #                            |\n|    tracking_no_secondary      |    String       |    45                  |    Optional secondary tracking #                 |\n|    sscc_barcode               |    String       |    45                  |    Carton Barcode for EDI Orders                 |\n|    bill_of_lading             |    String       |    45                  |                                                  |\n|    total_cost                 |    Float        |    2 decimal places    |    Shipping cost with all fees                   |\n|    package_weight_lbs         |    Float        |    2 decimal places    |    Actual shipment weight                        |\n|    dim_weight_lbs             |    Float        |    2 decimal places    |    Optional dimensional weight                   |\n|    zone                       |    String       |    4                   |    Ship-to zone                                  |\n|    delivery_surcharge_type    |    String       |    45                  |    Defined by WMS                                |\n|    whs_location               |    String       |    45                  |    Identifies which warehouse shipped package    |\n|    box_length_in              |    Float        |    2 decimal places    |    Length in Inches                              |\n|    box_width_in               |    Float        |    2 decimal places    |    Width in Inches                               |\n|    box_height_in              |    Float        |    2 decimal places    |    Height in Inches                              |\n|    date                       |    Timestamp    |                        |    Shipping date                                 |\n|    tracking_url               |    String       |                        |    URL to track shipment                         |\n|    custom_1                   |    String       |    45                  |    Defined by WMS                                |\n|    items                      |    **Array**        |                        |    List of items in package if known             |\n\n#### Items Array Fields\n\n|    Field                      |    Data Type    |    Length              |    Description                                   |\n|-------------------------------|-----------------|------------------------|--------------------------------------------------|\n|    carrier                    |    String       |    45                  |   Product SKU - Must match SKU on original order      |\n|    quantity                    |    Int       |                      |     Quantity of item in package     |\n|    carton_code                    |    String       |    45                  |    Carton code/barcode (eg: SSCC-18)      |\n|    carton_num                    |    String       |    45                  |      Carton number (eg: 1, 2, 3, etc)        |\n|    box_length_in                    |    Float       |    2 decimal places          |    Length in Inches    |\n|    box_width_in                    |    Float       |    2 decimal places          |     Width in Inches       |\n|    box_height_in                    |    Float       |    2 decimal places          |     Height in Inches       |\n|    package_weight_lbs                    |    Float       |    2 decimal places          |     \tCarton weight in lbs        |",
		"parameters": [
		  {
			"name": "CUST_REF",
			"in": "path",
			"schema": {
			  "type": "string"
			},
			"required": true
		  }
		],
		"responses": {
		  "200": {
			"description": "OK",
			"content": {
			  "application/json": {
				"schema": {
				  "type": "object"
				},
				"example": {
				  "success_code": true,
				  "response": {
					"cust_ref": "349347",
					"cust_po_no": "349347",
					"delivered_to_wms_date": "2016-08-26T19:16:53+00:00",
					"order_status": "shipped",
					"shipments": [
					  {
						"carrier": "USPS",
						"method": "09",
						"tracking_no": "9405510899046006477740",
						"tracking_no_secondary": null,
						"sscc_barcode": null,
						"bill_of_lading": null,
						"total_cost": "1.50",
						"package_weight_lbs": "0.50",
						"dim_weight_lbs": null,
						"zone": null,
						"delivery_surcharge_type": null,
						"whs_location": null,
						"box_length_in": null,
						"box_width_in": null,
						"box_height_in": null,
						"date": "2016-08-27T02:24:58+00:00",
						"custom_1": null,
						"items": [
						  {
							"item": "CIOPEN",
							"quantity": "1",
							"carton_code": null,
							"carton_num": "2",
							"box_length_in": null,
							"box_width_in": null,
							"box_height_in": null,
							"package_weight_lbs": null
						  }
						]
					  }
					]
				  }
				}
			  }
			}
		  }
		}
	  }
	},
	"/v1/merchant/orders/update/{CUST_REF}": {
	  "post": {
		"tags": [
		  "Merchant API"
		],
		"summary": "Update Order Status - At WMS",
		"requestBody": {
		  "content": {
			"*/*": {
			  "schema": {
				"type": "string",
				"example": "\"{\\\"order_status\\\":\\\"at_wms\\\"}\""
			  }
			}
		  }
		},
		"parameters": [
		  {
			"name": "Content-Type",
			"in": "header",
			"schema": {
			  "type": "string"
			},
			"example": "application/json"
		  },
		  {
			"name": "CUST_REF",
			"in": "path",
			"schema": {
			  "type": "string"
			},
			"required": true
		  }
		],
		"responses": {
		  "200": {
			"description": "OK",
			"content": {
			  "application/json": {
				"schema": {
				  "type": "object"
				},
				"example": {
				  "success_code": true,
				  "response": {
					"cust_ref": "ABC123",
					"cust_po_no": "ABC123",
					"delivered_to_wms_date": "2021-09-21T23:55:06+00:00",
					"updated_date_time": "2021-09-21T23:55:06+00:00",
					"ship_country": "USA",
					"order_status": "at_wms",
					"shipments": []
				  }
				}
			  }
			}
		  }
		}
	  }
	},
	"/v1/merchant/orders/update": {
	  "post": {
		"tags": [
		  "Merchant API"
		],
		"summary": "Batch Update Order Status",
		"description": "Batch updates the status up to 100 orders at a time and returns a success response for each individual order.\n\nThis endpoint can be called multiple times for a single order (with different tracking numbers) to add multiple shipment records to a single order, even if both shipments aren't on the same day.\n\nPass a numeric array of orders to update, each containing the following fields:\n\n### Order Status Fields\n\n| Field | Data Type | Length | Required? | Description |\n| --- | --- | --- | --- | --- |\n| cust_ref | String |  | Y | cust_ref of order to update |\n| order_status | ENUM |  | Y | at_wms or shipped |\n| shipments | Array | 0 or more | Only if order status is shipped |  |\n\n### Shipment Fields\n\n| Field | Data Type | Required? | Length | Description |\n| --- | --- | --- | --- | --- |\n| carrier | String | Recommended | 45 | Carrier reported by WMS |\n| method | String |  | 45 | Ship Method reported by WMS |\n| tracking_no | String | Y | 45 | Primary tracking # |\n| tracking_no_secondary | String |  | 45 | Optional secondary tracking # |\n| sscc_barcode | String |  | 45 | Required for EDI Bulk Orders |\n| bill_of_lading | String |  | 45 |  |\n| total_cost | Float |  | 2 decimal places | Shipping cost with all fees |\n| package_weight_lbs | Float |  | 2 decimal places | Actual shipment weight |\n| dim_weight_lbs | Float |  | 2 decimal places | Optional dimensional weight |\n| zone | String |  | 4 | Ship-to zone |\n| delivery_surcharge_type | String |  | 45 | Defined by WMS |\n| whs_location | String |  | 45 | Identify which warehouse shipped package |\n| box_length_in | Float |  | 2 decimal places | Length in Inches |\n| box_width_in | Float |  | 2 decimal places | Width in Inches |\n| box_height_in | Float |  | 2 decimal places | Height in Inches |\n| date | Timestamp |  |  | Shipping date |\n| tracking_url | String |  |  | URL to track shipment |\n| invoice_number | String |  | 45 | Set the order's invoice #. Only one allowed per order. This will overwrite any previous invoice # |\n| custom_1 | String |  | 45 | Defined by WMS |\n| items | Array |  |  | Optional array of items if providing package contents |\n\n### Item Fields\n\n| Field | Data Type | Required? | Length | Description |\n| --- | --- | --- | --- | --- |\n| item | String | Y | 45 | Product SKU - Must match SKU on original order |\n| quantity | Int | Y |  | Quantity of item in package |\n| carton_code | String |  | 45 | Carton code/barcode (eg: SSCC-18) |\n| carton_num | String |  | 45 | Carton number (eg: 1, 2, 3, etc) |\n| box_length_in | Float |  | 2 decimal places | Length in Inches |\n| box_width_in | Float |  | 2 decimal places | Width in Inches |\n| box_height_in | Float |  | 2 decimal places | Height in Inches |\n| package_weight_lbs | Float |  | 2 decimal places | Carton weight in lbs |\n| lot_code | String |  | 45 | Item Lot / Batch Code |\n| custom_1 | String |  | 45 | Custom Field |",
		"requestBody": {
		  "content": {
			"*/*": {
			  "schema": {
				"type": "string",
				"example": "\"[\\n    {\\n        \\\"cust_ref\\\": {{CUST_REF}},\\n        \\\"order_status\\\": \\\"at_wms\\\"\\n    },\\n    {\\n        \\\"cust_ref\\\": {{CUST_REF}},\\n        \\\"order_status\\\":\\\"shipped\\\",\\n        \\\"shipments\\\":[\\n            {\\n                \\\"tracking_no\\\": \\\"Test123\\\",\\n                \\\"date\\\": \\\"2016-08-27T04:04:04+00:00\\\",\\n                \\\"carrier\\\": \\\"UPS\\\",\\n                \\\"method\\\": \\\"20\\\"\\n            },\\n            {\\n                \\\"tracking_no\\\": \\\"Test456\\\",\\n                \\\"date\\\": \\\"2016-08-27T05:05:05+00:00\\\",\\n                \\\"carrier\\\": \\\"FEDEX\\\",\\n                \\\"method\\\": \\\"50\\\"\\n            }\\n        ]\\n        \\n    }\\n]\""
			  }
			}
		  }
		},
		"parameters": [
		  {
			"name": "Content-Type",
			"in": "header",
			"schema": {
			  "type": "string"
			},
			"example": "application/json"
		  }
		],
		"responses": {
		  "200": {
			"description": "OK",
			"content": {
			  "application/json": {
				"schema": {
				  "type": "object"
				},
				"example": {
				  "success_code": true,
				  "response": [
					{
					  "cust_ref": "ABC123",
					  "success": false,
					  "message": "cust_ref - No such order found."
					},
					{
					  "cust_ref": "349347",
					  "success": true
					}
				  ]
				}
			  }
			}
		  }
		}
	  }
	},
	"/v1/merchant/orders/wms_cancel/{CUST_REF}": {
	  "get": {
		"tags": [
		  "Merchant API"
		],
		"summary": "Cancel Order In WMS",
		"description": "This will attempt to cancel the specified order in both CartRover and the WMS. The response will specify whether or not the order was able to be canceled.\n<br/><br/>\n**Note**: This call may take longer than others because CartRover will reach out to the WMS in real time and wait for a response.\n\n### Array Response Fields\n|    Field    |    Data Type    |    Length    |    Description    |\n|---------------|-----------------|--------------|---------------------------------------------------|\n|    success    |    Boolean    |  |    Was cancellation successful?    |\n|    message    |    String    |  |    Reason why cancellation was not successful.    |",
		"parameters": [
		  {
			"name": "CUST_REF",
			"in": "path",
			"schema": {
			  "type": "string"
			},
			"required": true
		  }
		],
		"responses": {
		  "200": {
			"description": "OK",
			"content": {
			  "application/json": {
				"schema": {
				  "type": "object"
				},
				"example": {
				  "success_code": true,
				  "response": {
					"success": true,
					"message": ""
				  }
				}
			  }
			}
		  }
		}
	  }
	},
	"/v1/merchant/orders/cart_cancel": {
	  "post": {
		"tags": [
		  "Merchant API"
		],
		"summary": "Cancel/Refund Order in Cart",
		"description": "This will attempt to cancel/refund orders with the originating order source/cart by specifying Shipment and Line items to cancel/refund. The cart's response will be returned. Not all carts support this functionality.\n\nYou may also find the Cancel/Refund Order Logs API endpoint useful to lookup previous cancellation requests.\n<br/><br/>\n**Note:** This call may take longer than others because CartRover will reach out to the shopping cart in real time and wait for a response.\n<br/>\n<br/>\n**Note:** API calls are limited to 10 orders per API Call.\n\n# Request\n\n### Array Request Fields\n|    Field Name    |    Data Type    |    Length    |    Required?    |    Description    |\n|--------------------|-----------------|--------------|-----------------|----------------------------------------------------------------------|\n|    cust_ref    |    String    |    16    |    Y    |    Unique Order Number    |\n|    cancel_order    |    Boolean    |  |    Y    |    Set TRUE to cancel order    |\n|    refund_note    |    String    |  |  |    Reasons to refund order    |\n|    cancel_note    |    String    |  |  |    Reasons to cancel order    |\n|    shipment    |    Array    |  |    Y    |    Array that contains shipment refund information    |\n|    items    |    Array    |  |  |    Array that contains detailed order items   refund/cancellation    |\n\n#### Shipment Array Fields\n|    Field Name    |    Data Type    |    Length    |    Required?    |    Description    |\n|----------------------------|-----------------|--------------|--------------------------------------------------------|---------------------------------------------------------------------------------------------------|\n|    full_shipping_refund    |    Boolean    |  |    Y    |    Set TRUE to refund all shipping/handling fees    |\n|    refund_amount    |    Float    |  |    Required if full_shipping_refund is set to FALSE    |    Specify shipment refund amount. Refund_amount cannot exceed   total shipping/handling fees.    |\n\n#### Items Array Fields\n|    Field Name    |    Data Type    |    Length    |    Required?    |    Description    |\n|-----------------------|-----------------|--------------|-----------------|--------------------------------------------------------|\n|    sku    |    String    |  |    Y    |    Unique sku that represents a product in an order    |\n|    cancel_quantity    |    Int    |  |    Y    |    Qty of the product to be refunded/cancelled    |\n\n\n# Response\n\n### Array Response Fields\n|    Field Name    |    Data Type    |    Length    |    Description    |\n|------------------|-----------------|--------------|-------------------------------------------|\n|    Orders    |    Array    |  |    detailed API response of each order    |\n\n#### Orders Array Fields\n|    Field Name    |    Data Type    |    Length    |    Description    |\n|----------------------------|-----------------|--------------|------------------------------------------------------------------------------------------------------|\n|    cust_ref    |    String    |  |    Unique Order Number    |\n|    order_cancel_success    |    Boolean    |  |    Order cancellation/refund status. TRUE represent success.    |\n|    server_response    |    String    |  |    Detailed API response message. Normally contains error   messages if Carts API request failed.    |",
		"requestBody": {
		  "content": {
			"*/*": {
			  "schema": {
				"type": "string",
				"example": "\"[\\n  {\\n    \\\"cust_ref\\\" : \\\"TEST01\\\",\\n    \\\"cancel_order\\\" : true,\\n    \\\"shipment\\\" : {\\n      \\\"full_shipping_refund\\\": true\\n    }\\n  },\\n  {\\n    \\\"cust_ref\\\" : \\\"TEST99\\\",\\n    \\\"cancel_order\\\" : true,\\n    \\\"shipment\\\" : {\\n      \\\"full_shipping_refund\\\": true\\n    }\\n  }\\n]\""
			  }
			}
		  }
		},
		"parameters": [
		  {
			"name": "Content-Type",
			"in": "header",
			"schema": {
			  "type": "string"
			},
			"example": "application/json"
		  }
		],
		"responses": {
		  "200": {
			"description": "OK",
			"content": {
			  "application/json": {
				"schema": {
				  "type": "object"
				},
				"example": {
				  "success_code": true,
				  "response": {
					"orders": [
					  {
						"cust_ref": "TEST01",
						"order_cancel_success": true,
						"server_response": ""
					  },
					  {
						"cust_ref": "TEST99",
						"order_cancel_success": false,
						"server_response": "Shopify cannot calculate refund amount. Server Response:\n [refund_line_items.quantity]: cannot refund more items than were purchased"
					  }
					]
				  }
				}
			  }
			}
		  }
		}
	  }
	},
	"/v1/cart/inventory/{ORDER_SOURCE}": {
	  "get": {
		"tags": [
		  "Merchant API"
		],
		"summary": "List Cart Inventory",
		"description": "Returns last known inventory levels for a specific cart. This is cached data that can be used to determine which SKUs exist for a given order source as well as what products and inventory levels the order source last reported (Generally refreshed every 4 hours). It may not be available for all carts at all times. Use the List Inventory endpoint to see what products and inventory CartRover actually has on file for the merchant.\n\n**Notices:**\n\n* This endpoint contains cart specific data which may differ depending on the cart connected.\n* There may be multiple results for a single SKU if the cart allows for it and has set up multiple/different products with the same SKU.\n\n**Note:** Any filters should be passed with the URL as GET arguments. \n### Filters\n|    Argument    |    Description    |\n|----------------|-----------------------------------------------------------------|\n|    limit    |    Number of products to return at once. Default 20, max 100    |\n|    page    |    Page of results to return. Default 1    |\n\n\n### Array Response Fields\n|    Field    |    Data Type    |    Length    |    Description    |\n|---------------------|-----------------|--------------|---------------------------------------------------------------------------|\n|    sku    |    String    |    45    |         |\n|    product_id    |    String    |         |    The internal ID of the main product from the cart. You shouldn't need this.    |\n|    product_variant_id    |    String    |         |    If this item has variants, this identifies this specific variant. You shouldn't need this.    |\n|    product_type    |    String    |         |    physical, virtual    |\n|    site_inventory_enabled    |    Boolean    |         |    Will return false if we detect the cart is not tracking inventory levels for this product, or doesn't care about them.    |\n|    last_cart_inventory    |    Int    |        |    Last inventory level pulled from or pushed to the cart. This is almost always the quantity Available. But for some carts this will be the quantity On Hand.     |\n|    date_checked    |    Timestamp    |        |     Time this record was last confirmed/verified.    |\n\n\n### Response Headers\n|    Field    |    Description    |\n|---------------------|---------------------------------------------------------------------------------------------------|\n|    Total-Records    |    Contains the total number of records that would have been   returned if there was no limit.    |",
		"parameters": [
		  {
			"name": "ORDER_SOURCE",
			"in": "path",
			"schema": {
			  "type": "string"
			},
			"required": true
		  }
		],
		"responses": {
		  "200": {
			"description": "OK",
			"content": {
			  "application/json": {
				"schema": {
				  "type": "object"
				},
				"example": {
				  "success_code": true,
				  "response": [
					{
					  "sku": "Sample_item_2",
					  "product_id": "1623500357750",
					  "product_variant_id": "14764751388790",
					  "product_type": "physical",
					  "site_inventory_enabled": true,
					  "last_cart_inventory": "1195",
					  "date_checked": "2021-02-04T20:55:50+00:00"
					},
					{
					  "sku": "Sample_item_3",
					  "product_id": "1623571202166",
					  "product_variant_id": "14765643202678",
					  "product_type": "physical",
					  "site_inventory_enabled": true,
					  "last_cart_inventory": "983",
					  "date_checked": "2021-02-04T20:55:49+00:00"
					},
					{
					  "sku": "zyx-123",
					  "product_id": "2050530345078",
					  "product_variant_id": "19361806745718",
					  "product_type": "physical",
					  "site_inventory_enabled": true,
					  "last_cart_inventory": "-2",
					  "date_checked": "2021-02-04T20:55:50+00:00"
					}
				  ]
				}
			  }
			}
		  }
		}
	  }
	},
	"/v1/merchant/inventory/update": {
	  "post": {
		"tags": [
		  "Merchant API"
		],
		"summary": "Update Inventory",
		"description": "Updates the inventory levels for products in CartRover. Inventory levels will be pushed to the Order Sources based on each cart's settings. CartRover will keep track of sales between the time you make this call and when the inventory is pushed to the shopping cart. If you pass a SKU that does not exist for the merchant in CartRover, it will be created dynamically and synced to any carts which have a matching SKU.\n\n**Note:** There is an API call limit of 100 products per call.\n\n# Request\n\n### Array Request Fields\n\n| Field Name | Data Type | Length | Required? | Description |\n| --- | --- | --- | --- | --- |\n| sku | String | 45 | Y | Unique product SKU |\n| qty_available | Int |  | Y | Available Quantity |\n| qty_on_hand | Int |  | N | On Hand Quantity. Generally not used. |\n| wms_datetime | Timestamp |  | N | Defaults to NOW if not specified. This should be the exact time the WMS verified the quantity. Timestamp will be used for sales calculations. |\n| wms_product_id | String | 45 | N | Product ID of this product in WMS system. |\n| description | String | 150 | N | Only loaded if product is brand new. Ignored during update. |\n| warehouse_pk | Int |  | N | Optionally specify which warehouse to load inventory into. If none provided, inventory will be loaded into default warehouse. You can get a list of available warehouses here: [List Warehouses: /merchant/warehouse/list](#35f15aef-59eb-404e-9087-dd7b38b88716) |\n| wms_warehouse_id | String |  | N | Optionally specify which warehouse to load inventory into using the wms_warehouse_id field. This value is set by your WMS. Ignored if warehouse_pk is provided. |\n| wms_warehouse_name | String |  | N | Optionally specify which warehouse to load inventory into using the wms_warehouse_name field. This value is set by your WMS. Ignored if warehouse_pk is provided. |\n\n# Response\n\n### Array Response Fields\n\n| Field Name | Data Type | Length | Description |\n| --- | --- | --- | --- |\n| products | Array |  | detailed API response of each product |\n\n### Orders Array Fields\n\n| Field Name | Data Type | Length | Description |\n| --- | --- | --- | --- |\n| sku | String | 45 | Unique product SKU |\n| success | Boolean |  | Was product inventory successfully updated |\n| qty_available | Int |  | New Available Quantity |\n| message | String |  | Message if product update failed |",
		"requestBody": {
		  "content": {
			"*/*": {
			  "schema": {
				"type": "string",
				"example": "\"[\\n  {\\n    \\\"sku\\\": \\\"CIO-1001\\\",\\n    \\\"qty_available\\\": \\\"11\\\",\\n    \\\"qty_on_hand\\\": \\\"15\\\"\\n  },\\n  {\\n    \\\"sku\\\": \\\"CIO-1002\\\",\\n    \\\"qty_available\\\": \\\"22\\\",\\n    \\\"qty_on_hand\\\": \\\"20\\\",\\n    \\\"wms_datetime\\\": \\\"2016-08-27T02:24:58+00:00\\\"\\n  },\\n  {\\n    \\\"sku\\\": \\\"CIO-1003\\\",\\n    \\\"qty_available\\\": \\\"33\\\",\\n    \\\"qty_on_hand\\\": \\\"30\\\",\\n    \\\"wms_datetime\\\": \\\"2016-08-27T02:24:58+00:00\\\"\\n  },\\n  {\\n    \\\"sku\\\": \\\"CIO-1004\\\"\\n  }\\n]\""
			  }
			}
		  }
		},
		"parameters": [
		  {
			"name": "Content-Type",
			"in": "header",
			"schema": {
			  "type": "string"
			},
			"example": "application/json"
		  }
		],
		"responses": {
		  "200": {
			"description": "OK",
			"content": {
			  "application/json": {
				"schema": {
				  "type": "object"
				},
				"example": {
				  "success_code": true,
				  "response": {
					"products": [
					  {
						"sku": "CIO-1001",
						"success": true,
						"qty_available": "10"
					  },
					  {
						"sku": "CIO-1002",
						"success": true,
						"qty_available": "20"
					  },
					  {
						"sku": "CIO-1003",
						"success": true,
						"qty_available": "30"
					  }
					]
				  }
				}
			  }
			}
		  }
		}
	  }
	},
	"/v1/merchant/alerts": {
	  "get": {
		"tags": [
		  "Merchant API"
		],
		"summary": "List Alerts",
		"description": "Returns all outstanding alerts for this merchant.\n\n### Filters\nAll filters should be passed in the URL as GET arguments.\n\n|    Argument    |    Description    |\n|------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n|    include_dismissed    |    Y or N. Default N. If Y, Alerts that are no longer active will also be returned    |\n\n\n### Array Response Fields\n|    Field    |    Data Type    |    Length    |    Description    |\n|---------------------|-----------------|--------------|---------------------------------------------------------------------------|\n|    notification_pk    |    Int    |        |    Unique identifier for this alert     |\n|    first_datetime    |    Timestamp    |         |    Time error first occurred    |\n|    last_datetime    |    Timestamp    |         |    Time error most recently occurred or was resolved    |\n|    subject    |    String    |         |    Alert subject line / Summary   |\n|    message    |    String    |         |    Alert message details. May contain newline characters \"\\n\"   |\n|    error_type    |    String    |         |   Which process failed. Eg: INVENTORYUPLOAD, ORDERDOWNLOAD, WMSORDERSEND, SHIPCONF    |\n|    error_id    |    String    |         |   Specific record that failed. Could be an order number or a product sku    |\n|    duplicates    |    Int    |         |   Count of number of times this exact error occurrend    |\n|    order_source    |    String    |         |   Order Source name of affected cart. Blank if this not a cart level error.     |\n|    dismissed_sw    |    Boolean    |         |    true if alert has already been dismissed    |\n|    resolved_automatically    |    Boolean    |     |    true if system auto-resolved this alert. For this to be true, dismissed_sw must also be true    |",
		"responses": {
		  "200": {
			"description": "OK",
			"content": {
			  "application/json": {
				"schema": {
				  "type": "object"
				},
				"example": {
				  "success_code": true,
				  "response": [
					{
					  "notification_pk": "598103",
					  "first_datetime": "2020-05-13T00:04:20+00:00",
					  "last_datetime": "2020-05-13T00:04:20+00:00",
					  "subject": "Error retrieving orders",
					  "message": "FTP ERROR: FTP: (ftp.server.com ftpuser) Ftp connect to <ftp.server.coms> failed! (101) \nConection mode is: PASSIVE",
					  "error_type": "ORDERDOWNLOAD",
					  "error_id": null,
					  "duplicates": "1",
					  "order_source": "CSV",
					  "dismissed_sw": false,
					  "resolved_automatically": false
					},
					{
					  "notification_pk": "10078056",
					  "first_datetime": "2020-04-29T13:23:32+00:00",
					  "last_datetime": "2020-04-29T13:23:32+00:00",
					  "subject": "Failed getting Shipment Status from WMS",
					  "message": "Error message: Invalid API Key",
					  "error_type": "WMSSHIPCONF",
					  "error_id": null,
					  "duplicates": "2",
					  "order_source": "",
					  "dismissed_sw": true,
					  "resolved_automatically": true
					}
				  ]
				}
			  }
			}
		  }
		}
	  }
	},
	"/v1/merchant/orders/cart_cancel/record/{CUST_REF}": {
	  "get": {
		"tags": [
		  "Merchant API"
		],
		"summary": "Request Cancel/Refund Logs",
		"description": "Retrieves an order's cancel/refund logs by using cust_ref.\n\n### Response Fields\n|    Field    |    Data Type    |    Length    |    Description    |\n|-------------------------|-----------------|--------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n|    item    |    String    |  |    the unique SKU of order line item.   * SHIPPING\\_REFUND * represents shipping/handling fees refund.   * ORDER_CANCELED * represents that order has been canceled.    |\n|    cancel\\_refund_qty    |    Int    |  |    Qty of canceled item.    |\n|    total\\_refund    |    Float    |  |    Total refund for that item with cancel\\_refund\\_qty    |\n|    date    |    Timestamp    |  |    ISO-8601, UTC timezone    |",
		"parameters": [
		  {
			"name": "CUST_REF",
			"in": "path",
			"schema": {
			  "type": "string"
			},
			"required": true
		  }
		],
		"responses": {
		  "200": {
			"description": "OK",
			"content": {
			  "application/json": {
				"schema": {
				  "type": "object"
				},
				"example": {
				  "success_code": true,
				  "response": [
					{
					  "item": "* SHIPPING_REFUND *",
					  "cancel_refund_qty": "",
					  "total_refund": "1.00",
					  "date": "2016-09-28T20:16:58+00:00"
					},
					{
					  "item": "CIO-3001",
					  "cancel_refund_qty": "1",
					  "total_refund": "49.99",
					  "date": "2016-09-28T20:16:58+00:00"
					},
					{
					  "item": "CIO-3001",
					  "cancel_refund_qty": "6",
					  "total_refund": "299.94",
					  "date": "2016-09-28T20:16:58+00:00"
					},
					{
					  "item": "* ORDER_CANCELED *",
					  "cancel_refund_qty": "",
					  "total_refund": "",
					  "date": "2016-09-28T20:16:58+00:00"
					},
					{
					  "item": "* SHIPPING_REFUND *",
					  "cancel_refund_qty": "",
					  "total_refund": "6.95",
					  "date": "2016-09-28T20:16:58+00:00"
					}
				  ]
				}
			  }
			}
		  }
		}
	  }
	},
	"/v1/cart/shipmethod/list/{ORDER_SOURCE}": {
	  "get": {
		"tags": [
		  "Merchant API"
		],
		"summary": "List Cart Ship Methods",
		"description": "Takes a specific order_source and returns the list of ship methods that have been seen from that order source. This can be used to map codes to WMS codes. This list will be automatically populated as new codes are seen from the order source.\n\nA list of order sources for each merchant can be found using the endpoint: List Setup Carts: /cart/list\n\n### Response Fields\n|    Field    |    Data Type    |    Length    |    Description    |\n|-----------------------------|-----------------|--------------|------------------------------------------------------------|\n|    cart_code    |    String    |    150    |    Code Sent from order source    |\n|    wms_code    |    String    | 45 |    Code this will be mapped to in the warehouse    |\n|    description    |    String    | 150 | Description of wms_code |\n|    last_seen    |    Timestamp    |  | The time this ship method was last sent to CartRover in an order.",
		"parameters": [
		  {
			"name": "ORDER_SOURCE",
			"in": "path",
			"schema": {
			  "type": "string"
			},
			"required": true
		  }
		],
		"responses": {
		  "200": {
			"description": "OK",
			"content": {
			  "application/json": {
				"schema": {
				  "type": "object"
				},
				"example": {
				  "success_code": true,
				  "response": [
					{
					  "cart_code": "",
					  "wms_code": "01",
					  "description": "USPS First Class Mail",
					  "last_seen": "2016-08-27T02:24:58+00:00"
					},
					{
					  "cart_code": "standard",
					  "wms_code": "09",
					  "description": "USPS Priority Mail",
					  "last_seen": "2016-08-27T02:24:23+00:00"
					}
				  ]
				}
			  }
			}
		  }
		}
	  }
	},
	"/v1/merchant/skipped_orders": {
	  "get": {
		"tags": [
		  "Merchant API"
		],
		"summary": "List Skipped Orders",
		"description": "Returns a list of all skipped orders matching the given arguments. Skipped orders are orders sent to CartRover but not loaded because they did not match all required filters (eg. status, date, country filter, etc). Orders will not appear in this list if the order source filtered them out before sending them to CartRover.\r\n\r\n### Arguments\r\nAny arguments should be passed with the URL as GET arguments.\r\n\r\n|    Argument    |    Description    |\r\n|------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\r\n|    from_date    |    Optional Timestamp. Ensure proper URL encoding    |\r\n|    to_date    |    Optional Timestamp    |\r\n|    order_source    |    Optional. To get a list call List Setup Carts: /cart/list   Warning: some sources like CSV carts allow   for multiple order sources in the same cart. There is no way to lookup if   additional sources have been used by a CSV cart.    |\r\n|    limit    |    Number of orders to return at once. Default 20, max 100    |\r\n|    page    |    Page of results to return. Default 1    |\r\n\r\n### Response Fields\r\n\r\nThe response will contain an array of skipped orders and include the filter reason, filter date and the filter value if applicable.",
		"responses": {
		  "200": {
			"description": "Successful response",
			"content": {
			  "application/json": {}
			}
		  }
		}
	  }
	},
	"/v1/cart/new": {
	  "post": {
		"tags": [
		  "Merchant API"
		],
		"summary": "New Cart",
		"description": "Set up a new Order Source connection to CartRover\n\n### Post Fields\n|    Field    |    Data Type    |    Length    |    Required?    |    Description    |\n|------------------|-----------------|--------------|-----------------|---------------------------------------------------------------------------------------------------------------------------------------------------------|\n|    cart_id    |    String    |        |    Y    |    Which cart to set up. See [/cart/listall](#a1c8ccd4-c9e2-4998-9997-5aeb31601f41)    |\n|    user_key    |    String    |  |    N    |    User name/id for this API connection, if needed.    |\n|    password    |    String    |  |    N    |    User password for this API connection, if needed.    |\n|    server_id    |    String    | 250 |    N    |    Server URL for this connection, if needed.    |\n|    description    |    String    | 100 |    N    |    Optional brief description for this connection    |\n|    extra_params    |    Array    |  |  |    Array of additional settings to set for this cart. You can get a list of valid settings for each cart from the [/cart/listall](#a1c8ccd4-c9e2-4998-9997-5aeb31601f41) endpoint and valid WMS options from the [/wms/params](#99aefc50-34e7-4fa5-b944-9cbb24eaf594) endpoint.    |\n|    schedules    |    Array    |  |  |    A list of schedules to set with the keys: order, confirm, inventory. Pass \"ON\" or \"OFF\" for each value.   |\n\n### Array Response Fields\n|    Field    |    Data Type    |    Length    |    Description    |\n|----------------|-----------------|--------------|---------------------------------|\n|    order_source   |    String    |  |    Order Source assigned to this connection    |\n|    oauth_link    |    String    |  |    If this connection requires the user to grant access using oauth, it will be provided here.   |\n|    test_success    |    Boolean    |  |    Did we successfully connect to the cart.   |\n|    test_message    |    String    |  |    A testing result message will be returned. It may be an error message, or brief instructions if additional setup is needed.   |\n|    extra_params    |    Array    |  |    List of all params set and their values, even if they are the system default.   |\n|    schedules    |    Array    |  |    List of service schedules: order, confirm, inventory. A value of 0 is OFF, anything else means ON.   |",
		"requestBody": {
		  "content": {
			"application/json": {
			  "schema": {
				"type": "object",
				"example": {
				  "cart_id": "Amazon_US",
				  "user_key": "123AMAZONSELLERID456",
				  "password": "123MWSAUTHTOKEN456",
				  "description": "USA Seller Fulfilled",
				  "schedules": {
					"order": "OFF",
					"confirm": "ON",
					"inventory": "ON"
				  },
				  "extra_params": {
					"item_field": "ASIN",
					"refund_delay": "N",
					"prime_ship_code": "PrimeOrder"
				  }
				}
			  }
			}
		  }
		},
		"responses": {
		  "200": {
			"description": "OK",
			"content": {
			  "application/json": {
				"schema": {
				  "type": "object"
				},
				"example": {
				  "success_code": true,
				  "response": {
					"order_source": "Amazon_US",
					"user_key": "123AMAZONSELLERID456",
					"server_id": null,
					"description": "USA Seller Fulfilled",
					"discontinued": false,
					"icon": "https://app.cartrover.com/img/carts/amazon.png",
					"extra_params": {
					  "default_unmapped_ship_code": ":PASSTHROUGH:",
					  "reject_unmapped_ship_codes": "N",
					  "reject_cass_error": "Y",
					  "validate_address": "N",
					  "earliest_order_date": "2020-09-06",
					  "sync_warehouse": "ALL",
					  "inventory_sync_alias": "sku",
					  "blank_sku_action": "allow",
					  "minimum_inventory_level": 0,
					  "translate_item_code": "cart_sku",
					  "item_field": "ASIN",
					  "prime_ship_code_prefix": "",
					  "prime_carrier": "",
					  "prime_ship_code": "PrimeOrder",
					  "prime_writeback": "N",
					  "load_prime_orders": "all",
					  "refund_delay": "N",
					  "load_shipped_orders": "N",
					  "fulfillment_channel": "MFN",
					  "amazon_fulfill_latency": 2,
					  "send_amazon_latency": "N"
					},
					"schedules": {
					  "order": 0,
					  "confirm": 0,
					  "inventory": 0
					},
					"test_success": false,
					"test_message": "Please include all required Amazon credentials. "
				  }
				}
			  }
			}
		  }
		}
	  }
	},
	"/v1/cart/list/{ORDER_SOURCE}": {
	  "get": {
		"tags": [
		  "Merchant API"
		],
		"summary": "Get Cart",
		"description": "Get the details for a specific order source setup. Some API credentials provided when setting up the connection may not be returned in this call.\n\n### Filters\n|    Argument    |    Description    |\n|--------------------|-----------------------|\n|    test_cart    |    Y or N. Default N   If Y, the cart connection will be tested and the result included in the response.    |\n\n### Array Response Fields\n|    Field    |    Data Type    |    Length    |    Description    |\n|----------------|-----------------|--------------|---------------------------------|\n|    order_source   |    String    |  |    Order Source assigned to this connection    |\n|    description   |    String    |  |    Description provided during setup if available    |\n|    user_key    |    String    |  |    User Name/ID for this connection if it can be shared.   |\n|    server_id    |    String    |  |    Server URL for this connection, if available.   |\n|    discontinued    |    Boolean    |  |    Has this connection been disabled/discontinued?   |\n|    icon    |    String    |  |    Full url path to image of cart logo for hotlinking.<br>Dimensions: 64x64 px<br>Format: Transparent png   |\n|    test_success    |    Boolean    |  |    Did we successfully connect to the cart.   |\n|    test_message    |    String    |  |    A testing result message will be returned. It may be an error message, or brief instructions if additional setup is needed.   |\n|    extra_params    |    Array    |  |    List of all params set and their values, even if they are the system default.   |\n|    schedules    |    Array    |  |    List of service schedules: order, confirm, inventory. A value of 0 is OFF, anything else means ON.   |",
		"parameters": [
		  {
			"name": "ORDER_SOURCE",
			"in": "path",
			"schema": {
			  "type": "string"
			},
			"required": true
		  }
		],
		"responses": {
		  "200": {
			"description": "Successful response",
			"content": {
			  "application/json": {}
			}
		  }
		}
	  }
	},
	"/v1/cart/edit/{ORDER_SOURCE}": {
	  "post": {
		"tags": [
		  "Merchant API"
		],
		"summary": "Update Cart",
		"description": "Update the settings for a specific order source connection.\n\n### Filters\n|    Argument    |    Description    |\n|--------------------|-----------------------|\n|    test_cart    |    Y or N. Default N   If Y, the cart connection will be tested and the result included in the response.    |\n|    new_oauth_link    |    Y or N. Default N   If Y and the cart uses oauth, a new oauth link will be generated and returned.    |\n\n### Post Fields\n|    Field    |    Data Type    |    Length    |    Required?    |    Description    |\n|------------------|-----------------|--------------|-----------------|---------------------------------------------------------------------------------------------------------------------------------------------------------|\n|    user_key    |    String    |  |    N    |    User name/id for this API connection, if needed.    |\n|    password    |    String    |  |    N    |    User password for this API connection, if needed.    |\n|    server_id    |    String    | 250 |    N    |    Server URL for this connection, if needed.    |\n|    description    |    String    | 100 |    N    |    Optional brief description for this connection    |\n|    extra_params    |    Array    |  |  |    Array of additional settings to set for this cart. You can get a list of valid settings for each cart from the [/cart/listall](#a1c8ccd4-c9e2-4998-9997-5aeb31601f41) endpoint and valid WMS options from the [/wms/params](#99aefc50-34e7-4fa5-b944-9cbb24eaf594) endpoint.    |\n|    schedules    |    Array    |  |  |    A list of schedules to update with the keys: order, confirm, inventory. Pass \"ON\" or \"OFF\" for each value.    |\n|    disable    |    Boolean    |  |  |    Pass true to disable a connection. Pass false to re-enable it. Disabled connections are not billed in the next billing cycle.    |\n|    delete    |    Boolean    |  |  |    Pass true to delete a connection entirely. This cannot be undone.    |\n\n### Array Response Fields\n|    Field    |    Data Type    |    Length    |    Description    |\n|----------------|-----------------|--------------|---------------------------------|\n|    order_source   |    String    |  |    Order Source assigned to this connection    |\n|    oauth_link    |    String    |  |    If this connection uses oauth and a new link was requested, it will be provided here.   |\n|    test_success    |    Boolean    |  |    If requested, did we successfully connect to the cart. Test is skipped if new oauth link was requested.   |\n|    test_message    |    String    |  |    If testing occurred, a0 testing result message will be returned. It may be an error message, or brief instructions if additional setup is needed.   |\n|    extra_params    |    Array    |  |    List of all params set and their values, even if they are the system default.   |\n|    schedules    |    Array    |  |    List of service schedules: order, confirm, inventory. A value of 0 is OFF, anything else means ON.   |",
		"requestBody": {
		  "content": {
			"application/json": {
			  "schema": {
				"type": "object",
				"example": {
				  "user_key": "123AMAZONSELLERID456",
				  "password": "123MWSAUTHTOKEN456",
				  "description": "USA Seller Fulfilled",
				  "schedules": {
					"order": "ON",
					"confirm": "ON",
					"inventory": "OFF"
				  },
				  "extra_params": {
					"item_field": "ASIN",
					"refund_delay": "N",
					"prime_ship_code": "PrimeOrder"
				  }
				}
			  }
			}
		  }
		},
		"parameters": [
		  {
			"name": "ORDER_SOURCE",
			"in": "path",
			"schema": {
			  "type": "string"
			},
			"required": true
		  }
		],
		"responses": {
		  "200": {
			"description": "Successful response",
			"content": {
			  "application/json": {}
			}
		  }
		}
	  }
	},
	"/v1/wms/params": {
	  "get": {
		"tags": [
		  "Warehouse API"
		],
		"summary": "List WMS Params",
		"description": "Get a list of parameters used to configure this warehouse. This will include the available parameters for the following levels: WMS, Merchant, Cart\n\n### Array Response Fields\n| Field | Data Type | Length | Description |\n|-------|-------|-------|-------|\n| wms | Array |  | List of available WMS setup params, a description, and allowed values |\n| merchant | Array |  | List of available Merchant setup params, a description, and allowed values |\n| cart | Array |  | List of available Cart setup params, a description, and allowed values |",
		"parameters": [
		  {
			"name": "Content-Type",
			"in": "header",
			"schema": {
			  "type": "string"
			},
			"example": "application/json"
		  }
		],
		"responses": {
		  "200": {
			"description": "Successful response",
			"content": {
			  "application/json": {}
			}
		  }
		}
	  }
	},
	"/v1/wms/edit": {
	  "post": {
		"tags": [
		  "Warehouse API"
		],
		"summary": "Edit WMS",
		"description": "Edit WMS info including WMS System and wms parameters. Any fields left off will be left as-is.\n\n### Post Fields\n|    Field    |    Data Type    |    Length    |    Required?    |    Description    |\n|------------------|-----------------|--------------|-----------------|---------------------------------------------------------------------------------------------------------------------------------------------------------|\n|   wms_name   |   String   |  |  N  |   Change which WMS System to connect this account to.  |\n|    wms_params    |    Array    |  |  N  |    Array of WMS level param values to set for this account. You can   get a list of valid values from the wms section of the [/wms/params](#99aefc50-34e7-4fa5-b944-9cbb24eaf594)   endpoint.    |",
		"requestBody": {
		  "content": {
			"*/*": {
			  "schema": {
				"type": "string",
				"example": "\"{\\r\\n  \\\"wms_name\\\": \\\"WMS_3PL\\\",\\r\\n  \\\"wms_params\\\": {\\r\\n  \\t\\\"ownerCode\\\": \\\"123\\\"\\r\\n  }\\r\\n}\""
			  }
			}
		  }
		},
		"parameters": [
		  {
			"name": "Content-Type",
			"in": "header",
			"schema": {
			  "type": "string"
			},
			"example": "application/json"
		  }
		],
		"responses": {
		  "200": {
			"description": "OK",
			"content": {
			  "application/json": {
				"schema": {
				  "type": "object"
				},
				"example": {
				  "success_code": true
				}
			  }
			}
		  }
		}
	  }
	},
	"/v1/wms/merchant": {
	  "post": {
		"tags": [
		  "Warehouse API"
		],
		"summary": "New Merchant",
		"description": "Creates a new merchant user and returns API credentials for that merchant.\n\n### Post Fields\n|    Field    |    Data Type    |    Length    |    Required?    |    Description    |\n|------------------|-----------------|--------------|-----------------|---------------------------------------------------------------------------------------------------------------------------------------------------------|\n|    name    |    String    |    80    |    Y    |    Name of Merchant    |\n|    user    |    Array    |  |    N    |    Optionally create a new user for this merchant. User will receive a password setup email.    |\n|    wms_params    |    Array    |  |  |    Array of WMS param values to set for this merchant. You can get a list of valid values from the merchant section of the /wms/params endpoint.    |\n\n### User Array\n|    Field    |    Data Type    |    Length    |    Required    |    Description    |\n|-------------|-----------------|--------------|----------------|-------------------|\n|    email    |    String    |    255    |    Y    |    User email    |\n|    name    |    String    |    45    |    Y    |    User Name    |\n\n### Array Response Fields\n|    Field    |    Data Type    |    Length    |    Description    |\n|----------------|-----------------|--------------|---------------------------------|\n|    api_user    |    String    |  |    API User for new Merchant    |\n|    api_key    |    String    |  |    API Key for new Merchant    |",
		"requestBody": {
		  "content": {
			"*/*": {
			  "schema": {
				"type": "string",
				"example": "\"{\\r\\n  \\\"name\\\": \\\"Test API Merch\\\"\\r\\n}\""
			  }
			}
		  }
		},
		"parameters": [
		  {
			"name": "Content-Type",
			"in": "header",
			"schema": {
			  "type": "string"
			},
			"example": "application/json"
		  }
		],
		"responses": {
		  "200": {
			"description": "Successful response",
			"content": {
			  "application/json": {}
			}
		  }
		}
	  }
	},
	"/v1/wms/merchant/list": {
	  "get": {
		"tags": [
		  "Warehouse API"
		],
		"summary": "List Merchants",
		"description": "This will return all merchants belonging to the WMS account. \n\n### Response Fields\nThe response is a numerically indexed array with each element containing the following keys.\n\n|     Field      |     Data Type         |     Length      |     Description         |\n|-------------------|-----------------------|-----------------|----------------------------------|\n|    merchant_pk    |    Int    |        |   CartRover merchant ID    |\n|    name    |    String    |        |    Merchant Name    |\n|    discontinued_sw    |    String    |        |    Y or N. Y for disabled.    |",
		"responses": {
		  "200": {
			"description": "OK",
			"content": {
			  "application/json": {
				"schema": {
				  "type": "object"
				},
				"example": {
				  "success_code": true,
				  "response": [
					{
					  "merchant_pk": "265",
					  "name": "test-1-merchant-1"
					},
					{
					  "merchant_pk": "278",
					  "name": "test-1-merchant-2"
					},
					{
					  "merchant_pk": "279",
					  "name": "test-1-merchant-3"
					},
					{
					  "merchant_pk": "280",
					  "name": "test-11@sample.com"
					}
				  ]
				}
			  }
			}
		  }
		}
	  }
	},
	"/v1/wms/orders/cart_cancel": {
	  "post": {
		"tags": [
		  "Warehouse API"
		],
		"summary": "Cancel/Refund Order in Cart",
		"description": "This will attempt to cancel/refund orders with the originating order source/cart by specifying Shipment and Line items to cancel/refund. The cart's response will be returned. Not all carts support this functionality.\n\nYou may also find the Cancel/Refund Order Logs API endpoint useful to lookup previous cancellation requests.\n<br/><br/>\n**Note:** This call may take longer than others because CartRover will reach out to the shopping cart in real time and wait for a response.\n<br/>\n<br/>\n**Note:** API calls are limited to 10 orders per API Call.\n\n# Request\n\n### Array Request Fields\n|    Field Name    |    Data Type    |    Length    |    Required?    |    Description    |\n|--------------------|-----------------|--------------|-----------------|----------------------------------------------------------------------|\n|    cust_ref    |    String    |    16    |    Y    |    Unique Order Number    |\n|    cancel_order    |    Boolean    |  |    Y    |    Set TRUE to cancel order    |\n|    refund_note    |    String    |  |  |    Reasons to refund order    |\n|    cancel_note    |    String    |  |  |    Reasons to cancel order    |\n|    merchant_pk    |    Int    |  | Y |    CartRover merchant ID. See [List Merchants](#0991239e-1562-4698-9f97-9341f36b1228)     |\n|    shipment    |    Array    |  |    Y    |    Array that contains shipment refund information    |\n|    items    |    Array    |  |  |    Array that contains detailed order items   refund/cancellation    |\n\n#### Shipment Array Fields\n|    Field Name    |    Data Type    |    Length    |    Required?    |    Description    |\n|----------------------------|-----------------|--------------|--------------------------------------------------------|---------------------------------------------------------------------------------------------------|\n|    full_shipping_refund    |    Boolean    |  |    Y    |    Set TRUE to refund all shipping/handling fees    |\n|    refund_amount    |    Float    |  |    Required if full_shipping_refund is set to FALSE    |    Specify shipment refund amount. Refund_amount cannot exceed   total shipping/handling fees.    |\n\n#### Items Array Fields\n|    Field Name    |    Data Type    |    Length    |    Required?    |    Description    |\n|-----------------------|-----------------|--------------|-----------------|--------------------------------------------------------|\n|    sku    |    String    |  |    Y    |    Unique sku that represents a product in an order    |\n|    cancel_quantity    |    Int    |  |    Y    |    Qty of the product to be refunded/cancelled    |\n\n\n# Response\n\n### Array Response Fields\n|    Field Name    |    Data Type    |    Length    |    Description    |\n|------------------|-----------------|--------------|-------------------------------------------|\n|    Orders    |    Array    |  |    detailed API response of each order    |\n\n#### Orders Array Fields\n|    Field Name    |    Data Type    |    Length    |    Description    |\n|----------------------------|-----------------|--------------|------------------------------------------------------------------------------------------------------|\n|    cust_ref    |    String    |  |    Unique Order Number    |\n|    order_cancel_success    |    Boolean    |  |    Order cancellation/refund status. TRUE represent success.    |\n|    server_response    |    String    |  |    Detailed API response message. Normally contains error   messages if Carts API request failed.    |",
		"requestBody": {
		  "content": {
			"*/*": {
			  "schema": {
				"type": "string",
				"example": "\"[\\n  {\\n    \\\"cust_ref\\\" : \\\"TEST01\\\",\\n    \\\"merchant_pk\\\" : 2319,\\n    \\\"cancel_order\\\" : true,\\n    \\\"shipment\\\" : {\\n      \\\"full_shipping_refund\\\": true\\n    }\\n  },\\n  {\\n    \\\"cust_ref\\\" : \\\"TEST99\\\",\\n    \\\"merchant_pk\\\" : 2319,\\n    \\\"cancel_order\\\" : true,\\n    \\\"shipment\\\" : {\\n      \\\"full_shipping_refund\\\": true\\n    }\\n  }\\n]\""
			  }
			}
		  }
		},
		"parameters": [
		  {
			"name": "Content-Type",
			"in": "header",
			"schema": {
			  "type": "string"
			},
			"example": "application/json"
		  }
		],
		"responses": {
		  "200": {
			"description": "OK",
			"content": {
			  "application/json": {
				"schema": {
				  "type": "object"
				},
				"example": {
				  "success_code": true,
				  "response": {
					"orders": [
					  {
						"cust_ref": "TEST01",
						"order_cancel_success": true,
						"server_response": ""
					  },
					  {
						"cust_ref": "TEST99",
						"order_cancel_success": false,
						"server_response": "Shopify cannot calculate refund amount. Server Response:\n [refund_line_items.quantity]: cannot refund more items than were purchased"
					  }
					]
				  }
				}
			  }
			}
		  }
		}
	  }
	},
	"/v1/wms/orders/cart_cancel/record/{MERCHANT_PK}/{CUST_REF}": {
	  "get": {
		"tags": [
		  "Warehouse API"
		],
		"summary": "Request Cancel/Refund Logs",
		"description": "Retrieves an order's cancel/refund logs by using cust_ref.\n\n### Response Fields\n|    Field    |    Data Type    |    Length    |    Description    |\n|-------------------------|-----------------|--------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n|    item    |    String    |  |    the unique SKU of order line item.   * SHIPPING\\_REFUND * represents shipping/handling fees refund.   * ORDER_CANCELED * represents that order has been canceled.    |\n|    cancel\\_refund_qty    |    Int    |  |    Qty of canceled item.    |\n|    total\\_refund    |    Float    |  |    Total refund for that item with cancel\\_refund\\_qty    |\n|    date    |    Timestamp    |  |    ISO-8601, UTC timezone    |",
		"parameters": [
		  {
			"name": "MERCHANT_PK",
			"in": "path",
			"schema": {
			  "type": "string"
			},
			"required": true
		  },
		  {
			"name": "CUST_REF",
			"in": "path",
			"schema": {
			  "type": "string"
			},
			"required": true
		  }
		],
		"responses": {
		  "200": {
			"description": "OK",
			"content": {
			  "application/json": {
				"schema": {
				  "type": "object"
				},
				"example": {
				  "success_code": true,
				  "response": [
					{
					  "item": "* SHIPPING_REFUND *",
					  "cancel_refund_qty": "",
					  "total_refund": "1.00",
					  "date": "2016-09-28T20:16:58+00:00"
					},
					{
					  "item": "CIO-3001",
					  "cancel_refund_qty": "1",
					  "total_refund": "49.99",
					  "date": "2016-09-28T20:16:58+00:00"
					},
					{
					  "item": "CIO-3001",
					  "cancel_refund_qty": "6",
					  "total_refund": "299.94",
					  "date": "2016-09-28T20:16:58+00:00"
					},
					{
					  "item": "* ORDER_CANCELED *",
					  "cancel_refund_qty": "",
					  "total_refund": "",
					  "date": "2016-09-28T20:16:58+00:00"
					},
					{
					  "item": "* SHIPPING_REFUND *",
					  "cancel_refund_qty": "",
					  "total_refund": "6.95",
					  "date": "2016-09-28T20:16:58+00:00"
					}
				  ]
				}
			  }
			}
		  }
		}
	  }
	},
	"/v1/master/list_sub": {
	  "get": {
		"tags": [
		  "Master API"
		],
		"summary": "List Sub Accounts",
		"description": "Get a list of all Sub Accounts\n\n**Note:** Any filters should be passed with the URL as GET arguments. \n### Filters\n|    Argument    |    Description    |\n|----------------|-----------------------------------------------------------------|\n|    include_discontinued    |    N or Y. Default N. If Y, accounts that have been discontinued will be returned as well    |\n\n### Response Fields\n|     Field      |     Data Type         |     Length      |     Description         |\n|-------------------|-----------------------|-----------------|----------------------------------|\n|    warehouses    |    Array    |        |   List of Warehouse sub-accounts    |\n|    merchants    |    Array    |        |    List of Merchant sub-accounts    |\n\n#### warehouses Fields\nwarehouses is a numerically indexed array with each element containing the following keys.\n\n|     Field      |     Data Type         |     Length      |     Description         |\n|-------------------|-----------------------|-----------------|----------------------------------|\n|    fclient_pk    |    Int    |        |   CartRover warehouse ID    |\n|    company    |    String    |        |    Warehouse Company Name    |\n|    discontinued_sw    |    String    |        |    Y or N. Y for disabled.    |\n\n#### merchants Fields\nmerchants is a numerically indexed array with each element containing the following keys.\n\n|     Field      |     Data Type         |     Length      |     Description         |\n|-------------------|-----------------------|-----------------|----------------------------------|\n|    merchant_pk    |    Int    |        |   CartRover merchant ID    |\n|    company    |    String    |        |    Merchant Company Name    |\n|    discontinued_sw    |    String    |        |    Y or N. Y for disabled.    |",
		"responses": {
		  "200": {
			"description": "OK",
			"content": {
			  "application/json": {
				"schema": {
				  "type": "object"
				},
				"example": {
				  "success_code": true,
				  "response": {
					"warehouses": [
					  {
						"fclient_pk": "227",
						"company": "My TEST FF",
						"discontinued_sw": "N"
					  }
					],
					"merchants": [
					  {
						"merchant_pk": "862",
						"company": "Big Hats",
						"discontinued_sw": "N"
					  },
					  {
						"merchant_pk": "861",
						"company": "Car Part Depot",
						"discontinued_sw": "N"
					  }
					]
				  }
				}
			  }
			}
		  }
		}
	  }
	},
	"/v1/master/merchant": {
	  "post": {
		"tags": [
		  "Master API"
		],
		"summary": "New Merchant Sub Account",
		"description": "Create a new Standalone Merchant account.\n\n### Post Fields\n|    Field    |    Data Type    |    Length    |    Required?    |    Description    |\n|------------------|-----------------|--------------|-----------------|---------------------------------------------------------------------------------------------------------------------------------------------------------|\n|    company    |    Array    |  |    Y    |    Company details    |\n|    user       |    Array    |  |    N    |    Optionally create a new user for this merchant.    |\n|    wms    |    Array    |  |    N    |    Order Destination Info    |\n\n### Company Array\n|    Field    |    Data Type    |    Length    |    Required    |    Description    |\n|-------------|-----------------|--------------|----------------|-------------------|\n|    company    |    String    |    45    |    Y    |    Company Name    |\n|    phone    |    String    |    45    |    N    |    Company Phone Number    |\n\n### User Array\n|    Field    |    Data Type    |    Length    |    Required    |    Description    |\n|-------------|-----------------|--------------|----------------|-------------------|\n|    name    |    String    |    45    |    Y    |    User Name    |\n|    email    |    String    |    255    |    Y    |    User email    |\n|    password    |    String    |    45    |    N   |   Account activation will be sent if you send the user object with no password.     |\n|    repeat_password    |    String    |    45    |    N    |   Must match the password     |\n\n### wms Array\n|    Field    |    Data Type    |    Length    |    Required    |    Description    |\n|-------------|-----------------|--------------|----------------|-------------------|\n|    wms_name    |    String    |        |    Y    |    Which WMS should be setup?    |\n|    merchant_params    |    Array    |  |  N  |    Array of WMS Merchant level param values to set for this merchant. You can   get a list of valid values from the merchant section of the [/wms/params](#99aefc50-34e7-4fa5-b944-9cbb24eaf594)   endpoint.    |\n|    wms_params    |    Array    |  |  N  |    Array of WMS level param values to set for this account. You can   get a list of valid values from the wms section of the [/wms/params](#99aefc50-34e7-4fa5-b944-9cbb24eaf594)   endpoint. NOTE: This section only usable by independant Merchant accounts, not ones that belong to a warehouse account.    |\n|   schedules   |   Array   |  |  N  |   A list of schedules to update with the keys: order, confirm, inventory. Pass \"ON\" or \"OFF\" for each value.  |\n\n### Array Response Fields\n|    Field    |    Data Type    |    Length    |    Description    |\n|----------------|-----------------|--------------|---------------------------------|\n|    merchant_pk    |    Int    |  |    Unique identifier for this merchant account    |",
		"requestBody": {
		  "content": {
			"*/*": {
			  "schema": {
				"type": "string",
				"example": "\"{\\r\\n  \\\"company\\\": {\\r\\n      \\\"company\\\": \\\"My Company Name\\\",\\r\\n      \\\"phone\\\": \\\"1-805-399-2278\\\"\\r\\n  },\\r\\n  \\\"user\\\": {\\r\\n      \\\"name\\\": \\\"Mrs. Bigglesworth\\\",\\r\\n      \\\"email\\\": \\\"biggle@evil.com\\\",\\r\\n      \\\"password\\\": \\\"Optional Password\\\",\\r\\n      \\\"repeat_password\\\": \\\"Optional Password\\\"\\r\\n  }\\r\\n}\""
			  }
			}
		  }
		},
		"parameters": [
		  {
			"name": "Content-Type",
			"in": "header",
			"schema": {
			  "type": "string"
			},
			"example": "application/json"
		  }
		],
		"responses": {
		  "200": {
			"description": "OK",
			"content": {
			  "application/json": {
				"schema": {
				  "type": "object"
				},
				"examples": {
				  "example-0": {
					"summary": "New Merchant Success",
					"value": {
					  "success_code": true,
					  "response": {
						"merchant_pk": 1023
					  }
					}
				  },
				  "example-1": {
					"summary": "New Merchant Error",
					"value": {
					  "success_code": false,
					  "error_code": "Invalid",
					  "message": "Missing or invalid parameter: A user with this E-mail address already exists"
					}
				  }
				}
			  }
			}
		  }
		}
	  }
	},
	"/v1/master/warehouse": {
	  "post": {
		"tags": [
		  "Master API"
		],
		"summary": "New Warehouse Sub Account",
		"description": "Create a new Warehouse / 3PL account.\n\n### Post Fields\n|    Field    |    Data Type    |    Length    |    Required?    |    Description    |\n|------------------|-----------------|--------------|-----------------|---------------------------------------------------------------------------------------------------------------------------------------------------------|\n|    company    |    Array    |  |    Y    |    Company details    |\n|    user       |    Array    |  |    N    |    Optionally create a new user for this warehouse.    |\n|    wms    |    Array    |  |    N    |    Order Destination Info    |\n\n### Company Array\n|    Field    |    Data Type    |    Length    |    Required    |    Description    |\n|-------------|-----------------|--------------|----------------|-------------------|\n|    company    |    String    |    45    |    Y    |    Company Name    |\n|    phone    |    String    |    45    |    N    |    Company Phone Number    |\n\n### User Array\n|    Field    |    Data Type    |    Length    |    Required    |    Description    |\n|-------------|-----------------|--------------|----------------|-------------------|\n|    name    |    String    |    45    |    Y    |    User Name    |\n|    email    |    String    |    255    |    Y    |    User email    |\n|    password    |    String    |    45    |    N   |   Account activation will be sent if you send the user object with no password.     |\n|    repeat_password    |    String    |    45    |    N    |   Must match the password     |\n\n### wms Array\n|    Field    |    Data Type    |    Length    |    Required    |    Description    |\n|-------------|-----------------|--------------|----------------|-------------------|\n|    wms_name    |    String    |        |    Y    |    Which WMS should be setup?    |\n|    wms_params    |    Array    |  |  N  |    Array of WMS level param values to set for this account. You can   get a list of valid values from the wms section of the [/wms/params](#99aefc50-34e7-4fa5-b944-9cbb24eaf594)   endpoint. NOTE: This section only usable by independant Merchant accounts, not ones that belong to a warehouse account.    |\n\n### Array Response Fields\n|    Field    |    Data Type    |    Length    |    Description    |\n|----------------|-----------------|--------------|---------------------------------|\n|    warehouse_pk    |    Int    |  |    Unique identifier for this warehouse account    |",
		"requestBody": {
		  "content": {
			"*/*": {
			  "schema": {
				"type": "string",
				"example": "\"{\\r\\n  \\\"company\\\": {\\r\\n      \\\"company\\\": \\\"My Company Name\\\",\\r\\n      \\\"phone\\\": \\\"1-805-399-2278\\\"\\r\\n  },\\r\\n  \\\"user\\\": {\\r\\n      \\\"name\\\": \\\"Mrs. Bigglesworth\\\",\\r\\n      \\\"email\\\": \\\"biggle@evil.com\\\",\\r\\n      \\\"password\\\": \\\"Optional Password\\\",\\r\\n      \\\"repeat_password\\\": \\\"Optional Password\\\"\\r\\n  }\\r\\n}\""
			  }
			}
		  }
		},
		"parameters": [
		  {
			"name": "Content-Type",
			"in": "header",
			"schema": {
			  "type": "string"
			},
			"example": "application/json"
		  }
		],
		"responses": {
		  "200": {
			"description": "OK",
			"content": {
			  "application/json": {
				"schema": {
				  "type": "object"
				},
				"example": {
				  "success_code": true,
				  "response": {
					"fclient_pk": 1023
				  }
				}
			  }
			}
		  }
		}
	  }
	}
  }
}
