{"openapi":"3.1.0","info":{"title":"Mr Mobility public API","version":"1.0.0","summary":"Read-only product catalogue, categories and content for mrmobility.co.za (mobility and home-care equipment, South Africa).","description":"This documents the public, unauthenticated JSON endpoints already served by this WordPress + WooCommerce site.\n\n- All prices are South African Rand (ZAR), VAT inclusive, returned in cents as strings.\n- Errors are JSON objects: {\"code\", \"message\", \"data\": {\"status\"}}.\n- Purchasing, cart and checkout are done on the website (HTML). Cart/checkout endpoints require a session token (Cart-Token / Nonce headers) and are intentionally not listed here.\n- Every HTML page is also available as Markdown by sending `Accept: text/markdown`.\n- Contact: 087 000 2025, info@mrmobility.co.za. Rentals: https://mrmobility.co.za/hire-and-rentals/","contact":{"name":"Mr Mobility","url":"https://mrmobility.co.za/contact-us/","email":"info@mrmobility.co.za"}},"servers":[{"url":"https://mrmobility.co.za"}],"paths":{"/wp-json/wc/store/v1/products":{"get":{"summary":"List products","operationId":"listProducts","parameters":[{"name":"search","in":"query","description":"Free-text search across product name and description","schema":{"type":"string"}},{"name":"category","in":"query","description":"Comma-separated category IDs or slugs (e.g. mobility-scooters, rise-recliners, beds)","schema":{"type":"string"}},{"name":"tag","in":"query","description":"Comma-separated tag IDs or slugs","schema":{"type":"string"}},{"name":"on_sale","in":"query","description":"Only products currently on sale","schema":{"type":"boolean"}},{"name":"stock_status","in":"query","description":"Comma-separated: instock, outofstock, onbackorder","schema":{"type":"string"}},{"name":"min_price","in":"query","description":"Minimum price in minor units (cents)","schema":{"type":"integer"}},{"name":"max_price","in":"query","description":"Maximum price in minor units (cents)","schema":{"type":"integer"}},{"name":"orderby","in":"query","description":"Sort field","schema":{"type":"string","enum":["date","id","title","slug","price","popularity","rating","menu_order"]}},{"name":"order","in":"query","description":"Sort direction","schema":{"type":"string","enum":["asc","desc"]}},{"name":"per_page","in":"query","description":"Items per page (max 100)","schema":{"type":"integer","default":10,"maximum":100}},{"name":"page","in":"query","description":"Page number","schema":{"type":"integer","default":1}},{"name":"_fields","in":"query","description":"Comma-separated list of fields to return, e.g. id,name,permalink,prices,is_in_stock","schema":{"type":"string"}}],"responses":{"200":{"description":"Product list","headers":{"X-WP-Total":{"description":"Total number of items","schema":{"type":"integer"}},"X-WP-TotalPages":{"description":"Total number of pages","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Product"}}}}},"400":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/wp-json/wc/store/v1/products/{id}":{"get":{"summary":"Get one product by ID or slug","operationId":"getProduct","parameters":[{"name":"id","in":"path","required":true,"description":"Numeric product ID or URL slug (e.g. mobie-folding-mobility-scooter)","schema":{"type":"string"}}],"responses":{"200":{"description":"Product","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Product"}}}},"404":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/wp-json/wc/store/v1/products/categories":{"get":{"summary":"List product categories","operationId":"listCategories","parameters":[{"name":"per_page","in":"query","description":"Items per page (max 100)","schema":{"type":"integer","default":10,"maximum":100}},{"name":"page","in":"query","description":"Page number","schema":{"type":"integer"}}],"responses":{"200":{"description":"Category list","headers":{"X-WP-Total":{"description":"Total number of items","schema":{"type":"integer"}},"X-WP-TotalPages":{"description":"Total number of pages","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Term"}}}}}}}},"/wp-json/wc/store/v1/products/categories/{id}":{"get":{"summary":"Get one product category","operationId":"getCategory","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Category","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Term"}}}},"404":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/wp-json/wc/store/v1/products/attributes":{"get":{"summary":"List product attributes (e.g. colour, size)","operationId":"listAttributes","responses":{"200":{"description":"Attribute list","content":{"application/json":{"schema":{"type":"array","items":{"type":"object"}}}}}}}},"/wp-json/wp/v2/posts":{"get":{"summary":"List blog posts and buying guides","operationId":"listPosts","parameters":[{"name":"search","in":"query","description":"Free-text search","schema":{"type":"string"}},{"name":"per_page","in":"query","description":"Items per page (max 100)","schema":{"type":"integer","default":10,"maximum":100}},{"name":"page","in":"query","description":"Page number","schema":{"type":"integer"}},{"name":"_fields","in":"query","description":"Comma-separated fields, e.g. id,link,title,excerpt","schema":{"type":"string"}}],"responses":{"200":{"description":"Post list","headers":{"X-WP-Total":{"description":"Total number of items","schema":{"type":"integer"}},"X-WP-TotalPages":{"description":"Total number of pages","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Post"}}}}},"400":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/wp-json/wp/v2/posts/{id}":{"get":{"summary":"Get one blog post","operationId":"getPost","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Post","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Post"}}}},"404":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/wp-json/wp/v2/pages":{"get":{"summary":"List site pages (about, delivery, rentals, contact)","operationId":"listPages","parameters":[{"name":"search","in":"query","description":"Free-text search","schema":{"type":"string"}},{"name":"per_page","in":"query","description":"Items per page (max 100)","schema":{"type":"integer"}},{"name":"_fields","in":"query","description":"Comma-separated fields","schema":{"type":"string"}}],"responses":{"200":{"description":"Page list","headers":{"X-WP-Total":{"description":"Total number of items","schema":{"type":"integer"}},"X-WP-TotalPages":{"description":"Total number of pages","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Post"}}}}}}}},"/wp-json/wp/v2/search":{"get":{"summary":"Site-wide search across posts, pages and products","operationId":"search","parameters":[{"name":"search","in":"query","description":"Search phrase","schema":{"type":"string"}},{"name":"subtype","in":"query","description":"Content type: post, page, product or any","schema":{"type":"string","default":"any"}},{"name":"per_page","in":"query","description":"Items per page (max 100)","schema":{"type":"integer"}}],"responses":{"200":{"description":"Search results","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"title":{"type":"string"},"url":{"type":"string","format":"uri"},"type":{"type":"string"},"subtype":{"type":"string"}}}}}}},"400":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}},"components":{"schemas":{"Error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"Machine-readable error code, e.g. woocommerce_rest_product_invalid_id, rest_no_route"},"message":{"type":"string","description":"Human-readable explanation"},"data":{"type":"object","properties":{"status":{"type":"integer","description":"HTTP status code"}}}},"example":{"code":"woocommerce_rest_product_invalid_id","message":"Invalid product ID.","data":{"status":404}}},"Product":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"slug":{"type":"string"},"permalink":{"type":"string","format":"uri","description":"Canonical product page (HTML; also available as Markdown via Accept: text/markdown)"},"sku":{"type":"string"},"description":{"type":"string","description":"HTML"},"short_description":{"type":"string","description":"HTML"},"on_sale":{"type":"boolean"},"is_in_stock":{"type":"boolean"},"is_purchasable":{"type":"boolean"},"average_rating":{"type":"string"},"review_count":{"type":"integer"},"prices":{"type":"object","properties":{"currency_code":{"type":"string","example":"ZAR"},"currency_minor_unit":{"type":"integer","example":2},"price":{"type":"string","description":"Amount in minor units (cents) as a string, per currency_minor_unit. Example: \"2999500\" = R29,995.00"},"regular_price":{"type":"string","description":"Amount in minor units (cents) as a string, per currency_minor_unit. Example: \"2999500\" = R29,995.00"},"sale_price":{"type":"string","description":"Amount in minor units (cents) as a string, per currency_minor_unit. Example: \"2999500\" = R29,995.00"},"price_range":{"type":["object","null"],"properties":{"min_amount":{"type":"string","description":"Amount in minor units (cents) as a string, per currency_minor_unit. Example: \"2999500\" = R29,995.00"},"max_amount":{"type":"string","description":"Amount in minor units (cents) as a string, per currency_minor_unit. Example: \"2999500\" = R29,995.00"}}}}},"images":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"src":{"type":"string","format":"uri"},"alt":{"type":"string"}}}},"categories":{"type":"array","items":{"$ref":"#/components/schemas/Term"}},"tags":{"type":"array","items":{"$ref":"#/components/schemas/Term"}},"attributes":{"type":"array","items":{"type":"object"}},"variations":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"attributes":{"type":"array","items":{"type":"object"}}}}}}},"Term":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"slug":{"type":"string"},"description":{"type":"string"},"parent":{"type":"integer"},"count":{"type":"integer"},"link":{"type":"string","format":"uri"}}},"Post":{"type":"object","properties":{"id":{"type":"integer"},"date":{"type":"string","format":"date-time"},"slug":{"type":"string"},"link":{"type":"string","format":"uri"},"title":{"type":"object","properties":{"rendered":{"type":"string"}}},"excerpt":{"type":"object","properties":{"rendered":{"type":"string"}}},"content":{"type":"object","properties":{"rendered":{"type":"string","description":"HTML"}}}}}}},"externalDocs":{"description":"WooCommerce Store API reference","url":"https://developer.woocommerce.com/docs/apis/store-api/"}}