# Batch - Get Source: https://skulabs.mintlify.app/api-docs/batch/get get /batch/get Retrieve batch details by ID, including orders and fulfillment progress. # Customer - Add Note Source: https://skulabs.mintlify.app/api-docs/customer/add-note post /customer/add_note Add a note to a customer record. # Customer - Add Tag Source: https://skulabs.mintlify.app/api-docs/customer/add-tag post /customer/add_tag Add a tag to one or more customers. # Customer - Get Customer Source: https://skulabs.mintlify.app/api-docs/customer/get-customer get /customer/get_customer Retrieve a single customer by ID with full details including notes and activity log. # Customer - Get Customers Source: https://skulabs.mintlify.app/api-docs/customer/get-customers get /customer/get_customers Retrieve a paginated list of customers with optional filtering. # Customer - Remove Tag Source: https://skulabs.mintlify.app/api-docs/customer/remove-tag post /customer/remove_tag Remove a tag from one or more customers. # Cycle Count - Get Source: https://skulabs.mintlify.app/api-docs/cycle-count/get get /cycle_count/get Retrieve a single cycle count by ID with its item details. # Cycle Count - Get All Source: https://skulabs.mintlify.app/api-docs/cycle-count/get-all get /cycle_count/get_all Retrieve all cycle counts with optional filtering by status and warehouse. # Distributor - Add Item Source: https://skulabs.mintlify.app/api-docs/distributor/add-item put /distributor/add_item Add an item to a distributor's catalog with supplier-specific SKU, cost, and lead time. # Distributor - Bulk Remove Item Source: https://skulabs.mintlify.app/api-docs/distributor/bulk-remove-item delete /distributor/bulk_remove_item Remove multiple items from a distributor's catalog in a single request. # Distributor - Create Source: https://skulabs.mintlify.app/api-docs/distributor/create post /distributor/create Create a new distributor with contact details and address. # Distributor - Edit Item Source: https://skulabs.mintlify.app/api-docs/distributor/edit-item put /distributor/edit_item Update an item's details in a distributor's catalog. # Distributor - Get Source: https://skulabs.mintlify.app/api-docs/distributor/get get /distributor/get Retrieve a paginated list of distributors (suppliers/vendors). # Distributor - Remove Item Source: https://skulabs.mintlify.app/api-docs/distributor/remove-item delete /distributor/remove_item Remove an item from a distributor's catalog. # Distributor - Update Source: https://skulabs.mintlify.app/api-docs/distributor/update put /distributor/update Update an existing distributor's information. # Inventory Table - Export Velocity Source: https://skulabs.mintlify.app/api-docs/inventory-table/export-velocity post /s/job/inventory_table/export_velocity Export inventory velocity data (sales speed analysis) as a downloadable report. # Inventory - Bulk Reconciliation Source: https://skulabs.mintlify.app/api-docs/inventory/bulk-reconciliation post /inventory/bulk_reconciliation Reconcile inventory quantities in bulk, adjusting on-hand counts to match physical counts. # Inventory - Calculate Free Map Source: https://skulabs.mintlify.app/api-docs/inventory/calculate-free-map post /inventory/calculate_free_map Calculate available inventory by subtracting reserved quantities from on-hand stock. # Inventory - Decrease On Hand Source: https://skulabs.mintlify.app/api-docs/inventory/decrease-on-hand put /inventory/decrease_on_hand Decrease the on-hand inventory quantity for an item at a specific warehouse. # Inventory - Deduct Serial Numbers Source: https://skulabs.mintlify.app/api-docs/inventory/deduct-serial-numbers post /inventory/deduct_serial_numbers Deduct serial numbers from inventory, marking them as used or shipped. # Inventory - Get Source: https://skulabs.mintlify.app/api-docs/inventory/get get /inventory/get Retrieve inventory records for items and kits across warehouses. # Inventory - Get Grouped Locations Map Source: https://skulabs.mintlify.app/api-docs/inventory/get-grouped-locations-map post /inventory/get_grouped_locations_map Retrieve inventory quantities grouped by location across warehouses. # Inventory - Get History Source: https://skulabs.mintlify.app/api-docs/inventory/get-history get /inventory/get_history Retrieve the inventory change history for a specific item at a warehouse. # Inventory - Get Inventory History Source: https://skulabs.mintlify.app/api-docs/inventory/get-inventory-history get /inventory/get_inventory_history Retrieve detailed inventory history with change types, quantities, and timestamps. # Inventory - Get Item Free Source: https://skulabs.mintlify.app/api-docs/inventory/get-item-free get /inventory/get_item_free Retrieve the available (free) inventory quantity for an item, excluding reserved stock. # Inventory - Get Items Source: https://skulabs.mintlify.app/api-docs/inventory/get-items post /inventory/get_items Retrieve inventory records for a specific list of item IDs. # Inventory - Get Items And Kits Map Source: https://skulabs.mintlify.app/api-docs/inventory/get-items-and-kits-map post /inventory/get_items_and_kits_map Retrieve a combined map of both item and kit inventory quantities. # Inventory - Get Items Incoming Source: https://skulabs.mintlify.app/api-docs/inventory/get-items-incoming post /inventory/get_items_incoming Retrieve incoming inventory quantities from open purchase orders. # Inventory - Get Items Map Source: https://skulabs.mintlify.app/api-docs/inventory/get-items-map post /inventory/get_items_map Retrieve a map of item inventory quantities keyed by item ID and warehouse. # Inventory - Get Kits Map Source: https://skulabs.mintlify.app/api-docs/inventory/get-kits-map post /inventory/get_kits_map Retrieve a map of kit inventory quantities keyed by kit ID and warehouse. # Inventory - Get On Hand Location Map Source: https://skulabs.mintlify.app/api-docs/inventory/get-on-hand-location-map post /inventory/get_on_hand_location_map Retrieve on-hand inventory quantities broken down by warehouse location. # Inventory - Get Received History Source: https://skulabs.mintlify.app/api-docs/inventory/get-received-history get /inventory/get_received_history Retrieve the history of inventory received through purchase orders. # Inventory - Get Reserved Map Source: https://skulabs.mintlify.app/api-docs/inventory/get-reserved-map get /inventory/get_reserved_map Retrieve a map of reserved inventory quantities per item across warehouses. # Inventory - Get Via Post Reserved Map Source: https://skulabs.mintlify.app/api-docs/inventory/get-via-post-reserved-map post /inventory/get_via_post_reserved_map Retrieve reserved inventory map via POST for large item ID lists that exceed GET URL limits. # Inventory - Increase On Hand Source: https://skulabs.mintlify.app/api-docs/inventory/increase-on-hand put /inventory/increase_on_hand Increase the on-hand inventory quantity for an item at a specific warehouse. # Inventory - Upsert Source: https://skulabs.mintlify.app/api-docs/inventory/upsert put /inventory/upsert Create or update an inventory record for an item at a specific warehouse. # Item - Add Barcode Source: https://skulabs.mintlify.app/api-docs/item/add-barcode post /item/add_barcode Add a barcode to an existing item. # Item - Add Custom Field Source: https://skulabs.mintlify.app/api-docs/item/add-custom-field post /item/add_custom_field Add a custom field key-value pair to an item. # Item - Add Serial Numbers Source: https://skulabs.mintlify.app/api-docs/item/add-serial-numbers post /item/add_serial_numbers Add serial numbers to an item's inventory at a specific warehouse. # Item - Add Tag Source: https://skulabs.mintlify.app/api-docs/item/add-tag post /item/add_tag Add a tag to one or more items by tag ID. # Item - Bulk Assign Source: https://skulabs.mintlify.app/api-docs/item/bulk-assign post /item/bulk_assign Assign items to a warehouse location in bulk. If the location does not exist, it will be created. # Item - Bulk Remove Source: https://skulabs.mintlify.app/api-docs/item/bulk-remove delete /s/job/item/bulk_remove Remove multiple items in a single bulk operation. # Item - Bulk Upsert Source: https://skulabs.mintlify.app/api-docs/item/bulk-upsert put /item/bulk_upsert Create or update multiple items in a single request. # Item - Create Source: https://skulabs.mintlify.app/api-docs/item/create post /item/create Create a new item with SKU, name, and optional details like barcodes and dimensions. # Item - Create Upsert Source: https://skulabs.mintlify.app/api-docs/item/create-upsert post /item/create_upsert Create a new item or update an existing one if the SKU already exists. # Item - Find By Barcode Source: https://skulabs.mintlify.app/api-docs/item/find-by-barcode get /item/find_by_barcode Look up an item by its barcode (UPC, EAN, ISBN, or custom barcode). # Item - Get Source: https://skulabs.mintlify.app/api-docs/item/get get /item/get Retrieve a paginated list of items with optional filtering. # Item - Get Locations Source: https://skulabs.mintlify.app/api-docs/item/get-locations get /item/get_locations Retrieve warehouse locations assigned to an item. # Item - New Remove Serial Number Source: https://skulabs.mintlify.app/api-docs/item/new-remove-serial-number delete /item/new_remove_serial_number Remove a serial number from an item using the updated removal method. # Item - Remove Source: https://skulabs.mintlify.app/api-docs/item/remove delete /item/remove Permanently delete an item and its associated inventory records. # Item - Remove Barcode Source: https://skulabs.mintlify.app/api-docs/item/remove-barcode delete /item/remove_barcode Remove a barcode from an item. # Item - Remove Custom Field Source: https://skulabs.mintlify.app/api-docs/item/remove-custom-field delete /item/remove_custom_field Remove a custom field from an item. # Item - Remove Serial Number Source: https://skulabs.mintlify.app/api-docs/item/remove-serial-number delete /item/remove_serial_number Remove a serial number from an item's inventory. # Item - Remove Tag Source: https://skulabs.mintlify.app/api-docs/item/remove-tag delete /item/remove_tag Remove a tag from one or more items. # Item - Set Tags Source: https://skulabs.mintlify.app/api-docs/item/set-tags put /item/set_tags Replace all tags on one or more items with a new set of tags. # Item - Update Source: https://skulabs.mintlify.app/api-docs/item/update put /item/update Update an existing item's properties such as name, weight, dimensions, or cost. # Item - Update Alias Locations Source: https://skulabs.mintlify.app/api-docs/item/update-alias-locations put /item/update_alias_locations Update the alias location mappings for an item across warehouses. # Item - Upsert Source: https://skulabs.mintlify.app/api-docs/item/upsert put /item/upsert Create a new item or update an existing one based on the provided identifier. # Kit - Add Barcode Source: https://skulabs.mintlify.app/api-docs/kit/add-barcode post /kit/add_barcode Add a barcode to an existing kit. # Kit - Add Custom Field Source: https://skulabs.mintlify.app/api-docs/kit/add-custom-field post /kit/add_custom_field Add a custom field key-value pair to a kit. # Kit - Add Item Source: https://skulabs.mintlify.app/api-docs/kit/add-item post /kit/add_item Add a component item to an existing kit. # Kit - Add Tag Source: https://skulabs.mintlify.app/api-docs/kit/add-tag post /kit/add_tag Add a tag to one or more kits by tag ID. # Kit - Bulk Update Source: https://skulabs.mintlify.app/api-docs/kit/bulk-update put /kit/bulk_update Update multiple kits in a single request. # Kit - Create Source: https://skulabs.mintlify.app/api-docs/kit/create post /kit/create Create a new kit with component items, SKU, and optional details. # Kit - Edit Item Source: https://skulabs.mintlify.app/api-docs/kit/edit-item put /kit/edit_item Edit a component item's quantity or properties within a kit. # Kit - Get Source: https://skulabs.mintlify.app/api-docs/kit/get get /kit/get Retrieve a paginated list of kits with optional filtering. # Kit - Remove Source: https://skulabs.mintlify.app/api-docs/kit/remove delete /kit/remove Permanently delete a kit. # Kit - Remove Barcode Source: https://skulabs.mintlify.app/api-docs/kit/remove-barcode delete /kit/remove_barcode Remove a barcode from a kit. # Kit - Remove Custom Field Source: https://skulabs.mintlify.app/api-docs/kit/remove-custom-field delete /kit/remove_custom_field Remove a custom field from a kit. # Kit - Remove Item Source: https://skulabs.mintlify.app/api-docs/kit/remove-item delete /kit/remove_item Remove a component item from a kit. # Kit - Remove Tag Source: https://skulabs.mintlify.app/api-docs/kit/remove-tag delete /kit/remove_tag Remove a tag from one or more kits. # Kit - Set Tags Source: https://skulabs.mintlify.app/api-docs/kit/set-tags put /kit/set_tags Replace all tags on one or more kits with a new set of tags. # Kit - Update Source: https://skulabs.mintlify.app/api-docs/kit/update put /kit/update Update an existing kit's properties such as name, weight, or component items. # Listing - Get Source: https://skulabs.mintlify.app/api-docs/listing/get get /listing/get Retrieve product listings with optional filtering by store and linked item status. # Listing - Listing Links Csv Import Source: https://skulabs.mintlify.app/api-docs/listing/listing-links-csv-import post /s/job/listing/listing_links_csv_import Import listing-to-item links from a CSV file. # Listing - Rules Csv Import Source: https://skulabs.mintlify.app/api-docs/listing/rules-csv-import post /s/job/listing/rules_csv_import Import listing rules from a CSV file. # Location - Add Item Source: https://skulabs.mintlify.app/api-docs/location/add-item post /location/add_item Assign an item to a warehouse location. # Location - Create Source: https://skulabs.mintlify.app/api-docs/location/create post /location/create Create a new location within a warehouse (e.g. bin, shelf, or zone). # Location - Get Source: https://skulabs.mintlify.app/api-docs/location/get get /location/get Retrieve a single warehouse location by ID. # Location - Get All Source: https://skulabs.mintlify.app/api-docs/location/get-all get /location/get_all Retrieve all locations for a specific warehouse. # Location - Get Items Source: https://skulabs.mintlify.app/api-docs/location/get-items get /location/get_items Retrieve all items assigned to a specific warehouse location. # Location - Get List Source: https://skulabs.mintlify.app/api-docs/location/get-list get /location/get_list Retrieve a paginated list of locations with optional filtering. # Location - Remove Item Source: https://skulabs.mintlify.app/api-docs/location/remove-item delete /location/remove_item Remove an item from a warehouse location assignment. # Order - Add Source: https://skulabs.mintlify.app/api-docs/order/add post /order/add Create a new manual order with specified items, shipping address, and order details. # Order - Add Manual Shipment Source: https://skulabs.mintlify.app/api-docs/order/add-manual-shipment post /order/add_manual_shipment Add a manual shipment with tracking information to an order. # Order - Add Note Source: https://skulabs.mintlify.app/api-docs/order/add-note post /order/add_note Add an internal or customer-facing note to an order. # Order - Add Tag Source: https://skulabs.mintlify.app/api-docs/order/add-tag post /order/add_tag Add a tag to one or more orders by tag ID. # Order - Add Tag By Name Source: https://skulabs.mintlify.app/api-docs/order/add-tag-by-name post /order/add_tag_by_name Add a tag to one or more orders by tag name, creating the tag if it doesn't exist. # Order - Bulk Add Manual Shipments Source: https://skulabs.mintlify.app/api-docs/order/bulk-add-manual-shipments post /order/bulk_add_manual_shipments Add manual shipments with tracking information to multiple orders in a single request. # Order - Get Source: https://skulabs.mintlify.app/api-docs/order/get get /order/get Retrieve a paginated list of orders with optional filtering by status, store, tags, and date ranges. Maximum page size: 100 (Standard), 250 (Pro), 500 (Enterprise). # Order - Get All Source: https://skulabs.mintlify.app/api-docs/order/get-all get /order/get_all Retrieve all orders without pagination. Use with caution on large datasets. # Order - Get Archived Source: https://skulabs.mintlify.app/api-docs/order/get-archived get /order/get_archived Retrieve archived orders with optional filtering. # Order - Get By Base Order Number Source: https://skulabs.mintlify.app/api-docs/order/get-by-base-order-number get /order/get_by_base_order_number Look up orders by their base order number, which groups split and combined orders. # Order - Get Customs Information Source: https://skulabs.mintlify.app/api-docs/order/get-customs-information get /order/get_customs_information Retrieve customs declaration information for an order's items. # Order - Get Scanned Serial Numbers Source: https://skulabs.mintlify.app/api-docs/order/get-scanned-serial-numbers get /order/get_scanned_serial_numbers Retrieve serial numbers that have been scanned during order fulfillment. # Order - Get Shipped Source: https://skulabs.mintlify.app/api-docs/order/get-shipped get /order/get_shipped Retrieve shipped orders with optional filtering by date range and store. # Order - Get Single Source: https://skulabs.mintlify.app/api-docs/order/get-single get /order/get_single Retrieve a single order by its order number and store ID. # Order - Get Single Bulk Source: https://skulabs.mintlify.app/api-docs/order/get-single-bulk post /order/get_single_bulk Retrieve multiple orders by their order number and store ID pairs in a single request. # Order - Get Skipped Scans Source: https://skulabs.mintlify.app/api-docs/order/get-skipped-scans get /order/get_skipped_scans Retrieve items that were skipped during barcode scanning in order fulfillment. # Order - Get Unscanned Items Source: https://skulabs.mintlify.app/api-docs/order/get-unscanned-items get /order/get_unscanned_items Retrieve items that have not been scanned during order fulfillment. # Order - Modify Financial Status Source: https://skulabs.mintlify.app/api-docs/order/modify-financial-status put /order/modify_financial_status Update the financial/payment status of one or more orders. # Order - Modify Status Source: https://skulabs.mintlify.app/api-docs/order/modify-status put /order/modify_status Update the fulfillment status of one or more orders. # Order - Override Source: https://skulabs.mintlify.app/api-docs/order/override put /order/override Override order fields with custom values. # Order - Remove Tag Source: https://skulabs.mintlify.app/api-docs/order/remove-tag delete /order/remove_tag Remove a tag from one or more orders. # Order - Revert Source: https://skulabs.mintlify.app/api-docs/order/revert put /order/revert Revert an order back to its previous status, undoing the last status change. # Order - Set Tags Source: https://skulabs.mintlify.app/api-docs/order/set-tags put /order/set_tags Replace all tags on one or more orders with a new set of tags. # Order - Status Source: https://skulabs.mintlify.app/api-docs/order/status get /order/status Retrieve the current status of an order. # Order - Undershipped Item Report Source: https://skulabs.mintlify.app/api-docs/order/undershipped-item-report get /order/undershipped_item_report Retrieve a report of items that were shipped in quantities less than ordered. # Order - Unscanned Order List Source: https://skulabs.mintlify.app/api-docs/order/unscanned-order-list get /order/unscanned_order_list Retrieve a list of orders with items that have not been scanned during fulfillment. # Purchase Order - Add Tag Source: https://skulabs.mintlify.app/api-docs/purchase-order/add-tag post /purchase_order/add_tag Add a tag to one or more purchase orders. # Purchase Order - Bulk Accept Source: https://skulabs.mintlify.app/api-docs/purchase-order/bulk-accept post /purchase_order/bulk_accept Accept items on multiple purchase orders in bulk, updating received quantities. # Purchase Order - Create Source: https://skulabs.mintlify.app/api-docs/purchase-order/create post /purchase_order/create August 2023: Now supports item_id, kit_id, sku (SKULabs Kit or Item), mpn (Supplier MPN), or barcode (SKULabs Kit or Item barcode) as lookup fields in the item array. # Purchase Order - Create V2 Source: https://skulabs.mintlify.app/api-docs/purchase-order/create-v2 post /purchase_order/create_v2 Create a purchase order using names instead of IDs for store, distributor, and warehouse. Supports item lookup by SKU, MPN, or barcode. # Purchase Order - Get Source: https://skulabs.mintlify.app/api-docs/purchase-order/get get /purchase_order/get Retrieve a paginated list of purchase orders with optional filtering. # Purchase Order - Get By Status Source: https://skulabs.mintlify.app/api-docs/purchase-order/get-by-status get /purchase_order/get_by_status Retrieve purchase orders filtered by their current status. # Purchase Order - Get Closed Source: https://skulabs.mintlify.app/api-docs/purchase-order/get-closed get /purchase_order/get_closed Retrieve all closed (completed) purchase orders. # Purchase Order - Get Closed With Items Source: https://skulabs.mintlify.app/api-docs/purchase-order/get-closed-with-items get /purchase_order/get_closed_with_items Retrieve closed purchase orders with their full item details included. # Purchase Order - Get Processing Source: https://skulabs.mintlify.app/api-docs/purchase-order/get-processing get /purchase_order/get_processing Retrieve purchase orders currently being processed (not yet closed). # Purchase Order - Get Processing With Item Id Source: https://skulabs.mintlify.app/api-docs/purchase-order/get-processing-with-item-id get /purchase_order/get_processing_with_item_id Retrieve processing purchase orders that contain a specific item. # Purchase Order - Get Processing With Items Source: https://skulabs.mintlify.app/api-docs/purchase-order/get-processing-with-items get /purchase_order/get_processing_with_items Retrieve processing purchase orders with their full item details included. # Purchase Order - Get Single Source: https://skulabs.mintlify.app/api-docs/purchase-order/get-single get /purchase_order/get_single Retrieve a single purchase order by its ID. # Purchase Order - Get Single Bulk Source: https://skulabs.mintlify.app/api-docs/purchase-order/get-single-bulk post /purchase_order/get_single_bulk Retrieve multiple purchase orders by their IDs in a single request. # Purchase Order - Get Single By Number Source: https://skulabs.mintlify.app/api-docs/purchase-order/get-single-by-number get /purchase_order/get_single_by_number Retrieve a single purchase order by its PO number. # Purchase Order - New Create Source: https://skulabs.mintlify.app/api-docs/purchase-order/new-create post /purchase_order/new_create Create a purchase order using the latest creation endpoint with enhanced validation. # Purchase Order - Remove Tag Source: https://skulabs.mintlify.app/api-docs/purchase-order/remove-tag post /purchase_order/remove_tag Remove a tag from one or more purchase orders. # Purchase Order - Set Tags Source: https://skulabs.mintlify.app/api-docs/purchase-order/set-tags put /purchase_order/set_tags Replace all tags on one or more purchase orders with a new set of tags. # Run - Debug Request Source: https://skulabs.mintlify.app/api-docs/run/debug-request post /run/debug_request /run/debug_request # Run - Shopify Returns Cleanup Source: https://skulabs.mintlify.app/api-docs/run/shopify-returns-cleanup post /run/shopify_returns_cleanup /run/shopify_returns_cleanup # Run - Shopify Returns Simulation Source: https://skulabs.mintlify.app/api-docs/run/shopify-returns-simulation post /run/shopify_returns_simulation /run/shopify_returns_simulation # Shipments - Csv Export Source: https://skulabs.mintlify.app/api-docs/shipments/csv-export get /s/job/shipments/csv_export Export shipments data as a CSV file within a specified date range. # Shipments - Get Source: https://skulabs.mintlify.app/api-docs/shipments/get get /shipments/get Retrieve shipments for a specific order. # Shipments - Get By Range Source: https://skulabs.mintlify.app/api-docs/shipments/get-by-range get /shipments/get_by_range Retrieve shipments within a date range with optional warehouse filtering. # Shipping - Restore Inventory Source: https://skulabs.mintlify.app/api-docs/shipping/restore-inventory post /s/ship/shipping/restore_inventory Restore inventory that was previously deducted when a shipment was created. # Shipping - Set Manifested Source: https://skulabs.mintlify.app/api-docs/shipping/set-manifested post /s/ship/shipping/set_manifested Mark shipments as manifested, indicating they have been handed off to the carrier. # Shipping - Void Source: https://skulabs.mintlify.app/api-docs/shipping/void delete /s/ship/shipping/void Void a shipment, cancelling the shipping label and optionally restoring inventory. # Store - Get Source: https://skulabs.mintlify.app/api-docs/store/get get /store/get Retrieve all connected store integrations for the current account. # Add Tag Source: https://skulabs.mintlify.app/api-docs/tag/add-tag post /tag/add Creates a new tag # Tag - Get Source: https://skulabs.mintlify.app/api-docs/tag/get get /tag/get Retrieve all tags with optional filtering by type. # Tag - Remove Source: https://skulabs.mintlify.app/api-docs/tag/remove delete /tag/remove Permanently delete a tag. # Tag - Update Source: https://skulabs.mintlify.app/api-docs/tag/update put /tag/update Update an existing tag's name or color. # Transfer Order - Create Source: https://skulabs.mintlify.app/api-docs/transfer-order/create post /transfer_order/create Create a new transfer order to move inventory between warehouses. # Transfer Order - Get Source: https://skulabs.mintlify.app/api-docs/transfer-order/get get /transfer_order/get Retrieve a single transfer order by ID. # Transfer Order - Get All Source: https://skulabs.mintlify.app/api-docs/transfer-order/get-all get /transfer_order/get_all Retrieve all transfer orders with optional filtering by status and warehouse. # Warehouse - Create Source: https://skulabs.mintlify.app/api-docs/warehouse/create post /warehouse/create Create a new warehouse with name and address details. # Warehouse - Create V2 Source: https://skulabs.mintlify.app/api-docs/warehouse/create-v2 post /warehouse/create_v2 Create a new warehouse using the latest creation endpoint with enhanced options. # Warehouse - Get Source: https://skulabs.mintlify.app/api-docs/warehouse/get get /warehouse/get Retrieve all warehouses for the current account. # Warehouse - Stats Source: https://skulabs.mintlify.app/api-docs/warehouse/stats get /warehouse/stats Retrieve warehouse statistics including item counts and inventory totals. # Add Handler Source: https://skulabs.mintlify.app/api-docs/webhook/add-handler post /webhook/add_handler Creates a new webhook handler # Remove Handler Source: https://skulabs.mintlify.app/api-docs/webhook/remove-handler post /webhook/remove_handler Removes a webhook handler # Handling Status Codes Source: https://skulabs.mintlify.app/best-practices/handling-status-codes How to treat status codes from SKULabs API calls ## 200 - OK * **What does it mean?** The request has succeeded and our servers have returned the expected data. * **What should I do?** No action required. You can proceed to use the data returned by our API in your application or process. ## 400 - Generic Error * **What does it mean?** The request could not be understood by the SKULabs servers due to a malformed request or data validation errors. * **What should I do?** Review your request to ensure all parameters are correct and conform to the API specifications. Check our API documentation for required data formats and types. Resend your request after you've made corrections. ## 401 - Not Authorized * **What does it mean?** The request has not been fulfilled because it lacks valid authentication credentials. * **What should I do?** Ensure your API keys or authentication credentials are correctly included in your request headers. [Generate an API key](/getting-started/getting-an-api-key) if you haven't already. If you've already generated an API key, make sure you are [passing it correctly](/getting-started/authentication) in the request headers. If you continue to face issues, confirm that the credentials have not expired and are still valid for accessing our API. ## 403 - Missing Permissions * **What does it mean?** The authenticated user does not have permission to perform a specific action or request. * **What should I do?** Check the permissions associated with your API credentials. You may need to request additional permissions or roles from an administrator on your SKULabs account. Verify that your API keys are correctly configured for the required scope of actions. ## 429 - Too Many Requests * **What does it mean?** The request cannot be served due to the rate limit being exceeded. * **What should I do?** Slow down your request rate to the API and respect the rate limits that are documented in the [rate limit documentation](/getting-started/rate-limits). Implement an exponential backoff algorithm to ensure your IP does not get banned. ## 502 - Bad Gateway * **What does it mean?** The authenticated user does not have permission to perform a specific action or request. * **What should I do?** This error is typically a problem on the server side, not an issue with your request. Wait a few moments and then resend your request. If the problem persists, contact SKULabs support for assistance. ## Retryable endpoints For any retryable endpoint, pass a "Retry-Token" parameter with a unique and random MongoDB ObjectID. ## 202 - Accepted * **What does it mean?** Your request was received but not yet processed. * **What should I do?** Please check back at URI provided in the response error.data.retryUrl (/retryable/get?retry\_token=X) for the completed request. ## 203 - Non-authoritative Information * **What does it mean?** This is a saved response from the original request, meaning it may not be up-to-date. * **What should I do?** With this response code, you should be aware that the information provided in the response might not be the most up-to-date or accurate representation of the resource, and further verification may be necessary. # Querying Data Source: https://skulabs.mintlify.app/best-practices/querying How to query data with the SKULabs API The SKULabs API presents MongoDB-like querying capabilities. This allows you to filter and sort data to retrieve only the information you need. ## Required Parameters To query against SKULabs collections, 4 parameters are required. We've included them below. * selector * sort * limit * skip ### Example ```json theme={null} { "selector": { "status": { "$in": ["shipped"] } }, "sort": { "end_date": -1 }, "skip": 0, "limit": 10 } ``` ## Selector Use the selector field to help filter queries. Commonly available fields are included below. ### Common Fields * name * sku * email * upc * start\_date * end\_date * items * listings * custom\_fields * barcodes * listing\_sku * tags * fulfillment\_sku * variants * status * type * batch\_number * provider * order\_number * service * tracking\_number ### Example ```json theme={null} { "sku": "red-shirt-001" } ``` ## Sort Use the sort field to help sort returned documents. Commonly available fields are included below. ### Common Fields * name * email * sku * upc * type * store\_id * listing\_sku * fulfillment\_sku * order\_number * status * batch\_number * date ### Example ```json theme={null} { "end_date": 1, } ``` ## Limit Limit represents an integer that is used to limit the number of documents returned. By default, it is 10. ### Example ```json theme={null} { "limit": 10 } ``` ## Skip Skip represents an integer that is used to aid in pagination. By default, it is 0. ### Example ```json theme={null} { "skip": 0 } ``` # Rules Source: https://skulabs.mintlify.app/best-practices/rules When your API key will be invalidated, who you can share your API key with Each service or person with access to your account must be given a unique API key. Do not share keys among services or persons. API keys are deactivated after 30 days of non-use to protect your account. # Authentication Source: https://skulabs.mintlify.app/getting-started/authentication Authenticating with your SKULabs API Key To access the API endpoints, you need to authenticate your requests. Below are the available authentication methods: Include your access token in the Authorization header using the "Bearer" scheme. ```http theme={null} Authorization: Bearer your_access_token_here ``` Similar to Bearer Token Authentication, but use the "SKULabsToken" scheme in the Authorization header. ```http theme={null} Authorization: SKULabsToken your_access_token_here ``` You can also use Basic Authentication by providing your API key as the password. The username can be any string. ```shell theme={null} curl -u "skulabs:your_access_token_here" https://api.skulabs.com/ ``` When you're ready to start using our API, replace "*your\_access\_token\_here*" with your actual access token. # Generating an API Key Source: https://skulabs.mintlify.app/getting-started/getting-an-api-key How to get your SKULabs API Key To begin using the SKULabs API, you'll need to generate an API key. Follow the steps below to get one. ## Quick Start [Click here](https://app.skulabs.com/settings?add=true#advanced/api) to get sent to SKULabs and create a new API key immediately. ## Alternate Method If the quick start method didn't work, you can follow these steps: Go to your SKULabs [account settings](https://app.skulabs.com/settings). Navigate to the "[Advanced](https://app.skulabs.com/settings#advanced/api)" section. Select "[API](https://app.skulabs.com/settings#advanced/api)" to manage your API keys. Add a new API key. At this point you should have an API key. In the next step, we'll test authentication with your new key. # Rate Limits Source: https://skulabs.mintlify.app/getting-started/rate-limits Making use of your rate limits SKULabs enforces several bucket-based rate limits that you may encounter while using our API. Additionally, some endpoints have special rate limits or account-level locks to prevent abuse of bulk endpoints. ### Per-api-key limits You are limited to 2 requests per second per API key. ## Per-account limits You are limited to your plan's associated rate limit, broken up into hourly buckets. As of August 2024: * Basic - 1000/day in buckets of 41/hour * Premium - 100 000/day in buckets of 4 166/hour * Enterprise - 300 000/day in buckets of 12 500/hour * Enterprise 2X (Paid) in buckets of 25 000/hour * Enterprise 4X (Paid) in buckets of 50 000/hour ## Endpoint limits It is rare, but certain endpoints have custom rate limits, you may need to dynamically wait in these cases. ## Endpoint locks Some endpoints have locks that prevent multiple requests from being processed simultaneously by API for the entire account. These are typically actions like bulk\_reconcile, bulk\_delete, or bulk\_receive. You should queue and wait for each request to finish or implement an exponential fallback algorithm and resubmit your requests until you receive a 200, 202, or 203 status code. ## Dynamically waiting for rate limit resets. If your 429 error contains an error object, you can wait `error.data.wait_seconds` seconds for your rate limit bucket to reset. ``` { "error": { "message": "Rate limited. You are allowed etc...", data: { "wait_seconds": 8 } } } ``` This number can be up to an hour or longer. Do not arbitrarily sleep your program in response to this error. # Your First API Call Source: https://skulabs.mintlify.app/getting-started/your-first-api-call Making your first API call This example is for a Node.js environment. If you'd like to see examples in your programming language, you can visit the page for the endpoint you wish to call. ### Prerequisites Ensure you have Axios or a similar library installed in your Node.js 18+ project. ```bash theme={null} npm install axios ``` ### Sample Code The code below creates a location and then retrieves a list of locations where warehouse\_id = '1234'. ```javascript theme={null} const axios = require('axios'); // Replace 'your_access_token_here' with your actual access token const accessToken = 'your_access_token_here'; const config = { headers: { 'Content-Type': 'application/json', 'Authorization': `Bearer ${accessToken}` } }; // Lets create a new location const create_location_url = new URL('https://api.skulabs.com/location/create'); const postData = { warehouse_id: '1234', name: 'My New Location' }; axios.post(create_location_url.toString(), postData, config) .then(function (response) { console.log('Response:', response.data); }).catch(function (error) { console.error('Error:', error); }); // Now, let's get the list of locations. const get_list_url = new URL('https://api.skulabs.com/location/get_list'); const selector = { warehouse_id: '1234' }; // Append the selector to the URL get_list_url.searchParams.append('selector', JSON.stringify(selector)); axios.get(get_list_url.toString(), config) .then(function (response) { console.log('Response:', response.data); }).catch(function (error) { console.error('Error:', error); }); ``` ### Notes * Replace *your\_access\_token\_here* with your actual access token for authentication. * This script handles both successful and error responses from the API. You did it! Now that you've succesfully connected to our API, feel free to explore all of our endpoints.