---
title: Search products
slug: search-products
docTags: 
createdAt: 2026-04-17T07:48:39.600Z
---

{
  "id": "uwiG_FWowq5w8idWS6d4s",
  "type": "api-oas-v2",
  "data": {
    "method": "GET",
    "url": "https://api.archbee.com/v2/products",
    "servers": [
      {
        "url": "https://api.archbee.com/v2/products",
        "description": "Production server"
      },
      {
        "url": "https://staging-api.archbee.com/v2/products",
        "description": "Staging server"
      },
      {
        "url": "https://{region}.api.archbee.com/{version}/products",
        "description": "Regional server with variables"
      }
    ],
    "name": "Search products",
    "description": "<p>Search and filter the product catalog. Demonstrates query arrays with enums,\npagination parameters, and multiple response content types.</p>",
    "contentType": "application/json",
    "request": {
      "pathParameters": [],
      "headerParameters": [],
      "queryParameters": [
        {
          "kind": "optional",
          "name": "page",
          "type": "integer<int32>",
          "example": 1,
          "description": "<p>Page number for pagination (1-indexed)</p>",
          "default": 1,
          "format": "int32",
          "minimum": 1
        },
        {
          "kind": "optional",
          "name": "limit",
          "type": "integer<int32>",
          "example": 20,
          "description": "Number of items per page",
          "default": 20,
          "format": "int32",
          "minimum": 1,
          "maximum": 100
        },
        {
          "kind": "optional",
          "name": "q",
          "type": "string",
          "example": "wireless headphones",
          "description": "<p>Full-text search query</p>",
          "minLength": 1,
          "maxLength": 200
        },
        {
          "kind": "optional",
          "name": "category",
          "type": "array",
          "description": "Filter by product categories (multi-select)",
          "schema": [],
          "itemType": "string",
          "customType": "string[]"
        },
        {
          "kind": "optional",
          "name": "priceMin",
          "type": "number<double>",
          "example": 9.99,
          "description": "<p>Minimum price filter (inclusive)</p>",
          "format": "double",
          "minimum": 0
        },
        {
          "kind": "optional",
          "name": "priceMax",
          "type": "number<double>",
          "example": 999.99,
          "description": "<p>Maximum price filter (inclusive)</p>",
          "format": "double",
          "minimum": 0
        },
        {
          "kind": "optional",
          "name": "inStock",
          "type": "boolean",
          "description": "Filter by stock availability",
          "default": true
        },
        {
          "kind": "optional",
          "name": "sortBy",
          "type": "string",
          "description": "Sort field",
          "default": "created_at",
          "enum": [
            "price",
            "name",
            "rating",
            "created_at"
          ]
        },
        {
          "kind": "optional",
          "name": "sortDir",
          "type": "string",
          "description": "Sort direction",
          "default": "desc",
          "enum": [
            "asc",
            "desc"
          ]
        }
      ],
      "bodyDataParameters": [],
      "formDataParameters": [],
      "oAuthParameters": [
        {
          "id": "bearerAuth",
          "name": "bearerAuth",
          "kind": "optional",
          "type": "http",
          "description": "<p>HTTP Bearer token authentication (JWT)</p>",
          "scheme": "bearer"
        }
      ]
    },
    "responses": [
      {
        "statusCode": "200",
        "description": "Search results",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "object",
            "description": "",
            "schema": [
              {
                "name": "data",
                "kind": "optional",
                "type": "object",
                "description": "",
                "modelRef": "#/components/schemas/Product",
                "customType": "Product[]",
                "schema": [],
                "complexType": "allOf",
                "complexItems": [
                  {
                    "name": "object",
                    "description": "",
                    "schema": [
                      {
                        "name": "id",
                        "kind": "optional",
                        "type": "integer<int64>",
                        "readOnly": true,
                        "description": "",
                        "example": 42,
                        "format": "int64"
                      },
                      {
                        "name": "createdAt",
                        "kind": "optional",
                        "type": "string<date-time>",
                        "readOnly": true,
                        "description": "",
                        "example": "",
                        "format": "date-time"
                      },
                      {
                        "name": "updatedAt",
                        "kind": "optional",
                        "type": "string<date-time>",
                        "readOnly": true,
                        "description": "",
                        "example": "",
                        "format": "date-time"
                      }
                    ]
                  },
                  {
                    "name": "object",
                    "description": "",
                    "schema": []
                  }
                ]
              },
              {
                "name": "meta",
                "kind": "optional",
                "type": "object",
                "description": "Pagination metadata included in list responses",
                "modelRef": "#/components/schemas/PaginationMeta",
                "customType": "PaginationMeta",
                "schema": [
                  {
                    "name": "page",
                    "kind": "optional",
                    "type": "integer<int32>",
                    "description": "",
                    "example": 1,
                    "format": "int32",
                    "minimum": 1
                  },
                  {
                    "name": "limit",
                    "kind": "optional",
                    "type": "integer<int32>",
                    "description": "",
                    "example": 20,
                    "format": "int32",
                    "minimum": 1,
                    "maximum": 100
                  },
                  {
                    "name": "total",
                    "kind": "optional",
                    "type": "integer<int64>",
                    "description": "",
                    "example": 142,
                    "format": "int64",
                    "minimum": 0
                  },
                  {
                    "name": "totalPages",
                    "kind": "optional",
                    "type": "integer<int32>",
                    "description": "",
                    "example": 8,
                    "format": "int32",
                    "minimum": 0
                  }
                ]
              }
            ],
            "isExpanded": true
          }
        ]
      },
      {
        "statusCode": "400",
        "description": "Bad request — invalid input or missing required fields",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "object",
            "example": "{\"code\":\"BAD_REQUEST\",\"message\":\"The request body is invalid\",\"details\":[{\"field\":\"email\",\"message\":\"must be a valid email address\",\"code\":\"INVALID_FORMAT\"}]}",
            "description": "Standard error response",
            "customType": "Error",
            "schema": [
              {
                "name": "code",
                "kind": "required",
                "type": "string",
                "description": "Machine-readable error code",
                "example": "VALIDATION_ERROR"
              },
              {
                "name": "message",
                "kind": "required",
                "type": "string",
                "description": "Human-readable error message",
                "example": "The request body contains invalid fields"
              },
              {
                "name": "details",
                "kind": "optional",
                "type": "array",
                "description": "Detailed validation errors (when applicable)",
                "example": "",
                "itemType": "object",
                "customType": "object[]",
                "schema": [
                  {
                    "name": "field",
                    "kind": "optional",
                    "type": "string",
                    "description": "",
                    "example": "email"
                  },
                  {
                    "name": "message",
                    "kind": "optional",
                    "type": "string",
                    "description": "",
                    "example": "must be a valid email address"
                  },
                  {
                    "name": "code",
                    "kind": "optional",
                    "type": "string",
                    "description": "",
                    "example": "INVALID_FORMAT"
                  }
                ]
              },
              {
                "name": "requestId",
                "kind": "optional",
                "type": "string<uuid>",
                "description": "Correlation ID for support inquiries",
                "example": "",
                "format": "uuid"
              }
            ],
            "modelRef": "#/components/schemas/Error",
            "isExpanded": true
          }
        ]
      }
    ],
    "hasXCodeSamples": false,
    "examples": {
      "languages": [
        {
          "id": "sKrt8kxNf1mD0awnsi-m4",
          "language": "curl",
          "label": "cURL",
          "code": "curl --request GET \\\n     --url 'https://api.archbee.com/v2/products?page=1&limit=20&inStock=true&sortBy=created_at&sortDir=desc' \\\n     --header 'accept: application/json'"
        },
        {
          "id": "UO5RTlWH8OUDCrTeFUOAz",
          "language": "javascript",
          "label": "javascript",
          "code": "var myHeaders = new Headers();\nmyHeaders.append(\"accept\", \"application/json\");\nmyHeaders.append(\"content-type\", \"application/json\");\n\nvar requestOptions = {\n   method: 'GET',\n   headers: myHeaders,\n   redirect: 'follow'\n};\n\nfetch(\"https://api.archbee.com/v2/products?page=1&limit=20&inStock=true&sortBy=created_at&sortDir=desc\", requestOptions)\n   .then(response => response.text())\n   .then(result => console.log(result))\n   .catch(error => console.log('error', error));"
        },
        {
          "id": "6FcaBU_wnh1-pNjnXCtHQ",
          "language": "ruby",
          "label": "Ruby",
          "code": "require \"uri\"\nrequire \"json\"\nrequire \"net/http\"\n\nurl = URI(\"https://api.archbee.com/v2/products?page=1&limit=20&inStock=true&sortBy=created_at&sortDir=desc\")\n\nhttps = Net::HTTP.new(url.host, url.port)\nhttps.use_ssl = true\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"accept\"] = \"application/json\"\nrequest[\"content-type\"] = \"application/json\"\n\nresponse = https.request(request)\nputs response.read_body\n"
        },
        {
          "id": "IpDZC9wg6xgHbcCA3dRlU",
          "language": "python",
          "label": "Python",
          "code": "import requests\nimport json\n\nurl = \"https://api.archbee.com/v2/products?page=1&limit=20&inStock=true&sortBy=created_at&sortDir=desc\"\n\npayload = {}\nheaders = {\n   'accept': 'application/json',\n   'content-type': 'application/json'\n}\n\nresponse = requests.request(\"GET\", url, headers=headers, data=payload)\n\nprint(response.text)\n"
        }
      ],
      "selectedLanguageId": "sKrt8kxNf1mD0awnsi-m4"
    },
    "results": {
      "languages": [
        {
          "id": "Yt28jULETfJhCkUQWQuSP",
          "language": "200",
          "code": "// Search results\n{\n  \"data\": {},\n  \"meta\": {\n    \"page\": 1,\n    \"limit\": 20,\n    \"total\": 142,\n    \"totalPages\": 8\n  }\n}"
        },
        {
          "id": "hj3Mn9mwTfHOzXKAyZARY",
          "language": "400",
          "code": "// Bad request — invalid input or missing required fields\n{\n  \"code\": \"VALIDATION_ERROR\",\n  \"message\": \"The request body contains invalid fields\",\n  \"details\": [\n    {\n      \"field\": \"email\",\n      \"message\": \"must be a valid email address\",\n      \"code\": \"INVALID_FORMAT\"\n    }\n  ],\n  \"requestId\": \"\"\n}"
        }
      ],
      "selectedLanguageId": "Yt28jULETfJhCkUQWQuSP"
    }
  },
  "children": [
    {
      "text": ""
    }
  ]
}