# Create web menu

Create web menu

Endpoint: POST /api/v2/webmenus
Version: 2.0
Security: Bearer Authentication

## Request fields (application/json):

  - `uuid` (string, required)
    Unique identifier for the entity

  - `name` (string, required)
    The name of the entity

  - `label` (string)
    Display label for the entity, can be different from name

  - `createdAt` (integer)
    Unix timestamp when the entity was created

  - `createdBy` (object)
    Identifier of the user who created the entity

  - `createdBy.name` (string, required)

  - `createdBy.label` (string)

  - `createdBy.createdAt` (integer)

  - `createdBy.updatedAt` (integer)

  - `createdBy.deletedAt` (integer)

  - `createdBy.createdByUuid` (string)

  - `createdBy.updatedByUuid` (string)

  - `createdBy.deletedByUuid` (string)

  - `createdBy.index` (integer)

  - `createdBy.deleted` (boolean)

  - `createdBy.complete` (boolean)

  - `createdBy.uuid` (string, required)

  - `createdBy.properties` (array)

  - `createdBy.properties.icon` (string)

  - `createdBy.properties.name` (string)

  - `createdBy.properties.value` (any)

  - `createdBy.properties.type` (string)

  - `createdBy.properties.label` (string)

  - `createdBy.objects` (object)

  - `createdBy.user` (object)

  - `createdBy.user.uuid` (string)

  - `createdBy.user.email` (string)

  - `createdBy.user.firstname` (string)

  - `createdBy.user.lastname` (string)

  - `createdBy.user.initials` (string)

  - `createdBy.user.scopes` (array)

  - `createdBy.user.filters` (object)

  - `createdBy.user.role` (string)

  - `createdBy.user.record` (object)

  - `updatedAt` (integer)
    Unix timestamp when the entity was last updated

  - `updatedBy` (object)
    Identifier of the user who last updated the entity

  - `updatedBy.name` (string, required)

  - `updatedBy.label` (string)

  - `updatedBy.createdAt` (integer)

  - `updatedBy.updatedAt` (integer)

  - `updatedBy.deletedAt` (integer)

  - `updatedBy.createdByUuid` (string)

  - `updatedBy.updatedByUuid` (string)

  - `updatedBy.deletedByUuid` (string)

  - `updatedBy.index` (integer)

  - `updatedBy.deleted` (boolean)

  - `updatedBy.complete` (boolean)

  - `updatedBy.uuid` (string, required)

  - `updatedBy.properties` (array)

  - `updatedBy.properties.icon` (string)

  - `updatedBy.properties.name` (string)

  - `updatedBy.properties.value` (any)

  - `updatedBy.properties.type` (string)

  - `updatedBy.properties.label` (string)

  - `updatedBy.objects` (object)

  - `updatedBy.user` (object)

  - `updatedBy.user.uuid` (string)

  - `updatedBy.user.email` (string)

  - `updatedBy.user.firstname` (string)

  - `updatedBy.user.lastname` (string)

  - `updatedBy.user.initials` (string)

  - `updatedBy.user.scopes` (array)

  - `updatedBy.user.filters` (object)

  - `updatedBy.user.role` (string)

  - `updatedBy.user.record` (object)

  - `deletedAt` (integer)
    Unix timestamp when the entity was deleted (null if not deleted)

  - `deletedBy` (object)
    Identifier of the user who deleted the entity

  - `deletedBy.name` (string, required)

  - `deletedBy.label` (string)

  - `deletedBy.createdAt` (integer)

  - `deletedBy.updatedAt` (integer)

  - `deletedBy.deletedAt` (integer)

  - `deletedBy.createdByUuid` (string)

  - `deletedBy.updatedByUuid` (string)

  - `deletedBy.deletedByUuid` (string)

  - `deletedBy.index` (integer)

  - `deletedBy.deleted` (boolean)

  - `deletedBy.complete` (boolean)

  - `deletedBy.uuid` (string, required)

  - `deletedBy.properties` (array)

  - `deletedBy.properties.icon` (string)

  - `deletedBy.properties.name` (string)

  - `deletedBy.properties.value` (any)

  - `deletedBy.properties.type` (string)

  - `deletedBy.properties.label` (string)

  - `deletedBy.objects` (object)

  - `deletedBy.user` (object)

  - `deletedBy.user.uuid` (string)

  - `deletedBy.user.email` (string)

  - `deletedBy.user.firstname` (string)

  - `deletedBy.user.lastname` (string)

  - `deletedBy.user.initials` (string)

  - `deletedBy.user.scopes` (array)

  - `deletedBy.user.filters` (object)

  - `deletedBy.user.role` (string)

  - `deletedBy.user.record` (object)

  - `index` (integer)
    Index number for ordering entities

  - `title` (string)
    The title of the web menu
    Example: "Main Menu"

  - `active` (boolean)
    Indicates whether the web menu is active
    Example: true

  - `environments` (array)
    The environments of the web menu
    Example: ["production","development"]

  - `location` (string)
    The location of the web menu in the UI, e.g., 'footer_block_1' or 'header'
    Example: "header"

  - `urls` (array)

  - `items` (array)

  - `items.label` (string)

  - `items.url` (string)

  - `items.icon` (string)

  - `items.image` (string)

  - `text` (string)
    The text of the web menu
    Example: "Welcome to our website"

