# Install an application

Installs the application specified by its UUID with optional initial configuration settings. Returns the updated application details as a ShowResponse wrapping an AppDTO.

Endpoint: POST /api/v2/apps/{uuid}/install
Version: 2.0
Security: Bearer Authentication

## Path parameters:

  - `uuid` (string, required)
    UUID of the application to install

## Request fields (application/json):

  - `settings` (array)
    Optional initial configuration settings (key-value via AppSettingFieldSchema name/value).

  - `settings.name` (string)

  - `settings.label` (string)

  - `settings.type` (string)

  - `settings.required` (boolean)

  - `settings.helpText` (string)

  - `settings.options` (array)

  - `settings.options.name` (string)

  - `settings.options.label` (string)

  - `settings.options.helpText` (string)

  - `settings.defaultValue` (any)

  - `settings.hidden` (boolean)

  - `settings.value` (any)

  - `settings.mappingValue` (object)

  - `settings.mappingValue.objectName` (string)

  - `settings.mappingValue.items` (array)

  - `settings.mappingValue.items.fieldLabel` (string)

  - `settings.mappingValue.items.fieldName` (string)

  - `settings.mappingValue.items.fieldHelpText` (string)

  - `settings.mappingValue.items.isRequired` (boolean)

  - `settings.mappingValue.items.allowedPropertyTypes` (array)

  - `settings.mappingValue.items.allowedPropertyFormats` (array)

  - `settings.mappingValue.items.propertyName` (string)

  - `scopes` (array)
    Optional scopes to grant to the app.

  - `filters` (object)
    Optional per-object record filters for this installation (object name → filter).

## 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 404 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)


