{ "info": { "name": "CleanCloud API", "description": "Programmatic access to the CleanCloud POS and business-management platform for dry cleaners, laundromats, and laundry services. All calls are HTTPS POST with a JSON body to https://cleancloudapp.com/api and require an api_token body field (Settings > Admin > Pickup and Delivery > API). API access requires a Grow or Grow+ subscription (Pro in Mexico); metered at 50,000 requests/month, max 3 requests/second.", "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json" }, "variable": [ { "key": "baseUrl", "value": "https://cleancloudapp.com/api", "type": "string" }, { "key": "apiToken", "value": "", "type": "string" } ], "item": [ { "name": "Customers", "item": [ { "name": "Create a customer", "request": { "method": "POST", "header": [{ "key": "Content-Type", "value": "application/json" }], "body": { "mode": "raw", "raw": "{\n \"api_token\": \"{{apiToken}}\",\n \"customerName\": \"\",\n \"customerTel\": \"\",\n \"customerEmail\": \"\",\n \"customerAddress\": \"\"\n}" }, "url": { "raw": "{{baseUrl}}/addCustomer", "host": ["{{baseUrl}}"], "path": ["addCustomer"] }, "description": "Creates a new customer account." } }, { "name": "Update a customer", "request": { "method": "POST", "header": [{ "key": "Content-Type", "value": "application/json" }], "body": { "mode": "raw", "raw": "{\n \"api_token\": \"{{apiToken}}\",\n \"customerID\": \"\"\n}" }, "url": { "raw": "{{baseUrl}}/updateCustomer", "host": ["{{baseUrl}}"], "path": ["updateCustomer"] }, "description": "Updates an existing customer by customerID." } }, { "name": "Delete a customer", "request": { "method": "POST", "header": [{ "key": "Content-Type", "value": "application/json" }], "body": { "mode": "raw", "raw": "{\n \"api_token\": \"{{apiToken}}\",\n \"customerID\": \"\"\n}" }, "url": { "raw": "{{baseUrl}}/deleteCustomer", "host": ["{{baseUrl}}"], "path": ["deleteCustomer"] }, "description": "Deletes a customer account." } }, { "name": "Get customer(s)", "request": { "method": "POST", "header": [{ "key": "Content-Type", "value": "application/json" }], "body": { "mode": "raw", "raw": "{\n \"api_token\": \"{{apiToken}}\",\n \"customerID\": \"\"\n}" }, "url": { "raw": "{{baseUrl}}/getCustomer", "host": ["{{baseUrl}}"], "path": ["getCustomer"] }, "description": "Retrieves a customer by ID or a date range." } }, { "name": "Authenticate a customer", "request": { "method": "POST", "header": [{ "key": "Content-Type", "value": "application/json" }], "body": { "mode": "raw", "raw": "{\n \"api_token\": \"{{apiToken}}\",\n \"customerEmail\": \"\",\n \"customerPassword\": \"\"\n}" }, "url": { "raw": "{{baseUrl}}/loginCustomer", "host": ["{{baseUrl}}"], "path": ["loginCustomer"] }, "description": "Authenticates a customer and returns the customer ID." } }, { "name": "Send password reset", "request": { "method": "POST", "header": [{ "key": "Content-Type", "value": "application/json" }], "body": { "mode": "raw", "raw": "{\n \"api_token\": \"{{apiToken}}\",\n \"customerEmail\": \"\"\n}" }, "url": { "raw": "{{baseUrl}}/passwordCustomer", "host": ["{{baseUrl}}"], "path": ["passwordCustomer"] }, "description": "Triggers a password-reset email." } } ] }, { "name": "Orders", "item": [ { "name": "Create an order", "request": { "method": "POST", "header": [{ "key": "Content-Type", "value": "application/json" }], "body": { "mode": "raw", "raw": "{\n \"api_token\": \"{{apiToken}}\",\n \"customerID\": \"\",\n \"finalTotal\": 0,\n \"products\": []\n}" }, "url": { "raw": "{{baseUrl}}/addOrder", "host": ["{{baseUrl}}"], "path": ["addOrder"] }, "description": "Creates a new order with products." } }, { "name": "Update an order", "request": { "method": "POST", "header": [{ "key": "Content-Type", "value": "application/json" }], "body": { "mode": "raw", "raw": "{\n \"api_token\": \"{{apiToken}}\",\n \"orderID\": \"\"\n}" }, "url": { "raw": "{{baseUrl}}/updateOrder", "host": ["{{baseUrl}}"], "path": ["updateOrder"] }, "description": "Updates order details, status, or payment." } }, { "name": "Delete an order", "request": { "method": "POST", "header": [{ "key": "Content-Type", "value": "application/json" }], "body": { "mode": "raw", "raw": "{\n \"api_token\": \"{{apiToken}}\",\n \"orderID\": \"\"\n}" }, "url": { "raw": "{{baseUrl}}/deleteOrder", "host": ["{{baseUrl}}"], "path": ["deleteOrder"] }, "description": "Deletes an order." } }, { "name": "List orders", "request": { "method": "POST", "header": [{ "key": "Content-Type", "value": "application/json" }], "body": { "mode": "raw", "raw": "{\n \"api_token\": \"{{apiToken}}\"\n}" }, "url": { "raw": "{{baseUrl}}/getOrders", "host": ["{{baseUrl}}"], "path": ["getOrders"] }, "description": "Retrieves orders by customer, route, date, or status." } }, { "name": "Get a garment", "request": { "method": "POST", "header": [{ "key": "Content-Type", "value": "application/json" }], "body": { "mode": "raw", "raw": "{\n \"api_token\": \"{{apiToken}}\",\n \"barcode\": \"\"\n}" }, "url": { "raw": "{{baseUrl}}/getGarment", "host": ["{{baseUrl}}"], "path": ["getGarment"] }, "description": "Fetches a single garment by barcode." } }, { "name": "List garments in an order", "request": { "method": "POST", "header": [{ "key": "Content-Type", "value": "application/json" }], "body": { "mode": "raw", "raw": "{\n \"api_token\": \"{{apiToken}}\",\n \"orderID\": \"\"\n}" }, "url": { "raw": "{{baseUrl}}/getGarments", "host": ["{{baseUrl}}"], "path": ["getGarments"] }, "description": "Retrieves all garments in an order." } }, { "name": "Update a garment", "request": { "method": "POST", "header": [{ "key": "Content-Type", "value": "application/json" }], "body": { "mode": "raw", "raw": "{\n \"api_token\": \"{{apiToken}}\",\n \"barcode\": \"\"\n}" }, "url": { "raw": "{{baseUrl}}/updateGarment", "host": ["{{baseUrl}}"], "path": ["updateGarment"] }, "description": "Updates garment color, notes, location, or status." } } ] }, { "name": "Products & Inventory", "item": [ { "name": "List products", "request": { "method": "POST", "header": [{ "key": "Content-Type", "value": "application/json" }], "body": { "mode": "raw", "raw": "{\n \"api_token\": \"{{apiToken}}\"\n}" }, "url": { "raw": "{{baseUrl}}/getProducts", "host": ["{{baseUrl}}"], "path": ["getProducts"] }, "description": "Lists active products, optionally with parents and upcharges." } }, { "name": "List price lists", "request": { "method": "POST", "header": [{ "key": "Content-Type", "value": "application/json" }], "body": { "mode": "raw", "raw": "{\n \"api_token\": \"{{apiToken}}\"\n}" }, "url": { "raw": "{{baseUrl}}/getPriceLists", "host": ["{{baseUrl}}"], "path": ["getPriceLists"] }, "description": "Retrieves all active price lists." } }, { "name": "Get inventory", "request": { "method": "POST", "header": [{ "key": "Content-Type", "value": "application/json" }], "body": { "mode": "raw", "raw": "{\n \"api_token\": \"{{apiToken}}\"\n}" }, "url": { "raw": "{{baseUrl}}/getInventory", "host": ["{{baseUrl}}"], "path": ["getInventory"] }, "description": "Fetches current inventory stock levels." } } ] }, { "name": "Pickup & Delivery", "item": [ { "name": "Create a recurring pickup", "request": { "method": "POST", "header": [{ "key": "Content-Type", "value": "application/json" }], "body": { "mode": "raw", "raw": "{\n \"api_token\": \"{{apiToken}}\",\n \"customerID\": \"\"\n}" }, "url": { "raw": "{{baseUrl}}/repeatPickup", "host": ["{{baseUrl}}"], "path": ["repeatPickup"] }, "description": "Creates a scheduled recurring pickup." } }, { "name": "Update a recurring pickup", "request": { "method": "POST", "header": [{ "key": "Content-Type", "value": "application/json" }], "body": { "mode": "raw", "raw": "{\n \"api_token\": \"{{apiToken}}\",\n \"pickupID\": \"\"\n}" }, "url": { "raw": "{{baseUrl}}/updateRepeatPickup", "host": ["{{baseUrl}}"], "path": ["updateRepeatPickup"] }, "description": "Modifies an existing recurring pickup schedule." } }, { "name": "Cancel a recurring pickup", "request": { "method": "POST", "header": [{ "key": "Content-Type", "value": "application/json" }], "body": { "mode": "raw", "raw": "{\n \"api_token\": \"{{apiToken}}\",\n \"pickupID\": \"\"\n}" }, "url": { "raw": "{{baseUrl}}/deletePickup", "host": ["{{baseUrl}}"], "path": ["deletePickup"] }, "description": "Cancels a recurring pickup." } }, { "name": "List recurring pickups", "request": { "method": "POST", "header": [{ "key": "Content-Type", "value": "application/json" }], "body": { "mode": "raw", "raw": "{\n \"api_token\": \"{{apiToken}}\",\n \"customerID\": \"\"\n}" }, "url": { "raw": "{{baseUrl}}/getPickups", "host": ["{{baseUrl}}"], "path": ["getPickups"] }, "description": "Retrieves a customer's recurring pickups." } }, { "name": "Get available dates", "request": { "method": "POST", "header": [{ "key": "Content-Type", "value": "application/json" }], "body": { "mode": "raw", "raw": "{\n \"api_token\": \"{{apiToken}}\"\n}" }, "url": { "raw": "{{baseUrl}}/getDates", "host": ["{{baseUrl}}"], "path": ["getDates"] }, "description": "Available pickup/delivery dates with slot counts." } }, { "name": "Get time slots", "request": { "method": "POST", "header": [{ "key": "Content-Type", "value": "application/json" }], "body": { "mode": "raw", "raw": "{\n \"api_token\": \"{{apiToken}}\"\n}" }, "url": { "raw": "{{baseUrl}}/getSlots", "host": ["{{baseUrl}}"], "path": ["getSlots"] }, "description": "Time slots for a route on a given day." } }, { "name": "Resolve a route", "request": { "method": "POST", "header": [{ "key": "Content-Type", "value": "application/json" }], "body": { "mode": "raw", "raw": "{\n \"api_token\": \"{{apiToken}}\",\n \"address\": \"\"\n}" }, "url": { "raw": "{{baseUrl}}/getRoute", "host": ["{{baseUrl}}"], "path": ["getRoute"] }, "description": "Determines the delivery route from address or coordinates." } }, { "name": "Get driver location", "request": { "method": "POST", "header": [{ "key": "Content-Type", "value": "application/json" }], "body": { "mode": "raw", "raw": "{\n \"api_token\": \"{{apiToken}}\",\n \"orderID\": \"\"\n}" }, "url": { "raw": "{{baseUrl}}/driverLocation", "host": ["{{baseUrl}}"], "path": ["driverLocation"] }, "description": "Current driver location for an order." } } ] }, { "name": "Payments & Promotions", "item": [ { "name": "List payments", "request": { "method": "POST", "header": [{ "key": "Content-Type", "value": "application/json" }], "body": { "mode": "raw", "raw": "{\n \"api_token\": \"{{apiToken}}\"\n}" }, "url": { "raw": "{{baseUrl}}/getPayments", "host": ["{{baseUrl}}"], "path": ["getPayments"] }, "description": "Lists payments with optional date filtering." } }, { "name": "List invoices", "request": { "method": "POST", "header": [{ "key": "Content-Type", "value": "application/json" }], "body": { "mode": "raw", "raw": "{\n \"api_token\": \"{{apiToken}}\"\n}" }, "url": { "raw": "{{baseUrl}}/getInvoices", "host": ["{{baseUrl}}"], "path": ["getInvoices"] }, "description": "Retrieves invoices by customer, business, or date." } }, { "name": "Save a payment card", "request": { "method": "POST", "header": [{ "key": "Content-Type", "value": "application/json" }], "body": { "mode": "raw", "raw": "{\n \"api_token\": \"{{apiToken}}\",\n \"customerID\": \"\",\n \"token\": \"\"\n}" }, "url": { "raw": "{{baseUrl}}/addCard", "host": ["{{baseUrl}}"], "path": ["addCard"] }, "description": "Saves a card via Stripe/Clearent/Amazon token." } }, { "name": "Charge a saved card", "request": { "method": "POST", "header": [{ "key": "Content-Type", "value": "application/json" }], "body": { "mode": "raw", "raw": "{\n \"api_token\": \"{{apiToken}}\",\n \"customerID\": \"\",\n \"amount\": 0\n}" }, "url": { "raw": "{{baseUrl}}/chargeCard", "host": ["{{baseUrl}}"], "path": ["chargeCard"] }, "description": "Charges a customer's saved card." } }, { "name": "List saved cards", "request": { "method": "POST", "header": [{ "key": "Content-Type", "value": "application/json" }], "body": { "mode": "raw", "raw": "{\n \"api_token\": \"{{apiToken}}\",\n \"customerID\": \"\"\n}" }, "url": { "raw": "{{baseUrl}}/getCards", "host": ["{{baseUrl}}"], "path": ["getCards"] }, "description": "Lists saved cards by provider." } }, { "name": "Set default card", "request": { "method": "POST", "header": [{ "key": "Content-Type", "value": "application/json" }], "body": { "mode": "raw", "raw": "{\n \"api_token\": \"{{apiToken}}\",\n \"customerID\": \"\",\n \"cardID\": \"\"\n}" }, "url": { "raw": "{{baseUrl}}/setDefaultCard", "host": ["{{baseUrl}}"], "path": ["setDefaultCard"] }, "description": "Designates the default payment method." } }, { "name": "Create a subscription", "request": { "method": "POST", "header": [{ "key": "Content-Type", "value": "application/json" }], "body": { "mode": "raw", "raw": "{\n \"api_token\": \"{{apiToken}}\",\n \"customerID\": \"\"\n}" }, "url": { "raw": "{{baseUrl}}/addSubscription", "host": ["{{baseUrl}}"], "path": ["addSubscription"] }, "description": "Enables a recurring subscription (supports 3D Secure)." } }, { "name": "Cancel a subscription", "request": { "method": "POST", "header": [{ "key": "Content-Type", "value": "application/json" }], "body": { "mode": "raw", "raw": "{\n \"api_token\": \"{{apiToken}}\",\n \"subscriptionID\": \"\"\n}" }, "url": { "raw": "{{baseUrl}}/deleteSubscription", "host": ["{{baseUrl}}"], "path": ["deleteSubscription"] }, "description": "Cancels a customer subscription." } }, { "name": "Get a subscription", "request": { "method": "POST", "header": [{ "key": "Content-Type", "value": "application/json" }], "body": { "mode": "raw", "raw": "{\n \"api_token\": \"{{apiToken}}\",\n \"customerID\": \"\"\n}" }, "url": { "raw": "{{baseUrl}}/getSubscription", "host": ["{{baseUrl}}"], "path": ["getSubscription"] }, "description": "Retrieves subscription details." } }, { "name": "Apply a promo code", "request": { "method": "POST", "header": [{ "key": "Content-Type", "value": "application/json" }], "body": { "mode": "raw", "raw": "{\n \"api_token\": \"{{apiToken}}\",\n \"promoCode\": \"\"\n}" }, "url": { "raw": "{{baseUrl}}/usePromo", "host": ["{{baseUrl}}"], "path": ["usePromo"] }, "description": "Applies a promo/coupon code, or validates it only." } }, { "name": "Convert loyalty points", "request": { "method": "POST", "header": [{ "key": "Content-Type", "value": "application/json" }], "body": { "mode": "raw", "raw": "{\n \"api_token\": \"{{apiToken}}\",\n \"customerID\": \"\",\n \"points\": 0\n}" }, "url": { "raw": "{{baseUrl}}/convertLoyaltyPoints", "host": ["{{baseUrl}}"], "path": ["convertLoyaltyPoints"] }, "description": "Converts loyalty points to customer credit." } } ] }, { "name": "Business & Reporting", "item": [ { "name": "List business accounts", "request": { "method": "POST", "header": [{ "key": "Content-Type", "value": "application/json" }], "body": { "mode": "raw", "raw": "{\n \"api_token\": \"{{apiToken}}\"\n}" }, "url": { "raw": "{{baseUrl}}/getBusinessAccounts", "host": ["{{baseUrl}}"], "path": ["getBusinessAccounts"] }, "description": "Retrieves business account configurations." } }, { "name": "Get summary report", "request": { "method": "POST", "header": [{ "key": "Content-Type", "value": "application/json" }], "body": { "mode": "raw", "raw": "{\n \"api_token\": \"{{apiToken}}\"\n}" }, "url": { "raw": "{{baseUrl}}/summaryReport", "host": ["{{baseUrl}}"], "path": ["summaryReport"] }, "description": "Daily summary metrics for a date range." } }, { "name": "Get order photos", "request": { "method": "POST", "header": [{ "key": "Content-Type", "value": "application/json" }], "body": { "mode": "raw", "raw": "{\n \"api_token\": \"{{apiToken}}\",\n \"orderID\": \"\"\n}" }, "url": { "raw": "{{baseUrl}}/getPhotos", "host": ["{{baseUrl}}"], "path": ["getPhotos"] }, "description": "Retrieves photos associated with an order." } }, { "name": "Add customer to group", "request": { "method": "POST", "header": [{ "key": "Content-Type", "value": "application/json" }], "body": { "mode": "raw", "raw": "{\n \"api_token\": \"{{apiToken}}\",\n \"customerID\": \"\",\n \"groupID\": \"\"\n}" }, "url": { "raw": "{{baseUrl}}/addToCustomerGroup", "host": ["{{baseUrl}}"], "path": ["addToCustomerGroup"] }, "description": "Assigns a customer to a customer group." } }, { "name": "Get referral code", "request": { "method": "POST", "header": [{ "key": "Content-Type", "value": "application/json" }], "body": { "mode": "raw", "raw": "{\n \"api_token\": \"{{apiToken}}\",\n \"customerID\": \"\"\n}" }, "url": { "raw": "{{baseUrl}}/getReferral", "host": ["{{baseUrl}}"], "path": ["getReferral"] }, "description": "Retrieves a referral code and gift details." } } ] }, { "name": "Messaging", "item": [ { "name": "Send a message", "request": { "method": "POST", "header": [{ "key": "Content-Type", "value": "application/json" }], "body": { "mode": "raw", "raw": "{\n \"api_token\": \"{{apiToken}}\",\n \"customerID\": \"\",\n \"message\": \"\"\n}" }, "url": { "raw": "{{baseUrl}}/addMessage", "host": ["{{baseUrl}}"], "path": ["addMessage"] }, "description": "Sends a message from a customer to the store." } }, { "name": "List messages", "request": { "method": "POST", "header": [{ "key": "Content-Type", "value": "application/json" }], "body": { "mode": "raw", "raw": "{\n \"api_token\": \"{{apiToken}}\"\n}" }, "url": { "raw": "{{baseUrl}}/getMessages", "host": ["{{baseUrl}}"], "path": ["getMessages"] }, "description": "Retrieves message history with an optional limit." } }, { "name": "Register a push token", "request": { "method": "POST", "header": [{ "key": "Content-Type", "value": "application/json" }], "body": { "mode": "raw", "raw": "{\n \"api_token\": \"{{apiToken}}\",\n \"customerID\": \"\",\n \"token\": \"\"\n}" }, "url": { "raw": "{{baseUrl}}/addPushToken", "host": ["{{baseUrl}}"], "path": ["addPushToken"] }, "description": "Registers a Firebase push token for iOS/Android." } }, { "name": "Remove a push token", "request": { "method": "POST", "header": [{ "key": "Content-Type", "value": "application/json" }], "body": { "mode": "raw", "raw": "{\n \"api_token\": \"{{apiToken}}\",\n \"token\": \"\"\n}" }, "url": { "raw": "{{baseUrl}}/deletePushToken", "host": ["{{baseUrl}}"], "path": ["deletePushToken"] }, "description": "Removes a push token on logout/uninstall." } } ] } ] }