## Response 200 fields (application/json):

  - `message` (string)
    A message detailing the result of the operation.
    Example: "Success"

  - `data` (any)
    The data payload of the response, if any.

## Response 400 fields (application/json):

  - `message` (string)
    The error message providing details about the failure.
    Example: "Resource not found."

  - `errors` (object)
    A list of error types providing further details about the error.
    Example: [{"field":"name","message":"Name is required.","correctionSuggestion":"Please provide a name."}]

  - `errors.message` (string, required)
    The error message providing details about the failure.
    Example: "Invalid file type."

  - `errors.type` (string, required)
    The type of error.
    Enum: "VALIDATION", "NOT_FOUND", "TEST", "RELATION_NOT_ALLOWED", "INVALID_VALUE", "GENERAL", "INVALID_FILE_TYPE", "INTERNAL_SERVER_ERROR", "CARAER_ERROR", "INVALID_EMAIL", "INVALID_DATE"

  - `errors.correctionSuggestion` (string, required)
    A suggestion on how to correct the error.
    Example: "Try uploading a different file type."

  - `status` (integer)
    The HTTP status code associated with the error.
    Example: 400

  - `stackTrace` (string)

  - `roles` (array)
    Enum: "USER", "ADMIN", "RESELLER", "DEVELOPER", "SUPER_ADMIN"

  - `scopes` (array)

## Response 500 fields (application/json):

  - `message` (string)
    The error message providing details about the failure.
    Example: "Resource not found."

  - `errors` (object)
    A list of error types providing further details about the error.
    Example: [{"field":"name","message":"Name is required.","correctionSuggestion":"Please provide a name."}]

  - `errors.message` (string, required)
    The error message providing details about the failure.
    Example: "Invalid file type."

  - `errors.type` (string, required)
    The type of error.
    Enum: "VALIDATION", "NOT_FOUND", "TEST", "RELATION_NOT_ALLOWED", "INVALID_VALUE", "GENERAL", "INVALID_FILE_TYPE", "INTERNAL_SERVER_ERROR", "CARAER_ERROR", "INVALID_EMAIL", "INVALID_DATE"

  - `errors.correctionSuggestion` (string, required)
    A suggestion on how to correct the error.
    Example: "Try uploading a different file type."

  - `status` (integer)
    The HTTP status code associated with the error.
    Example: 400

  - `stackTrace` (string)

  - `roles` (array)
    Enum: "USER", "ADMIN", "RESELLER", "DEVELOPER", "SUPER_ADMIN"

  - `scopes` (array)


