name: Categories
description: |-

  APIs for managing menu categories
endpoints:
  -
    custom: []
    httpMethods:
      - GET
    uri: api/v1/tenant/categories
    metadata:
      custom: []
      groupName: Categories
      groupDescription: |-

        APIs for managing menu categories
      subgroup: ''
      subgroupDescription: ''
      title: 'List Categories'
      description: 'Get all categories with optional item counts'
      authenticated: true
      deprecated: false
    headers:
      Authorization: 'Bearer YOUR_TOKEN_HERE'
      Content-Type: application/json
      Accept: application/json
    urlParameters: []
    cleanUrlParameters: []
    queryParameters:
      with_items:
        custom: []
        name: with_items
        description: 'Include menu items.'
        required: false
        example: true
        type: boolean
        enumValues: []
        exampleWasSpecified: true
        nullable: false
        deprecated: false
    cleanQueryParameters:
      with_items: true
    bodyParameters: []
    cleanBodyParameters: []
    fileParameters: []
    responses:
      -
        custom: []
        status: 200
        content: |-
          {
            "success": true,
            "data": []
          }
        headers: []
        description: ''
    responseFields: []
    auth:
      - headers
      - Authorization
      - 'Bearer 6g43cv8PD1aE5beadkZfhV6'
    controller: null
    method: null
    route: null
  -
    custom: []
    httpMethods:
      - GET
    uri: 'api/v1/tenant/categories/{id}'
    metadata:
      custom: []
      groupName: Categories
      groupDescription: |-

        APIs for managing menu categories
      subgroup: ''
      subgroupDescription: ''
      title: 'Get Single Category'
      description: 'Get category with its menu items'
      authenticated: true
      deprecated: false
    headers:
      Authorization: 'Bearer YOUR_TOKEN_HERE'
      Content-Type: application/json
      Accept: application/json
    urlParameters:
      id:
        custom: []
        name: id
        description: 'Category ID.'
        required: true
        example: 1
        type: integer
        enumValues: []
        exampleWasSpecified: true
        nullable: false
        deprecated: false
    cleanUrlParameters:
      id: 1
    queryParameters: []
    cleanQueryParameters: []
    bodyParameters: []
    cleanBodyParameters: []
    fileParameters: []
    responses:
      -
        custom: []
        status: 401
        content: '{"message":"Unauthenticated."}'
        headers:
          cache-control: 'no-cache, private'
          content-type: application/json
          access-control-allow-origin: '*'
        description: null
    responseFields: []
    auth:
      - headers
      - Authorization
      - 'Bearer 6g43cv8PD1aE5beadkZfhV6'
    controller: null
    method: null
    route: null
  -
    custom: []
    httpMethods:
      - POST
    uri: api/v1/tenant/categories
    metadata:
      custom: []
      groupName: Categories
      groupDescription: |-

        APIs for managing menu categories
      subgroup: ''
      subgroupDescription: ''
      title: 'Create Category'
      description: ''
      authenticated: true
      deprecated: false
    headers:
      Authorization: 'Bearer YOUR_TOKEN_HERE'
      Content-Type: application/json
      Accept: application/json
    urlParameters: []
    cleanUrlParameters: []
    queryParameters: []
    cleanQueryParameters: []
    bodyParameters:
      name:
        custom: []
        name: name
        description: 'Must not be greater than 255 characters.'
        required: true
        example: b
        type: string
        enumValues: []
        exampleWasSpecified: false
        nullable: false
        deprecated: false
      description:
        custom: []
        name: description
        description: ''
        required: false
        example: 'Eius et animi quos velit et.'
        type: string
        enumValues: []
        exampleWasSpecified: false
        nullable: true
        deprecated: false
      icon:
        custom: []
        name: icon
        description: 'Must not be greater than 50 characters.'
        required: false
        example: v
        type: string
        enumValues: []
        exampleWasSpecified: false
        nullable: true
        deprecated: false
      color:
        custom: []
        name: color
        description: 'Must not be greater than 7 characters.'
        required: false
        example: dljnikh
        type: string
        enumValues: []
        exampleWasSpecified: false
        nullable: true
        deprecated: false
    cleanBodyParameters:
      name: b
      description: 'Eius et animi quos velit et.'
      icon: v
      color: dljnikh
    fileParameters: []
    responses: []
    responseFields: []
    auth:
      - headers
      - Authorization
      - 'Bearer 6g43cv8PD1aE5beadkZfhV6'
    controller: null
    method: null
    route: null
  -
    custom: []
    httpMethods:
      - PUT
    uri: 'api/v1/tenant/categories/{id}'
    metadata:
      custom: []
      groupName: Categories
      groupDescription: |-

        APIs for managing menu categories
      subgroup: ''
      subgroupDescription: ''
      title: 'Update Category'
      description: ''
      authenticated: true
      deprecated: false
    headers:
      Authorization: 'Bearer YOUR_TOKEN_HERE'
      Content-Type: application/json
      Accept: application/json
    urlParameters:
      id:
        custom: []
        name: id
        description: 'The ID of the category.'
        required: true
        example: architecto
        type: string
        enumValues: []
        exampleWasSpecified: false
        nullable: false
        deprecated: false
    cleanUrlParameters:
      id: architecto
    queryParameters: []
    cleanQueryParameters: []
    bodyParameters:
      name:
        custom: []
        name: name
        description: 'Must not be greater than 255 characters.'
        required: false
        example: b
        type: string
        enumValues: []
        exampleWasSpecified: false
        nullable: false
        deprecated: false
      description:
        custom: []
        name: description
        description: ''
        required: false
        example: 'Eius et animi quos velit et.'
        type: string
        enumValues: []
        exampleWasSpecified: false
        nullable: true
        deprecated: false
      icon:
        custom: []
        name: icon
        description: 'Must not be greater than 50 characters.'
        required: false
        example: v
        type: string
        enumValues: []
        exampleWasSpecified: false
        nullable: true
        deprecated: false
      color:
        custom: []
        name: color
        description: 'Must not be greater than 7 characters.'
        required: false
        example: dljnikh
        type: string
        enumValues: []
        exampleWasSpecified: false
        nullable: true
        deprecated: false
    cleanBodyParameters:
      name: b
      description: 'Eius et animi quos velit et.'
      icon: v
      color: dljnikh
    fileParameters: []
    responses: []
    responseFields: []
    auth:
      - headers
      - Authorization
      - 'Bearer 6g43cv8PD1aE5beadkZfhV6'
    controller: null
    method: null
    route: null
  -
    custom: []
    httpMethods:
      - DELETE
    uri: 'api/v1/tenant/categories/{id}'
    metadata:
      custom: []
      groupName: Categories
      groupDescription: |-

        APIs for managing menu categories
      subgroup: ''
      subgroupDescription: ''
      title: 'Delete Category'
      description: ''
      authenticated: true
      deprecated: false
    headers:
      Authorization: 'Bearer YOUR_TOKEN_HERE'
      Content-Type: application/json
      Accept: application/json
    urlParameters:
      id:
        custom: []
        name: id
        description: 'The ID of the category.'
        required: true
        example: architecto
        type: string
        enumValues: []
        exampleWasSpecified: false
        nullable: false
        deprecated: false
    cleanUrlParameters:
      id: architecto
    queryParameters: []
    cleanQueryParameters: []
    bodyParameters: []
    cleanBodyParameters: []
    fileParameters: []
    responses: []
    responseFields: []
    auth:
      - headers
      - Authorization
      - 'Bearer 6g43cv8PD1aE5beadkZfhV6'
    controller: null
    method: null
    route: null
