{
  "openapi": "3.0.0",
  "info": {
    "title": "occtoo (Demo) Occtoo Front End Documentation API",
    "version": "3"
  },
  "servers": [
    {
      "url": "https://global.occtoo.com/occtoodemo/occtooFrontEndDocumentation/v3"
    }
  ],
  "paths": {
    "/products": {
      "get": {
        "operationId": "products_Get",
        "parameters": [
          {
            "name": "language",
            "in": "query",
            "schema": {
              "title": "String",
              "type": "string"
            }
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "title": "String",
              "type": "string"
            }
          },
          {
            "name": "sortAsc",
            "in": "query",
            "schema": {
              "title": "String",
              "type": "string"
            }
          },
          {
            "name": "sortDesc",
            "in": "query",
            "schema": {
              "title": "String",
              "type": "string"
            }
          },
          {
            "name": "searchOn",
            "in": "query",
            "schema": {
              "title": "String",
              "type": "string"
            }
          },
          {
            "name": "periodSince",
            "in": "query",
            "schema": {
              "title": "DateTime",
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "periodBefore",
            "in": "query",
            "schema": {
              "title": "DateTime",
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "after",
            "in": "query",
            "schema": {
              "title": "String",
              "type": "string"
            }
          },
          {
            "name": "caseInsensitiveSearch",
            "in": "query",
            "schema": {
              "title": "Boolean",
              "type": "boolean"
            }
          },
          {
            "name": "top",
            "in": "query",
            "schema": {
              "title": "Integer",
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "title": "Integer",
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "includeTotals",
            "in": "query",
            "schema": {
              "title": "Boolean",
              "type": "boolean"
            }
          },
          {
            "name": "includeMeta",
            "in": "query",
            "schema": {
              "title": "Boolean",
              "type": "boolean"
            }
          },
          {
            "name": "listIds",
            "in": "query",
            "schema": {
              "title": "Boolean",
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/productsApiResponse"
                }
              }
            }
          },
          "401": {
            "description": ""
          }
        }
      },
      "post": {
        "operationId": "products",
        "requestBody": {
          "x-name": "body",
          "content": {
            "application/json": {
              "schema": {
                "title": "PostRequestBody",
                "type": "object",
                "description": "Body request schema for endpoint",
                "properties": {
                  "language": {
                    "type": "string"
                  },
                  "includeMeta": {
                    "type": "boolean"
                  },
                  "includeTotals": {
                    "type": "boolean"
                  },
                  "listIds": {
                    "type": "integer"
                  },
                  "top": {
                    "type": "integer"
                  },
                  "skip": {
                    "type": "integer"
                  },
                  "searchOn": {
                    "type": "array",
                    "items": {
                      "title": "String",
                      "type": "string"
                    }
                  },
                  "search": {
                    "type": "array",
                    "items": {
                      "title": "String",
                      "type": "string"
                    }
                  },
                  "sortAsc": {
                    "type": "array",
                    "items": {
                      "title": "String",
                      "type": "string"
                    }
                  },
                  "sortDesc": {
                    "type": "array",
                    "items": {
                      "title": "String",
                      "type": "string"
                    }
                  },
                  "after": {
                    "type": "array",
                    "items": {
                      "title": "String",
                      "type": "string"
                    }
                  },
                  "caseInsensitiveSearch": {
                    "type": "boolean"
                  },
                  "period": {
                    "type": "object",
                    "additionalProperties": false,
                    "properties": {
                      "since": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "before": {
                        "type": "string",
                        "format": "date-time"
                      }
                    }
                  },
                  "filter": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "additionalProperties": false,
                      "properties": {
                        "must": {
                          "type": "object",
                          "additionalProperties": false,
                          "anyOf": [
                            {
                              "title": "simpleCriteria",
                              "type": "object",
                              "description": "Json schema representing simple criteria filtering",
                              "additionalProperties": false,
                              "properties": {
                                "id": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  }
                                },
                                "thumbnail": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  }
                                },
                                "urls": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  }
                                },
                                "weight": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  }
                                },
                                "name": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  }
                                },
                                "category": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  }
                                },
                                "color": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  }
                                },
                                "concept": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  }
                                },
                                "description": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  }
                                },
                                "gender": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  }
                                },
                                "productNumber": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  }
                                },
                                "title": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  }
                                },
                                "washInstructions": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  }
                                },
                                "collection": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  }
                                },
                                "_segments": {
                                  "type": "string"
                                }
                              }
                            },
                            {
                              "title": "complexCriteria",
                              "type": "object",
                              "description": "Json schema representing complex criteria filtering",
                              "additionalProperties": false,
                              "properties": {
                                "id": {
                                  "type": "object",
                                  "additionalProperties": false,
                                  "properties": {
                                    "operator": {
                                      "type": "string"
                                    },
                                    "values": {
                                      "type": "array",
                                      "items": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                },
                                "thumbnail": {
                                  "type": "object",
                                  "additionalProperties": false,
                                  "properties": {
                                    "operator": {
                                      "type": "string"
                                    },
                                    "values": {
                                      "type": "array",
                                      "items": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                },
                                "urls": {
                                  "type": "object",
                                  "additionalProperties": false,
                                  "properties": {
                                    "operator": {
                                      "type": "string"
                                    },
                                    "values": {
                                      "type": "array",
                                      "items": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                },
                                "weight": {
                                  "type": "object",
                                  "additionalProperties": false,
                                  "properties": {
                                    "operator": {
                                      "type": "string"
                                    },
                                    "values": {
                                      "type": "array",
                                      "items": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                },
                                "name": {
                                  "type": "object",
                                  "additionalProperties": false,
                                  "properties": {
                                    "operator": {
                                      "type": "string"
                                    },
                                    "values": {
                                      "type": "array",
                                      "items": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                },
                                "category": {
                                  "type": "object",
                                  "additionalProperties": false,
                                  "properties": {
                                    "operator": {
                                      "type": "string"
                                    },
                                    "values": {
                                      "type": "array",
                                      "items": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                },
                                "color": {
                                  "type": "object",
                                  "additionalProperties": false,
                                  "properties": {
                                    "operator": {
                                      "type": "string"
                                    },
                                    "values": {
                                      "type": "array",
                                      "items": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                },
                                "concept": {
                                  "type": "object",
                                  "additionalProperties": false,
                                  "properties": {
                                    "operator": {
                                      "type": "string"
                                    },
                                    "values": {
                                      "type": "array",
                                      "items": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                },
                                "description": {
                                  "type": "object",
                                  "additionalProperties": false,
                                  "properties": {
                                    "operator": {
                                      "type": "string"
                                    },
                                    "values": {
                                      "type": "array",
                                      "items": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                },
                                "gender": {
                                  "type": "object",
                                  "additionalProperties": false,
                                  "properties": {
                                    "operator": {
                                      "type": "string"
                                    },
                                    "values": {
                                      "type": "array",
                                      "items": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                },
                                "productNumber": {
                                  "type": "object",
                                  "additionalProperties": false,
                                  "properties": {
                                    "operator": {
                                      "type": "string"
                                    },
                                    "values": {
                                      "type": "array",
                                      "items": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                },
                                "title": {
                                  "type": "object",
                                  "additionalProperties": false,
                                  "properties": {
                                    "operator": {
                                      "type": "string"
                                    },
                                    "values": {
                                      "type": "array",
                                      "items": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                },
                                "washInstructions": {
                                  "type": "object",
                                  "additionalProperties": false,
                                  "properties": {
                                    "operator": {
                                      "type": "string"
                                    },
                                    "values": {
                                      "type": "array",
                                      "items": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                },
                                "collection": {
                                  "type": "object",
                                  "additionalProperties": false,
                                  "properties": {
                                    "operator": {
                                      "type": "string"
                                    },
                                    "values": {
                                      "type": "array",
                                      "items": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                },
                                "_segments": {
                                  "type": "object",
                                  "additionalProperties": false,
                                  "properties": {
                                    "operator": {
                                      "type": "string"
                                    },
                                    "values": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            }
                          ]
                        },
                        "mustNot": {
                          "type": "object",
                          "additionalProperties": false,
                          "anyOf": [
                            {
                              "title": "simpleCriteria",
                              "type": "object",
                              "description": "Json schema representing simple criteria filtering",
                              "additionalProperties": false,
                              "properties": {
                                "id": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  }
                                },
                                "thumbnail": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  }
                                },
                                "urls": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  }
                                },
                                "weight": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  }
                                },
                                "name": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  }
                                },
                                "category": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  }
                                },
                                "color": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  }
                                },
                                "concept": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  }
                                },
                                "description": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  }
                                },
                                "gender": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  }
                                },
                                "productNumber": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  }
                                },
                                "title": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  }
                                },
                                "washInstructions": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  }
                                },
                                "collection": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  }
                                },
                                "_segments": {
                                  "type": "string"
                                }
                              }
                            },
                            {
                              "title": "complexCriteria",
                              "type": "object",
                              "description": "Json schema representing complex criteria filtering",
                              "additionalProperties": false,
                              "properties": {
                                "id": {
                                  "type": "object",
                                  "additionalProperties": false,
                                  "properties": {
                                    "operator": {
                                      "type": "string"
                                    },
                                    "values": {
                                      "type": "array",
                                      "items": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                },
                                "thumbnail": {
                                  "type": "object",
                                  "additionalProperties": false,
                                  "properties": {
                                    "operator": {
                                      "type": "string"
                                    },
                                    "values": {
                                      "type": "array",
                                      "items": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                },
                                "urls": {
                                  "type": "object",
                                  "additionalProperties": false,
                                  "properties": {
                                    "operator": {
                                      "type": "string"
                                    },
                                    "values": {
                                      "type": "array",
                                      "items": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                },
                                "weight": {
                                  "type": "object",
                                  "additionalProperties": false,
                                  "properties": {
                                    "operator": {
                                      "type": "string"
                                    },
                                    "values": {
                                      "type": "array",
                                      "items": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                },
                                "name": {
                                  "type": "object",
                                  "additionalProperties": false,
                                  "properties": {
                                    "operator": {
                                      "type": "string"
                                    },
                                    "values": {
                                      "type": "array",
                                      "items": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                },
                                "category": {
                                  "type": "object",
                                  "additionalProperties": false,
                                  "properties": {
                                    "operator": {
                                      "type": "string"
                                    },
                                    "values": {
                                      "type": "array",
                                      "items": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                },
                                "color": {
                                  "type": "object",
                                  "additionalProperties": false,
                                  "properties": {
                                    "operator": {
                                      "type": "string"
                                    },
                                    "values": {
                                      "type": "array",
                                      "items": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                },
                                "concept": {
                                  "type": "object",
                                  "additionalProperties": false,
                                  "properties": {
                                    "operator": {
                                      "type": "string"
                                    },
                                    "values": {
                                      "type": "array",
                                      "items": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                },
                                "description": {
                                  "type": "object",
                                  "additionalProperties": false,
                                  "properties": {
                                    "operator": {
                                      "type": "string"
                                    },
                                    "values": {
                                      "type": "array",
                                      "items": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                },
                                "gender": {
                                  "type": "object",
                                  "additionalProperties": false,
                                  "properties": {
                                    "operator": {
                                      "type": "string"
                                    },
                                    "values": {
                                      "type": "array",
                                      "items": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                },
                                "productNumber": {
                                  "type": "object",
                                  "additionalProperties": false,
                                  "properties": {
                                    "operator": {
                                      "type": "string"
                                    },
                                    "values": {
                                      "type": "array",
                                      "items": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                },
                                "title": {
                                  "type": "object",
                                  "additionalProperties": false,
                                  "properties": {
                                    "operator": {
                                      "type": "string"
                                    },
                                    "values": {
                                      "type": "array",
                                      "items": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                },
                                "washInstructions": {
                                  "type": "object",
                                  "additionalProperties": false,
                                  "properties": {
                                    "operator": {
                                      "type": "string"
                                    },
                                    "values": {
                                      "type": "array",
                                      "items": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                },
                                "collection": {
                                  "type": "object",
                                  "additionalProperties": false,
                                  "properties": {
                                    "operator": {
                                      "type": "string"
                                    },
                                    "values": {
                                      "type": "array",
                                      "items": {
                                        "type": "string"
                                      }
                                    }
                                  }
                                },
                                "_segments": {
                                  "type": "object",
                                  "additionalProperties": false,
                                  "properties": {
                                    "operator": {
                                      "type": "string"
                                    },
                                    "values": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            }
                          ]
                        }
                      }
                    }
                  },
                  "segments": {
                    "type": "array",
                    "additionalItems": false,
                    "additionalProperties": false,
                    "items": {
                      "type": "object",
                      "properties": {
                        "include": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          }
                        },
                        "exclude": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/productsApiResponse"
                }
              }
            }
          },
          "401": {
            "description": ""
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "productsApiResponse": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "total": {
            "type": "integer"
          },
          "language": {
            "type": "string"
          },
          "results": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "id": {
                  "type": "string"
                },
                "thumbnail": {
                  "type": "string"
                },
                "urls": {
                  "type": "string"
                },
                "weight": {
                  "type": "string"
                },
                "name": {
                  "type": "string"
                },
                "category": {
                  "type": "string"
                },
                "color": {
                  "type": "string"
                },
                "concept": {
                  "type": "string"
                },
                "description": {
                  "type": "string"
                },
                "gender": {
                  "type": "string"
                },
                "productNumber": {
                  "type": "string"
                },
                "title": {
                  "type": "string"
                },
                "washInstructions": {
                  "type": "string"
                },
                "collection": {
                  "type": "string"
                }
              }
            }
          },
          "facets": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "propertyId": {
                  "type": "string"
                },
                "header": {
                  "type": "string"
                },
                "values": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "additionalProperties": false,
                    "properties": {
                      "key": {
                        "type": "string"
                      },
                      "count": {
                        "type": "integer"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}