openapi: 3.2.0 info: title: Hyperlabs.Web Categories API version: '1.0' servers: - url: /api tags: - name: Categories paths: /v1/categories: get: tags: - Categories parameters: - name: ProductClassIds in: query schema: title: Guid[] type: array items: title: Guid type: string format: uuid - name: ParentCategoryId in: query schema: title: Nullable`1 type: string format: uuid - name: IsTopLevelOnly in: query schema: title: Nullable`1 type: boolean responses: '200': description: OK /v1/categories/{id}: get: tags: - Categories parameters: - name: id in: path required: true schema: title: Guid type: string format: uuid responses: '200': description: OK /v1/admin/categories: get: tags: - Categories responses: '200': description: OK '401': description: Unauthorized '403': description: Forbidden security: - oauth2: [] post: tags: - Categories requestBody: content: application/json: schema: $ref: '#/components/schemas/Hyperlabs.Web.Areas.Admin.Models.Categories.ChangeCategoryDto' text/json: schema: $ref: '#/components/schemas/Hyperlabs.Web.Areas.Admin.Models.Categories.ChangeCategoryDto' application/*+json: schema: $ref: '#/components/schemas/Hyperlabs.Web.Areas.Admin.Models.Categories.ChangeCategoryDto' responses: '200': description: OK '401': description: Unauthorized '403': description: Forbidden security: - oauth2: [] /v1/admin/categories/{id}: get: tags: - Categories parameters: - name: id in: path required: true schema: title: Guid type: string format: uuid responses: '200': description: OK '401': description: Unauthorized '403': description: Forbidden security: - oauth2: [] put: tags: - Categories parameters: - name: id in: path required: true schema: title: Guid type: string format: uuid requestBody: content: application/json: schema: $ref: '#/components/schemas/Hyperlabs.Web.Areas.Admin.Models.Categories.ChangeCategoryDto' text/json: schema: $ref: '#/components/schemas/Hyperlabs.Web.Areas.Admin.Models.Categories.ChangeCategoryDto' application/*+json: schema: $ref: '#/components/schemas/Hyperlabs.Web.Areas.Admin.Models.Categories.ChangeCategoryDto' responses: '200': description: OK '401': description: Unauthorized '403': description: Forbidden security: - oauth2: [] delete: tags: - Categories parameters: - name: id in: path required: true schema: title: Guid type: string format: uuid responses: '200': description: OK '401': description: Unauthorized '403': description: Forbidden security: - oauth2: [] /v1/admin/categories/{id}/move: post: tags: - Categories parameters: - name: id in: path required: true schema: title: Guid type: string format: uuid requestBody: content: application/json: schema: $ref: '#/components/schemas/Hyperlabs.Web.Areas.Admin.Models.Shared.MoveDto' text/json: schema: $ref: '#/components/schemas/Hyperlabs.Web.Areas.Admin.Models.Shared.MoveDto' application/*+json: schema: $ref: '#/components/schemas/Hyperlabs.Web.Areas.Admin.Models.Shared.MoveDto' responses: '200': description: OK '401': description: Unauthorized '403': description: Forbidden security: - oauth2: [] components: schemas: Hyperlabs.Web.Areas.Admin.Models.Categories.ChangeCategorySpecificationTypeDto: title: ChangeCategorySpecificationTypeDto type: object properties: specificationTypeId: title: Guid type: string format: uuid additionalProperties: false Hyperlabs.Web.Areas.Admin.Models.Categories.ChangeCategoryDto: title: ChangeCategoryDto type: object properties: name: title: String type: - string - 'null' title: title: String type: - string - 'null' subtitle: title: String type: - string - 'null' description: title: String type: - string - 'null' publishingStatusCode: $ref: '#/components/schemas/Hyperlabs.Domain.Products.Models.PublishingStatusCode' productClassId: title: Guid type: string format: uuid parentCategoryId: title: Nullable`1 type: - string - 'null' format: uuid image: $ref: '#/components/schemas/Hyperlabs.Web.Areas.Admin.Models.Shared.ChangeAttachedMediaFileDto' specificationTypes: title: ChangeCategorySpecificationTypeDto[] type: - array - 'null' items: $ref: '#/components/schemas/Hyperlabs.Web.Areas.Admin.Models.Categories.ChangeCategorySpecificationTypeDto' variableTypes: title: ChangeCategoryVariableTypeDto[] type: - array - 'null' items: $ref: '#/components/schemas/Hyperlabs.Web.Areas.Admin.Models.Categories.ChangeCategoryVariableTypeDto' tagTypes: title: ChangeCategoryTagTypeDto[] type: - array - 'null' items: $ref: '#/components/schemas/Hyperlabs.Web.Areas.Admin.Models.Categories.ChangeCategoryTagTypeDto' mediaFiles: title: Guid[] type: - array - 'null' items: title: Guid type: string format: uuid additionalProperties: false Hyperlabs.Domain.Products.Models.PublishingStatusCode: title: PublishingStatusCode enum: - 1 - 2 - 3 type: integer format: int32 Hyperlabs.Web.Areas.Admin.Models.Categories.ChangeCategoryTagTypeDto: title: ChangeCategoryTagTypeDto type: object properties: tagTypeId: title: Guid type: string format: uuid additionalProperties: false Hyperlabs.Web.Areas.Admin.Models.Shared.ChangeAttachedMediaFileDto: title: ChangeAttachedMediaFileDto type: object properties: mediaFileId: title: Guid type: string format: uuid order: title: Int32 type: integer format: int32 additionalProperties: false Hyperlabs.Web.Areas.Admin.Models.Shared.MoveDto: title: MoveDto type: object properties: delta: title: Int32 type: integer format: int32 additionalProperties: false Hyperlabs.Web.Areas.Admin.Models.Categories.ChangeCategoryVariableTypeValueDto: title: ChangeCategoryVariableTypeValueDto type: object properties: valueId: title: Guid type: string format: uuid additionalProperties: false Hyperlabs.Web.Areas.Admin.Models.Categories.ChangeCategoryVariableTypeDto: title: ChangeCategoryVariableTypeDto type: object properties: variableTypeId: title: Guid type: string format: uuid values: title: ChangeCategoryVariableTypeValueDto[] type: - array - 'null' items: $ref: '#/components/schemas/Hyperlabs.Web.Areas.Admin.Models.Categories.ChangeCategoryVariableTypeValueDto' additionalProperties: false securitySchemes: oauth2: type: apiKey description: 'Standard Authorization header using the Bearer scheme. Example: "Bearer {token}"' name: Authorization in: header