{
  "openapi" : "3.1.0",
  "info" : {
    "description" : "This API supports working with custom fields.",
    "title" : "Custom Fields API",
    "version" : "1.0"
  },
  "externalDocs" : {
    "description" : "Trackunit Developer Hub",
    "url" : "https://developers.trackunit.com/"
  },
  "servers" : [ {
    "url" : "https://iris.trackunit.com/api/custom-fields",
    "description" : "Production environment"
  } ],
  "security" : [ {
    "authorizationBearer" : [ ]
  } ],
  "paths" : {
    "/v1/definitions" : {
      "get" : {
        "description" : "Get custom field definition by definition key",
        "operationId" : "getDefinitionByKey",
        "parameters" : [ {
          "description" : "Custom field definition key",
          "in" : "query",
          "name" : "definitionKey",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "in" : "header",
          "name" : "systemOfMeasurement",
          "required" : false,
          "schema" : {
            "type" : "string",
            "default" : "SI",
            "enum" : [ "SI", "US_CUSTOMARY" ]
          }
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/CustomFieldDefinitionResponseV1"
                  }
                }
              }
            },
            "description" : "Definition"
          },
          "400" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ConstraintViolationError"
                }
              }
            },
            "description" : "Bad request"
          },
          "401" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DefaultError"
                }
              }
            },
            "description" : "Invalid or missing bearer token in Authorization header"
          },
          "403" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DefaultError"
                }
              }
            },
            "description" : "User not allowed to make this request"
          },
          "404" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DefaultError"
                }
              }
            },
            "description" : "Resource not found"
          },
          "500" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DefaultError"
                }
              }
            },
            "description" : "Internal server error"
          }
        },
        "summary" : "Get Definition",
        "tags" : [ "Definitions" ]
      }
    },
    "/v1/definitions/" : {
      "get" : {
        "description" : "Get custom field definitions owned by account",
        "operationId" : "getDefinitionsForAccount",
        "parameters" : [ {
          "in" : "header",
          "name" : "systemOfMeasurement",
          "required" : false,
          "schema" : {
            "type" : "string",
            "default" : "SI",
            "enum" : [ "SI", "US_CUSTOMARY" ]
          }
        }, {
          "description" : "Zero-based page index (0..N)",
          "example" : 0,
          "in" : "query",
          "name" : "page",
          "required" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "minimum" : 0
          }
        }, {
          "description" : "The size of the page to be returned",
          "example" : 20,
          "in" : "query",
          "name" : "size",
          "required" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 20,
            "minimum" : 1
          }
        }, {
          "description" : "Sort order: `property` (ascending by default), `+property` (ascending), `-property` (descending).",
          "in" : "query",
          "name" : "sort",
          "required" : false,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PaginatedCustomFieldDefinitionResponseV1"
                }
              }
            },
            "description" : "Definitions owned by user account."
          },
          "400" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ConstraintViolationError"
                }
              }
            },
            "description" : "Bad request"
          },
          "401" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DefaultError"
                }
              }
            },
            "description" : "Invalid or missing bearer token in Authorization header"
          },
          "403" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DefaultError"
                }
              }
            },
            "description" : "User not allowed to make this request"
          },
          "404" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DefaultError"
                }
              }
            },
            "description" : "Resource not found"
          },
          "500" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DefaultError"
                }
              }
            },
            "description" : "Internal server error"
          },
          "501" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DefaultError"
                }
              }
            },
            "description" : "Requested sorting option is not allowed."
          }
        },
        "summary" : "Get Definitions",
        "tags" : [ "Definitions" ]
      },
      "post" : {
        "description" : "Create custom field definition owned by current account",
        "operationId" : "createDefinitionForAccount",
        "parameters" : [ {
          "in" : "header",
          "name" : "systemOfMeasurement",
          "required" : false,
          "schema" : {
            "type" : "string",
            "default" : "SI",
            "enum" : [ "SI", "US_CUSTOMARY" ]
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "oneOf" : [ {
                  "$ref" : "#/components/schemas/CreateBooleanFieldDefinitionV1"
                }, {
                  "$ref" : "#/components/schemas/CreateDateFieldDefinitionV1"
                }, {
                  "$ref" : "#/components/schemas/CreateDropDownFieldDefinitionV1"
                }, {
                  "$ref" : "#/components/schemas/CreateEmailFieldDefinitionV1"
                }, {
                  "$ref" : "#/components/schemas/CreateFileFieldDefinitionV1"
                }, {
                  "$ref" : "#/components/schemas/CreateNumberFieldDefinitionV1"
                }, {
                  "$ref" : "#/components/schemas/CreatePhoneNumberFieldDefinitionV1"
                }, {
                  "$ref" : "#/components/schemas/CreateStringFieldDefinitionV1"
                }, {
                  "$ref" : "#/components/schemas/CreateStringListFieldDefinitionV1"
                }, {
                  "$ref" : "#/components/schemas/CreateWebAddressFieldDefinitionV1"
                }, {
                  "$ref" : "#/components/schemas/CreateJsonFieldDefinitionV1"
                }, {
                  "$ref" : "#/components/schemas/CreateMonetaryFieldDefinitionV1"
                } ]
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CreateCustomFieldDefinitionResponseV1"
                }
              }
            },
            "description" : "Definition was successfully created."
          },
          "400" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ConstraintViolationError"
                }
              }
            },
            "description" : "Bad request"
          },
          "401" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DefaultError"
                }
              }
            },
            "description" : "Invalid or missing bearer token in Authorization header"
          },
          "403" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DefaultError"
                }
              }
            },
            "description" : "User not allowed to make this request"
          },
          "404" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DefaultError"
                }
              }
            },
            "description" : "Resource not found"
          },
          "500" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DefaultError"
                }
              }
            },
            "description" : "Internal server error"
          }
        },
        "summary" : "Create Definition",
        "tags" : [ "Definitions" ]
      }
    },
    "/v1/definitions/{definitionId}/" : {
      "delete" : {
        "operationId" : "deleteDefinition",
        "parameters" : [ {
          "in" : "path",
          "name" : "definitionId",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "Definition was successfully deleted."
          },
          "400" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ConstraintViolationError"
                }
              }
            },
            "description" : "Bad request"
          },
          "401" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DefaultError"
                }
              }
            },
            "description" : "Invalid or missing bearer token in Authorization header"
          },
          "403" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DefaultError"
                }
              }
            },
            "description" : "User not allowed to make this request"
          },
          "404" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DefaultError"
                }
              }
            },
            "description" : "Resource not found"
          },
          "500" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DefaultError"
                }
              }
            },
            "description" : "Internal server error"
          }
        },
        "summary" : "Delete Definition",
        "tags" : [ "Definitions" ]
      },
      "get" : {
        "description" : "Get custom field definition by id",
        "operationId" : "getDefinitionById",
        "parameters" : [ {
          "description" : "Custom field definition id",
          "in" : "path",
          "name" : "definitionId",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        }, {
          "in" : "header",
          "name" : "systemOfMeasurement",
          "required" : false,
          "schema" : {
            "type" : "string",
            "default" : "SI",
            "enum" : [ "SI", "US_CUSTOMARY" ]
          }
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CustomFieldDefinitionResponseV1"
                }
              }
            },
            "description" : "Definition"
          },
          "400" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ConstraintViolationError"
                }
              }
            },
            "description" : "Bad request"
          },
          "401" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DefaultError"
                }
              }
            },
            "description" : "Invalid or missing bearer token in Authorization header"
          },
          "403" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DefaultError"
                }
              }
            },
            "description" : "User not allowed to make this request"
          },
          "404" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DefaultError"
                }
              }
            },
            "description" : "Resource not found"
          },
          "500" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DefaultError"
                }
              }
            },
            "description" : "Internal server error"
          }
        },
        "summary" : "Get Definition",
        "tags" : [ "Definitions" ]
      },
      "patch" : {
        "description" : "Update an existing custom field definition and its incompatible values",
        "operationId" : "patchDefinition",
        "parameters" : [ {
          "in" : "path",
          "name" : "definitionId",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        }, {
          "in" : "header",
          "name" : "systemOfMeasurement",
          "required" : false,
          "schema" : {
            "type" : "string",
            "default" : "SI",
            "enum" : [ "SI", "US_CUSTOMARY" ]
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "oneOf" : [ {
                  "$ref" : "#/components/schemas/PatchBooleanFieldDefinitionV1"
                }, {
                  "$ref" : "#/components/schemas/PatchDateFieldDefinitionV1"
                }, {
                  "$ref" : "#/components/schemas/PatchDropDownFieldDefinitionV1"
                }, {
                  "$ref" : "#/components/schemas/PatchEmailFieldDefinitionV1"
                }, {
                  "$ref" : "#/components/schemas/PatchFileFieldDefinitionV1"
                }, {
                  "$ref" : "#/components/schemas/PatchNumberFieldDefinitionV1"
                }, {
                  "$ref" : "#/components/schemas/PatchPhoneNumberFieldDefinitionV1"
                }, {
                  "$ref" : "#/components/schemas/PatchStringFieldDefinitionV1"
                }, {
                  "$ref" : "#/components/schemas/PatchStringListFieldDefinitionV1"
                }, {
                  "$ref" : "#/components/schemas/PatchWebAddressFieldDefinitionV1"
                }, {
                  "$ref" : "#/components/schemas/PatchJsonFieldDefinitionV1"
                }, {
                  "$ref" : "#/components/schemas/PatchMonetaryFieldDefinitionV1"
                } ]
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CreateCustomFieldDefinitionResponseV1"
                }
              }
            },
            "description" : "Definition was successfully updated."
          },
          "201" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CreateCustomFieldDefinitionResponseV1"
                }
              }
            },
            "description" : "Definition was successfully created."
          },
          "400" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ConstraintViolationError"
                }
              }
            },
            "description" : "Bad request"
          },
          "401" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DefaultError"
                }
              }
            },
            "description" : "Invalid or missing bearer token in Authorization header"
          },
          "403" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DefaultError"
                }
              }
            },
            "description" : "User not allowed to make this request"
          },
          "404" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DefaultError"
                }
              }
            },
            "description" : "Resource not found"
          },
          "500" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DefaultError"
                }
              }
            },
            "description" : "Internal server error"
          }
        },
        "summary" : "Update Definition",
        "tags" : [ "Definitions" ]
      }
    },
    "/v1/file-upload-link/" : {
      "get" : {
        "description" : "Get a presigned upload link for a file custom field. The definition must be of type FILE. Maximum file size is 20 MB.",
        "operationId" : "getFileUploadLink",
        "parameters" : [ {
          "description" : "Custom field definition id (must be of type FILE)",
          "in" : "query",
          "name" : "definitionId",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        }, {
          "description" : "Entity id to associate the uploaded file with",
          "in" : "query",
          "name" : "entityId",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/FileUploadLinkV1"
                }
              }
            },
            "description" : "Upload link generated successfully."
          },
          "400" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ConstraintViolationError"
                }
              }
            },
            "description" : "Bad request"
          },
          "401" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DefaultError"
                }
              }
            },
            "description" : "Invalid or missing bearer token in Authorization header"
          },
          "403" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DefaultError"
                }
              }
            },
            "description" : "User not allowed to make this request"
          },
          "404" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DefaultError"
                }
              }
            },
            "description" : "Resource not found"
          },
          "500" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DefaultError"
                }
              }
            },
            "description" : "Internal server error"
          }
        },
        "summary" : "Get File Upload Link",
        "tags" : [ "Values" ]
      }
    },
    "/v1/set-values/" : {
      "post" : {
        "description" : "Set custom field values for given entities",
        "operationId" : "setValues",
        "parameters" : [ {
          "in" : "header",
          "name" : "systemOfMeasurement",
          "required" : false,
          "schema" : {
            "type" : "string",
            "default" : "SI",
            "enum" : [ "SI", "US_CUSTOMARY" ]
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/SetFieldValuesV1"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DefinitionsAndValuesV1"
                }
              }
            },
            "description" : "Values were successfully set."
          },
          "400" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ConstraintViolationError"
                }
              }
            },
            "description" : "Bad request"
          },
          "401" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DefaultError"
                }
              }
            },
            "description" : "Invalid or missing bearer token in Authorization header"
          },
          "403" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DefaultError"
                }
              }
            },
            "description" : "User not allowed to make this request"
          },
          "404" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DefaultError"
                }
              }
            },
            "description" : "Resource not found"
          },
          "500" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DefaultError"
                }
              }
            },
            "description" : "Internal server error"
          }
        },
        "summary" : "Set custom field values ",
        "tags" : [ "Values" ]
      }
    },
    "/v1/values/" : {
      "get" : {
        "description" : "Get values visible to current account for entity",
        "operationId" : "getValuesForAccount",
        "parameters" : [ {
          "in" : "query",
          "name" : "entityId",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        }, {
          "in" : "header",
          "name" : "systemOfMeasurement",
          "required" : false,
          "schema" : {
            "type" : "string",
            "default" : "SI",
            "enum" : [ "SI", "US_CUSTOMARY" ]
          }
        }, {
          "description" : "Zero-based page index (0..N)",
          "example" : 0,
          "in" : "query",
          "name" : "page",
          "required" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 0,
            "minimum" : 0
          }
        }, {
          "description" : "The size of the page to be returned",
          "example" : 20,
          "in" : "query",
          "name" : "size",
          "required" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32",
            "default" : 20,
            "minimum" : 1
          }
        }, {
          "description" : "Sort order: `property` (ascending by default), `+property` (ascending), `-property` (descending).",
          "in" : "query",
          "name" : "sort",
          "required" : false,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/PaginatedDefinitionAndValueV1"
                }
              }
            },
            "description" : "Values for entity owned by user account."
          },
          "400" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ConstraintViolationError"
                }
              }
            },
            "description" : "Bad request"
          },
          "401" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DefaultError"
                }
              }
            },
            "description" : "Invalid or missing bearer token in Authorization header"
          },
          "403" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DefaultError"
                }
              }
            },
            "description" : "User not allowed to make this request"
          },
          "404" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DefaultError"
                }
              }
            },
            "description" : "Resource not found"
          },
          "500" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DefaultError"
                }
              }
            },
            "description" : "Internal server error"
          },
          "501" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DefaultError"
                }
              }
            },
            "description" : "Requested sorting option is not allowed."
          }
        },
        "summary" : "Get Values",
        "tags" : [ "Values" ]
      },
      "post" : {
        "description" : "Create a new custom field value",
        "operationId" : "createValue",
        "parameters" : [ {
          "in" : "header",
          "name" : "systemOfMeasurement",
          "required" : false,
          "schema" : {
            "type" : "string",
            "default" : "SI",
            "enum" : [ "SI", "US_CUSTOMARY" ]
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "oneOf" : [ {
                  "$ref" : "#/components/schemas/CreateBooleanFieldValueV1"
                }, {
                  "$ref" : "#/components/schemas/CreateDateFieldValueV1"
                }, {
                  "$ref" : "#/components/schemas/CreateDropDownFieldValueV1"
                }, {
                  "$ref" : "#/components/schemas/CreateEmailFieldValueV1"
                }, {
                  "$ref" : "#/components/schemas/CreateNumberFieldValueV1"
                }, {
                  "$ref" : "#/components/schemas/CreatePhoneNumberFieldValueV1"
                }, {
                  "$ref" : "#/components/schemas/CreateStringFieldValueV1"
                }, {
                  "$ref" : "#/components/schemas/CreateStringListFieldValueV1"
                }, {
                  "$ref" : "#/components/schemas/CreateWebAddressFieldValueV1"
                }, {
                  "$ref" : "#/components/schemas/CreateJsonFieldValueV1"
                }, {
                  "$ref" : "#/components/schemas/CreateMonetaryFieldValueV1"
                } ]
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DefinitionAndValueV1"
                }
              }
            },
            "description" : "Value was successfully created."
          },
          "400" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ConstraintViolationError"
                }
              }
            },
            "description" : "Bad request"
          },
          "401" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DefaultError"
                }
              }
            },
            "description" : "Invalid or missing bearer token in Authorization header"
          },
          "403" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DefaultError"
                }
              }
            },
            "description" : "User not allowed to make this request"
          },
          "404" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DefaultError"
                }
              }
            },
            "description" : "Resource not found"
          },
          "500" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DefaultError"
                }
              }
            },
            "description" : "Internal server error"
          }
        },
        "summary" : "Create Value",
        "tags" : [ "Values" ]
      }
    },
    "/v1/values/{valueId}/" : {
      "delete" : {
        "operationId" : "deleteValue",
        "parameters" : [ {
          "in" : "path",
          "name" : "valueId",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "Value was successfully deleted."
          },
          "400" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ConstraintViolationError"
                }
              }
            },
            "description" : "Bad request"
          },
          "401" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DefaultError"
                }
              }
            },
            "description" : "Invalid or missing bearer token in Authorization header"
          },
          "403" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DefaultError"
                }
              }
            },
            "description" : "User not allowed to make this request"
          },
          "404" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DefaultError"
                }
              }
            },
            "description" : "Resource not found"
          },
          "500" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DefaultError"
                }
              }
            },
            "description" : "Internal server error"
          }
        },
        "summary" : "Delete Value",
        "tags" : [ "Values" ]
      },
      "patch" : {
        "description" : "Update an existing custom field value",
        "operationId" : "patchValue",
        "parameters" : [ {
          "description" : "Custom field value id",
          "in" : "path",
          "name" : "valueId",
          "required" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        }, {
          "in" : "header",
          "name" : "systemOfMeasurement",
          "required" : false,
          "schema" : {
            "type" : "string",
            "default" : "SI",
            "enum" : [ "SI", "US_CUSTOMARY" ]
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "oneOf" : [ {
                  "$ref" : "#/components/schemas/PatchBooleanFieldValueV1"
                }, {
                  "$ref" : "#/components/schemas/PatchDateFieldValueV1"
                }, {
                  "$ref" : "#/components/schemas/PatchDropDownFieldValueV1"
                }, {
                  "$ref" : "#/components/schemas/PatchEmailFieldValueV1"
                }, {
                  "$ref" : "#/components/schemas/PatchNumberFieldValueV1"
                }, {
                  "$ref" : "#/components/schemas/PatchPhoneNumberFieldValueV1"
                }, {
                  "$ref" : "#/components/schemas/PatchStringFieldValueV1"
                }, {
                  "$ref" : "#/components/schemas/PatchStringListFieldValueV1"
                }, {
                  "$ref" : "#/components/schemas/PatchWebAddressFieldValueV1"
                }, {
                  "$ref" : "#/components/schemas/PatchJsonFieldValueV1"
                }, {
                  "$ref" : "#/components/schemas/PatchMonetaryFieldValueV1"
                } ]
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DefinitionAndValueV1"
                }
              }
            },
            "description" : "Value was successfully updated."
          },
          "400" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ConstraintViolationError"
                }
              }
            },
            "description" : "Bad request"
          },
          "401" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DefaultError"
                }
              }
            },
            "description" : "Invalid or missing bearer token in Authorization header"
          },
          "403" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DefaultError"
                }
              }
            },
            "description" : "User not allowed to make this request"
          },
          "404" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DefaultError"
                }
              }
            },
            "description" : "Resource not found"
          },
          "500" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DefaultError"
                }
              }
            },
            "description" : "Internal server error"
          }
        },
        "summary" : "Update Value",
        "tags" : [ "Values" ]
      }
    }
  },
  "components" : {
    "schemas" : {
      "AbstractCreateCustomFieldDefinitionV1" : {
        "type" : "object",
        "discriminator" : {
          "mapping" : {
            "BOOLEAN" : "#/components/schemas/CreateBooleanFieldDefinitionV1",
            "DATE" : "#/components/schemas/CreateDateFieldDefinitionV1",
            "DROPDOWN" : "#/components/schemas/CreateDropDownFieldDefinitionV1",
            "EMAIL" : "#/components/schemas/CreateEmailFieldDefinitionV1",
            "FILE" : "#/components/schemas/CreateFileFieldDefinitionV1",
            "JSON" : "#/components/schemas/CreateJsonFieldDefinitionV1",
            "MONETARY" : "#/components/schemas/CreateMonetaryFieldDefinitionV1",
            "NUMBER" : "#/components/schemas/CreateNumberFieldDefinitionV1",
            "PHONE_NUMBER" : "#/components/schemas/CreatePhoneNumberFieldDefinitionV1",
            "STRING" : "#/components/schemas/CreateStringFieldDefinitionV1",
            "STRING_LIST" : "#/components/schemas/CreateStringListFieldDefinitionV1",
            "WEB_ADDRESS" : "#/components/schemas/CreateWebAddressFieldDefinitionV1"
          },
          "propertyName" : "type"
        },
        "properties" : {
          "entityType" : {
            "type" : "string",
            "description" : "Which entity can the field be saved on. Default is asset",
            "enum" : [ "ASSET", "ACCOUNT", "SITE", "GROUP", "CUSTOMER", "RENTAL_CONTRACT" ]
          },
          "key" : {
            "type" : "string",
            "description" : "Programmatic key for the field"
          },
          "scopeType" : {
            "type" : "string",
            "description" : "Who can access the field value. Default is only within the users account.",
            "enum" : [ "ACCOUNT", "GLOBAL", "ACCOUNT_WRITE_GLOBAL_READ" ]
          },
          "translations" : {
            "type" : "array",
            "description" : "Title and description translations",
            "items" : {
              "$ref" : "#/components/schemas/CreateCustomFieldDefinitionTranslationV1"
            },
            "uniqueItems" : true
          },
          "type" : {
            "type" : "string",
            "description" : "Type of the custom field definition",
            "enum" : [ "BOOLEAN", "DATE", "DROPDOWN", "EMAIL", "NUMBER", "PHONE_NUMBER", "STRING", "STRING_LIST", "WEB_ADDRESS", "JSON", "MONETARY", "FILE" ]
          },
          "uiEditable" : {
            "type" : "boolean",
            "description" : "Should the field be editable in the Trackunit Manager user interface"
          },
          "uiVisible" : {
            "type" : "boolean",
            "description" : "Should the field be displayed in the Trackunit Manager user interface"
          }
        },
        "required" : [ "key", "translations", "type" ]
      },
      "AbstractCustomFieldDefinitionV1" : {
        "type" : "object",
        "discriminator" : {
          "mapping" : {
            "BOOLEAN" : "#/components/schemas/BooleanFieldDefinitionV1",
            "DATE" : "#/components/schemas/DateFieldDefinitionV1",
            "DROPDOWN" : "#/components/schemas/DropDownFieldDefinitionV1",
            "EMAIL" : "#/components/schemas/EmailFieldDefinitionV1",
            "FILE" : "#/components/schemas/FileFieldDefinitionV1",
            "JSON" : "#/components/schemas/JsonFieldDefinitionV1",
            "MONETARY" : "#/components/schemas/MonetaryFieldDefinitionV1",
            "NUMBER" : "#/components/schemas/NumberFieldDefinitionV1",
            "PHONE_NUMBER" : "#/components/schemas/PhoneNumberFieldDefinitionV1",
            "STRING" : "#/components/schemas/StringFieldDefinitionV1",
            "STRING_LIST" : "#/components/schemas/StringListFieldDefinitionV1",
            "WEB_ADDRESS" : "#/components/schemas/WebAddressFieldDefinitionV1"
          },
          "propertyName" : "type"
        },
        "properties" : {
          "description" : {
            "type" : "string",
            "description" : "Description of the field. Will be displayed in the UI"
          },
          "entityType" : {
            "type" : "string",
            "description" : "Which entity can the field be saved on. Default is asset",
            "enum" : [ "ASSET", "ACCOUNT", "SITE", "GROUP", "CUSTOMER", "RENTAL_CONTRACT" ]
          },
          "key" : {
            "type" : "string",
            "description" : "Programmatic key for the field"
          },
          "scopeType" : {
            "type" : "string",
            "description" : "Who can access the field value. Default is only within the users account.",
            "enum" : [ "ACCOUNT", "GLOBAL", "ACCOUNT_WRITE_GLOBAL_READ" ]
          },
          "title" : {
            "type" : "string",
            "description" : "Title of the field. Will be displayed in the UI"
          },
          "type" : {
            "type" : "string",
            "enum" : [ "BOOLEAN", "DATE", "DROPDOWN", "EMAIL", "NUMBER", "PHONE_NUMBER", "STRING", "STRING_LIST", "WEB_ADDRESS", "JSON", "MONETARY", "FILE" ]
          },
          "uiEditable" : {
            "type" : "boolean",
            "description" : "Should the field be editable in the Trackunit Manager user interface"
          },
          "uiVisible" : {
            "type" : "boolean",
            "description" : "Should the field be displayed in the Trackunit Manager user interface"
          }
        },
        "required" : [ "key", "title" ]
      },
      "AbstractPatchCustomFieldDefinitionV1" : {
        "type" : "object",
        "discriminator" : {
          "mapping" : {
            "BOOLEAN" : "#/components/schemas/PatchBooleanFieldDefinitionV1",
            "DATE" : "#/components/schemas/PatchDateFieldDefinitionV1",
            "DROPDOWN" : "#/components/schemas/PatchDropDownFieldDefinitionV1",
            "EMAIL" : "#/components/schemas/PatchEmailFieldDefinitionV1",
            "FILE" : "#/components/schemas/PatchFileFieldDefinitionV1",
            "JSON" : "#/components/schemas/PatchJsonFieldDefinitionV1",
            "MONETARY" : "#/components/schemas/PatchMonetaryFieldDefinitionV1",
            "NUMBER" : "#/components/schemas/PatchNumberFieldDefinitionV1",
            "PHONE_NUMBER" : "#/components/schemas/PatchPhoneNumberFieldDefinitionV1",
            "STRING" : "#/components/schemas/PatchStringFieldDefinitionV1",
            "STRING_LIST" : "#/components/schemas/PatchStringListFieldDefinitionV1",
            "WEB_ADDRESS" : "#/components/schemas/PatchWebAddressFieldDefinitionV1"
          },
          "propertyName" : "type"
        },
        "properties" : {
          "key" : {
            "type" : "string",
            "description" : "Programmatic key for the field"
          },
          "scopeType" : {
            "type" : "string",
            "description" : "Who can access the field value. Default is only within the users account.",
            "enum" : [ "ACCOUNT", "GLOBAL", "ACCOUNT_WRITE_GLOBAL_READ" ]
          },
          "translations" : {
            "type" : "array",
            "description" : "Title and description translations",
            "items" : {
              "$ref" : "#/components/schemas/CreateCustomFieldDefinitionTranslationV1"
            },
            "uniqueItems" : true
          },
          "type" : {
            "type" : "string"
          },
          "uiEditable" : {
            "type" : "boolean",
            "description" : "Should the field be editable in the Trackunit Manager user interface"
          },
          "uiVisible" : {
            "type" : "boolean",
            "description" : "Should the field be displayed in the Trackunit Manager user interface"
          }
        },
        "required" : [ "key", "translations" ]
      },
      "AddConversionStepV1" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/ConversionStepV1"
        }, {
          "type" : "object",
          "properties" : {
            "offset" : {
              "type" : "number",
              "format" : "double"
            }
          }
        } ],
        "description" : "Add offset to value to convert to base unit.",
        "properties" : {
          "type" : {
            "type" : "string",
            "default" : "ADD",
            "enum" : [ "ADD" ]
          }
        },
        "title" : "Addition conversion step"
      },
      "BooleanFieldDefinitionV1" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/AbstractCustomFieldDefinitionV1"
        } ],
        "description" : "Used to capture a Yes/No value",
        "properties" : {
          "type" : {
            "type" : "string",
            "default" : "BOOLEAN",
            "enum" : [ "BOOLEAN" ]
          }
        },
        "required" : [ "key", "title" ],
        "title" : "Boolean field definition"
      },
      "BooleanFieldValueV1" : {
        "description" : "Used to capture a Yes/No value",
        "properties" : {
          "editable" : {
            "type" : "boolean"
          },
          "type" : {
            "type" : "string",
            "default" : "BOOLEAN",
            "enum" : [ "BOOLEAN" ]
          },
          "value" : {
            "type" : "boolean",
            "description" : "Value of the custom field"
          }
        },
        "title" : "Boolean field value"
      },
      "ConstraintViolationError" : {
        "type" : "object",
        "properties" : {
          "code" : {
            "type" : [ "string", "null" ],
            "description" : "Alphanumeric code (snake case) describing use case specific error"
          },
          "message" : {
            "type" : "string",
            "description" : "Detailed description of error"
          },
          "properties" : {
            "type" : [ "object", "null" ],
            "additionalProperties" : { },
            "description" : "Additional properties to be included in the error response"
          },
          "status" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "HTTP status code"
          },
          "violations" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Violation"
            }
          }
        }
      },
      "ConversionStepV1" : {
        "discriminator" : {
          "mapping" : {
            "ADD" : "#/components/schemas/AddConversionStepV1",
            "MULTIPLY" : "#/components/schemas/MultiplyConversionStepV1"
          },
          "propertyName" : "type"
        },
        "properties" : {
          "type" : {
            "type" : "string"
          }
        },
        "required" : [ "type" ]
      },
      "CreateBooleanFieldDefinitionV1" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/AbstractCreateCustomFieldDefinitionV1"
        } ],
        "description" : "Used to capture a Yes/No value",
        "properties" : {
          "type" : {
            "type" : "string",
            "default" : "BOOLEAN",
            "enum" : [ "BOOLEAN" ]
          }
        },
        "required" : [ "key", "translations", "type" ],
        "title" : "Boolean field definition"
      },
      "CreateBooleanFieldValueV1" : {
        "description" : "Used to capture a Yes/No value",
        "properties" : {
          "definitionId" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "The ID of the custom field definition"
          },
          "entityId" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "The ID of the entity that the value should be attached to"
          },
          "type" : {
            "type" : "string",
            "default" : "BOOLEAN",
            "enum" : [ "BOOLEAN" ]
          },
          "value" : {
            "type" : "boolean",
            "description" : "Value of the custom field"
          }
        },
        "required" : [ "definitionId", "entityId", "type" ],
        "title" : "Boolean field value"
      },
      "CreateCustomFieldDefinitionResponseV1" : {
        "type" : "object",
        "properties" : {
          "definition" : {
            "description" : "The custom field definition",
            "oneOf" : [ {
              "$ref" : "#/components/schemas/CreateBooleanFieldDefinitionV1"
            }, {
              "$ref" : "#/components/schemas/CreateDateFieldDefinitionV1"
            }, {
              "$ref" : "#/components/schemas/CreateDropDownFieldDefinitionV1"
            }, {
              "$ref" : "#/components/schemas/CreateEmailFieldDefinitionV1"
            }, {
              "$ref" : "#/components/schemas/CreateFileFieldDefinitionV1"
            }, {
              "$ref" : "#/components/schemas/CreateJsonFieldDefinitionV1"
            }, {
              "$ref" : "#/components/schemas/CreateMonetaryFieldDefinitionV1"
            }, {
              "$ref" : "#/components/schemas/CreateNumberFieldDefinitionV1"
            }, {
              "$ref" : "#/components/schemas/CreatePhoneNumberFieldDefinitionV1"
            }, {
              "$ref" : "#/components/schemas/CreateStringFieldDefinitionV1"
            }, {
              "$ref" : "#/components/schemas/CreateStringListFieldDefinitionV1"
            }, {
              "$ref" : "#/components/schemas/CreateWebAddressFieldDefinitionV1"
            } ]
          },
          "definitionId" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "The id of the custom field definition"
          },
          "ownerId" : {
            "type" : "string",
            "format" : "uuid"
          }
        },
        "required" : [ "definition", "definitionId" ]
      },
      "CreateCustomFieldDefinitionTranslationV1" : {
        "type" : "object",
        "description" : "Used to set field definition title and description translations",
        "properties" : {
          "description" : {
            "type" : "string"
          },
          "language" : {
            "type" : "string"
          },
          "title" : {
            "type" : "string"
          }
        },
        "title" : "Title and description translation"
      },
      "CreateDateFieldDefinitionV1" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/AbstractCreateCustomFieldDefinitionV1"
        } ],
        "description" : "Date stored in ISO8601 format.",
        "properties" : {
          "type" : {
            "type" : "string",
            "default" : "DATE",
            "enum" : [ "DATE" ]
          }
        },
        "required" : [ "key", "translations", "type" ],
        "title" : "Date field definition"
      },
      "CreateDateFieldValueV1" : {
        "description" : "Date stored in ISO8601 format.",
        "properties" : {
          "definitionId" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "The ID of the custom field definition"
          },
          "entityId" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "The ID of the entity that the value should be attached to"
          },
          "type" : {
            "type" : "string",
            "default" : "DATE",
            "enum" : [ "DATE" ]
          },
          "value" : {
            "type" : "string",
            "format" : "date",
            "description" : "Value of the custom field"
          }
        },
        "required" : [ "definitionId", "entityId", "type" ],
        "title" : "Date field value"
      },
      "CreateDropDownFieldDefinitionV1" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/AbstractCreateCustomFieldDefinitionV1"
        }, {
          "type" : "object",
          "properties" : {
            "allValues" : {
              "type" : "array",
              "description" : "List of allowed values",
              "items" : {
                "type" : "string"
              }
            },
            "multiSelect" : {
              "type" : "boolean",
              "description" : "Allow selection of multiple values. Default is single selection."
            }
          }
        } ],
        "description" : "Text field with a predefined list of options. Supports both single and multi selects.",
        "properties" : {
          "type" : {
            "type" : "string",
            "default" : "DROPDOWN",
            "enum" : [ "DROPDOWN" ]
          }
        },
        "required" : [ "key", "translations", "type" ],
        "title" : "Options field definition"
      },
      "CreateDropDownFieldValueV1" : {
        "description" : "Text field with a predefined list of options. Supports both single and multi selects.",
        "properties" : {
          "definitionId" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "The ID of the custom field definition"
          },
          "entityId" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "The ID of the entity that the value should be attached to"
          },
          "type" : {
            "type" : "string",
            "default" : "DROPDOWN",
            "enum" : [ "DROPDOWN" ]
          },
          "value" : {
            "type" : "array",
            "description" : "Value of the custom field",
            "items" : {
              "type" : "string"
            }
          }
        },
        "required" : [ "definitionId", "entityId", "type" ],
        "title" : "Options field value"
      },
      "CreateEmailFieldDefinitionV1" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/AbstractCreateCustomFieldDefinitionV1"
        } ],
        "description" : "Email field. Only validates the contents follows basic email syntax. Will be shown with mailto action in the UI to allow user to quickly follow the link.",
        "properties" : {
          "type" : {
            "type" : "string",
            "default" : "EMAIL",
            "enum" : [ "EMAIL" ]
          }
        },
        "required" : [ "key", "translations", "type" ],
        "title" : "Email field definition"
      },
      "CreateEmailFieldValueV1" : {
        "description" : "Email field. Only validates the contents follows basic email syntax. Will be shown with mailto action in the UI to allow user to quickly follow the link.",
        "properties" : {
          "definitionId" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "The ID of the custom field definition"
          },
          "entityId" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "The ID of the entity that the value should be attached to"
          },
          "type" : {
            "type" : "string",
            "default" : "EMAIL",
            "enum" : [ "EMAIL" ]
          },
          "value" : {
            "type" : "string",
            "format" : "email",
            "description" : "Value of the custom field"
          }
        },
        "required" : [ "definitionId", "entityId", "type" ],
        "title" : "Email field value"
      },
      "CreateFileFieldDefinitionV1" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/AbstractCreateCustomFieldDefinitionV1"
        } ],
        "description" : "A custom field that stores a file reference. Files are uploaded via a presigned URL.",
        "properties" : {
          "type" : {
            "type" : "string",
            "default" : "FILE",
            "enum" : [ "FILE" ]
          }
        },
        "required" : [ "key", "translations", "type" ],
        "title" : "File field definition"
      },
      "CreateFileFieldValueV1" : {
        "description" : "A file reference UUID obtained from the file storage service.",
        "properties" : {
          "definitionId" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "The ID of the custom field definition"
          },
          "entityId" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "The ID of the entity that the value should be attached to"
          },
          "type" : {
            "type" : "string",
            "default" : "FILE",
            "enum" : [ "FILE" ]
          },
          "value" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "File reference ID"
          }
        },
        "required" : [ "definitionId", "entityId", "type" ],
        "title" : "File field value"
      },
      "CreateJsonFieldDefinitionV1" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/AbstractCreateCustomFieldDefinitionV1"
        } ],
        "description" : "Field that can contain a json object.",
        "properties" : {
          "type" : {
            "type" : "string",
            "default" : "JSON",
            "enum" : [ "JSON" ]
          }
        },
        "required" : [ "key", "translations", "type" ],
        "title" : "JSON field definition"
      },
      "CreateJsonFieldValueV1" : {
        "description" : "Field that can contain json.",
        "properties" : {
          "definitionId" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "The ID of the custom field definition"
          },
          "entityId" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "The ID of the entity that the value should be attached to"
          },
          "type" : {
            "type" : "string",
            "default" : "JSON",
            "enum" : [ "JSON" ]
          },
          "value" : {
            "type" : "object",
            "additionalProperties" : { },
            "description" : "Value of the custom field"
          }
        },
        "required" : [ "definitionId", "entityId", "type" ],
        "title" : "Json field value"
      },
      "CreateMonetaryFieldDefinitionV1" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/AbstractCreateCustomFieldDefinitionV1"
        }, {
          "type" : "object",
          "properties" : {
            "conversionSteps" : {
              "type" : "array",
              "description" : "Conversions steps from unit system to base unit",
              "items" : {
                "oneOf" : [ {
                  "$ref" : "#/components/schemas/AddConversionStepV1"
                }, {
                  "$ref" : "#/components/schemas/MultiplyConversionStepV1"
                } ]
              },
              "readOnly" : true
            },
            "currency" : {
              "type" : "string",
              "description" : "Currency value of the custom field - ISO 4217 compliant"
            },
            "isInteger" : {
              "type" : "boolean",
              "description" : "True, if the values stored should be treated as integers"
            },
            "maximum" : {
              "type" : "number",
              "format" : "double",
              "description" : "Maximum value. Default is no maximum value."
            },
            "minimum" : {
              "type" : "number",
              "format" : "double",
              "description" : "Minimum value. Default is no minimum value."
            }
          }
        } ],
        "description" : "Allows users to enter numeric values and handles min/max values and currency.",
        "properties" : {
          "type" : {
            "type" : "string",
            "default" : "MONETARY",
            "enum" : [ "MONETARY" ]
          }
        },
        "required" : [ "isInteger", "key", "translations", "type" ],
        "title" : "Monetary field definition"
      },
      "CreateMonetaryFieldValueV1" : {
        "description" : "Allows users to enter numeric values and handles min/max values and currency.",
        "properties" : {
          "definitionId" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "The ID of the custom field definition"
          },
          "entityId" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "The ID of the entity that the value should be attached to"
          },
          "type" : {
            "type" : "string",
            "default" : "MONETARY",
            "enum" : [ "MONETARY" ]
          },
          "value" : {
            "type" : "number",
            "format" : "double",
            "description" : "Value of the custom field"
          }
        },
        "required" : [ "definitionId", "entityId", "type" ],
        "title" : "Monetary field value"
      },
      "CreateNumberFieldDefinitionV1" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/AbstractCreateCustomFieldDefinitionV1"
        }, {
          "type" : "object",
          "properties" : {
            "conversionSteps" : {
              "type" : "array",
              "description" : "Conversions steps from unit system to base unit",
              "items" : {
                "oneOf" : [ {
                  "$ref" : "#/components/schemas/AddConversionStepV1"
                }, {
                  "$ref" : "#/components/schemas/MultiplyConversionStepV1"
                } ]
              },
              "readOnly" : true
            },
            "isInteger" : {
              "type" : "boolean",
              "description" : "True, if the values stored should be treated as integers"
            },
            "maximum" : {
              "type" : "number",
              "format" : "double",
              "description" : "Maximum value. Default is no maximum value."
            },
            "minimum" : {
              "type" : "number",
              "format" : "double",
              "description" : "Minimum value. Default is no minimum value."
            },
            "unitSi" : {
              "type" : "string",
              "description" : "Unit used when user prefers the metric system",
              "enum" : [ "NEWTON", "PASCAL", "WATT", "MILLIMETRE", "CENTIMETRE", "METRE", "KILOMETRE", "SQUARE_METRE", "CUBIC_METRE", "SQUARE_KILOMETRE", "GRAM", "KILOGRAM", "METRIC_TON", "METRE_PER_SECOND", "METRE_PER_SECOND_SQUARED", "KILOMETRE_PER_HOUR", "VOLT", "AMPERE", "VOLT_AMPERE", "AMPERE_HOUR", "HERTZ", "KILOPASCAL", "KILOWATT", "KILOWATT_HOUR", "KILOGRAM_PER_HOUR", "KILOGRAM_PER_SECOND", "LITRE", "LITRES_PER_HOUR", "ARE", "HECTARE", "REVOLUTIONS_PER_MINUTE", "G_FORCE", "CELSIUS", "PERCENT", "DEGREE_ANGLE", "BAR", "MILLISECOND", "SECOND", "MINUTE", "HOUR", "DAY", "WEEK", "MONTH", "YEAR", "INCH", "FOOT", "YARD", "MILE", "SQUARE_FOOT", "CUBIC_FOOT", "ACRE", "POUND", "OUNCE", "US_TON", "MILE_PER_HOUR", "FAHRENHEIT", "GALLON_LIQUID", "POUND_PER_SECOND", "POUND_PER_HOUR", "POUND_PER_SQUARE_INCH", "INCHES_OF_WATER", "GALLONS_PER_HOUR" ]
            },
            "unitUs" : {
              "type" : "string",
              "description" : "Unit used when user prefers the US customary unit system",
              "enum" : [ "NEWTON", "PASCAL", "WATT", "MILLIMETRE", "CENTIMETRE", "METRE", "KILOMETRE", "SQUARE_METRE", "CUBIC_METRE", "SQUARE_KILOMETRE", "GRAM", "KILOGRAM", "METRIC_TON", "METRE_PER_SECOND", "METRE_PER_SECOND_SQUARED", "KILOMETRE_PER_HOUR", "VOLT", "AMPERE", "VOLT_AMPERE", "AMPERE_HOUR", "HERTZ", "KILOPASCAL", "KILOWATT", "KILOWATT_HOUR", "KILOGRAM_PER_HOUR", "KILOGRAM_PER_SECOND", "LITRE", "LITRES_PER_HOUR", "ARE", "HECTARE", "REVOLUTIONS_PER_MINUTE", "G_FORCE", "CELSIUS", "PERCENT", "DEGREE_ANGLE", "BAR", "MILLISECOND", "SECOND", "MINUTE", "HOUR", "DAY", "WEEK", "MONTH", "YEAR", "INCH", "FOOT", "YARD", "MILE", "SQUARE_FOOT", "CUBIC_FOOT", "ACRE", "POUND", "OUNCE", "US_TON", "MILE_PER_HOUR", "FAHRENHEIT", "GALLON_LIQUID", "POUND_PER_SECOND", "POUND_PER_HOUR", "POUND_PER_SQUARE_INCH", "INCHES_OF_WATER", "GALLONS_PER_HOUR" ]
            }
          }
        } ],
        "description" : "Allows users to enter numeric values and handles min/max values and units.",
        "properties" : {
          "type" : {
            "type" : "string",
            "default" : "NUMBER",
            "enum" : [ "NUMBER" ]
          }
        },
        "required" : [ "isInteger", "key", "translations", "type" ],
        "title" : "Numeric field definition"
      },
      "CreateNumberFieldValueV1" : {
        "description" : "Allows users to enter numeric values and handles min/max values and units.",
        "properties" : {
          "definitionId" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "The ID of the custom field definition"
          },
          "entityId" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "The ID of the entity that the value should be attached to"
          },
          "type" : {
            "type" : "string",
            "default" : "NUMBER",
            "enum" : [ "NUMBER" ]
          },
          "value" : {
            "type" : "number",
            "format" : "double",
            "description" : "Value of the custom field"
          }
        },
        "required" : [ "definitionId", "entityId", "type" ],
        "title" : "Numeric field value"
      },
      "CreatePhoneNumberFieldDefinitionV1" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/AbstractCreateCustomFieldDefinitionV1"
        } ],
        "description" : "Phone number in E.164 format. Validates the phone number format but doesn't validate the number actually exists.",
        "properties" : {
          "type" : {
            "type" : "string",
            "default" : "PHONE_NUMBER",
            "enum" : [ "PHONE_NUMBER" ]
          }
        },
        "required" : [ "key", "translations", "type" ],
        "title" : "Phone number field definition"
      },
      "CreatePhoneNumberFieldValueV1" : {
        "description" : "Phone number in E.164 format. Validates the phone number format but doesn't validate the number actually exists.",
        "properties" : {
          "definitionId" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "The ID of the custom field definition"
          },
          "entityId" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "The ID of the entity that the value should be attached to"
          },
          "type" : {
            "type" : "string",
            "default" : "PHONE_NUMBER",
            "enum" : [ "PHONE_NUMBER" ]
          },
          "value" : {
            "type" : "string",
            "description" : "Value of the custom field",
            "pattern" : "^\\+[1-9]\\d{1,14}(x\\d+)$"
          }
        },
        "required" : [ "definitionId", "entityId", "type" ],
        "title" : "Phone number field value"
      },
      "CreateStringFieldDefinitionV1" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/AbstractCreateCustomFieldDefinitionV1"
        }, {
          "type" : "object",
          "properties" : {
            "maximumLength" : {
              "type" : "integer",
              "format" : "int32",
              "description" : "Maximum length of string"
            },
            "minimumLength" : {
              "type" : "integer",
              "format" : "int32",
              "description" : "Minimum length of string"
            },
            "pattern" : {
              "type" : "string",
              "description" : "Regular expression matching pattern"
            }
          }
        } ],
        "description" : "Field that can contain free text. Supports limiting length and regular expression patterns.",
        "properties" : {
          "type" : {
            "type" : "string",
            "default" : "STRING",
            "enum" : [ "STRING" ]
          }
        },
        "required" : [ "key", "translations", "type" ],
        "title" : "Text field definition"
      },
      "CreateStringFieldValueV1" : {
        "description" : "Field that can contain free text. Supports limiting length and regular expression patterns.",
        "properties" : {
          "definitionId" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "The ID of the custom field definition"
          },
          "entityId" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "The ID of the entity that the value should be attached to"
          },
          "type" : {
            "type" : "string",
            "default" : "STRING",
            "enum" : [ "STRING" ]
          },
          "value" : {
            "type" : "string",
            "description" : "Value of the custom field"
          }
        },
        "required" : [ "definitionId", "entityId", "type" ],
        "title" : "Text field value"
      },
      "CreateStringListFieldDefinitionV1" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/AbstractCreateCustomFieldDefinitionV1"
        }, {
          "type" : "object",
          "properties" : {
            "itemMaximumLength" : {
              "type" : "integer",
              "format" : "int32",
              "description" : "Maximum length each of string item"
            },
            "itemMinimumLength" : {
              "type" : "integer",
              "format" : "int32",
              "description" : "Minimum length of each string item"
            },
            "maximumItems" : {
              "type" : "integer",
              "format" : "int32",
              "description" : "Maximum items allowed in the list"
            },
            "pattern" : {
              "type" : "string",
              "description" : "Regular expression matching pattern"
            }
          }
        } ],
        "description" : "Field that can contain multiple free text items. Supports limiting list size, length of items and regular expression patterns.",
        "properties" : {
          "type" : {
            "type" : "string",
            "default" : "STRING_LIST",
            "enum" : [ "STRING_LIST" ]
          }
        },
        "required" : [ "key", "translations", "type" ],
        "title" : "Text list field definition"
      },
      "CreateStringListFieldValueV1" : {
        "description" : "Field that can contain multiple free text items. Supports limiting list size, length of items and regular expression patterns.",
        "properties" : {
          "definitionId" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "The ID of the custom field definition"
          },
          "entityId" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "The ID of the entity that the value should be attached to"
          },
          "type" : {
            "type" : "string",
            "default" : "STRING_LIST",
            "enum" : [ "STRING_LIST" ]
          },
          "value" : {
            "type" : "array",
            "description" : "Value of the custom field",
            "items" : {
              "type" : "string"
            }
          }
        },
        "required" : [ "definitionId", "entityId", "type" ],
        "title" : "Text list field value"
      },
      "CreateWebAddressFieldDefinitionV1" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/AbstractCreateCustomFieldDefinitionV1"
        } ],
        "description" : "May contain any link to a webpage. Will be shown with a link action in the UI to allow user to quickly follow the link.",
        "properties" : {
          "type" : {
            "type" : "string",
            "default" : "WEB_ADDRESS",
            "enum" : [ "WEB_ADDRESS" ]
          }
        },
        "required" : [ "key", "translations", "type" ],
        "title" : "Weblink field definition"
      },
      "CreateWebAddressFieldValueV1" : {
        "description" : "May contain any link to a webpage. Will be shown with a link action in the UI to allow user to quickly follow the link.",
        "properties" : {
          "definitionId" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "The ID of the custom field definition"
          },
          "entityId" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "The ID of the entity that the value should be attached to"
          },
          "type" : {
            "type" : "string",
            "default" : "WEB_ADDRESS",
            "enum" : [ "WEB_ADDRESS" ]
          },
          "value" : {
            "type" : "string",
            "format" : "uri",
            "description" : "Value of the custom field"
          }
        },
        "required" : [ "definitionId", "entityId", "type" ],
        "title" : "Weblink field value"
      },
      "CustomFieldDefinitionResponseV1" : {
        "type" : "object",
        "properties" : {
          "definition" : {
            "description" : "The custom field definition",
            "oneOf" : [ {
              "$ref" : "#/components/schemas/BooleanFieldDefinitionV1"
            }, {
              "$ref" : "#/components/schemas/DateFieldDefinitionV1"
            }, {
              "$ref" : "#/components/schemas/DropDownFieldDefinitionV1"
            }, {
              "$ref" : "#/components/schemas/EmailFieldDefinitionV1"
            }, {
              "$ref" : "#/components/schemas/FileFieldDefinitionV1"
            }, {
              "$ref" : "#/components/schemas/JsonFieldDefinitionV1"
            }, {
              "$ref" : "#/components/schemas/MonetaryFieldDefinitionV1"
            }, {
              "$ref" : "#/components/schemas/NumberFieldDefinitionV1"
            }, {
              "$ref" : "#/components/schemas/PhoneNumberFieldDefinitionV1"
            }, {
              "$ref" : "#/components/schemas/StringFieldDefinitionV1"
            }, {
              "$ref" : "#/components/schemas/StringListFieldDefinitionV1"
            }, {
              "$ref" : "#/components/schemas/WebAddressFieldDefinitionV1"
            } ]
          },
          "definitionId" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "The id of the custom field definition"
          },
          "owner" : {
            "$ref" : "#/components/schemas/FieldOwnerRepresentation",
            "description" : "Field owner of the custom field definition"
          },
          "ownerId" : {
            "type" : "string",
            "format" : "uuid",
            "deprecated" : true,
            "description" : "The id of the owner of the custom field definition"
          }
        },
        "required" : [ "definition", "definitionId", "owner", "ownerId" ]
      },
      "DateFieldDefinitionV1" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/AbstractCustomFieldDefinitionV1"
        } ],
        "description" : "Date stored in ISO8601 format.",
        "properties" : {
          "type" : {
            "type" : "string",
            "default" : "DATE",
            "enum" : [ "DATE" ]
          }
        },
        "required" : [ "key", "title" ],
        "title" : "Date field definition"
      },
      "DateFieldValueV1" : {
        "description" : "Date stored in ISO8601 format.",
        "properties" : {
          "editable" : {
            "type" : "boolean"
          },
          "type" : {
            "type" : "string",
            "default" : "DATE",
            "enum" : [ "DATE" ]
          },
          "value" : {
            "type" : "string",
            "format" : "date",
            "description" : "Value of the custom field"
          }
        },
        "title" : "Date field value"
      },
      "DefaultError" : {
        "type" : "object",
        "properties" : {
          "code" : {
            "type" : [ "string", "null" ],
            "description" : "Alphanumeric code (snake case) describing use case specific error"
          },
          "message" : {
            "type" : "string",
            "description" : "Detailed description of error"
          },
          "properties" : {
            "type" : [ "object", "null" ],
            "additionalProperties" : { },
            "description" : "Additional properties to be included in the error response"
          },
          "status" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "HTTP status code"
          }
        }
      },
      "DefinitionAndValueV1" : {
        "type" : "object",
        "description" : "Definition and values",
        "properties" : {
          "definition" : {
            "description" : "Field definition",
            "oneOf" : [ {
              "$ref" : "#/components/schemas/BooleanFieldDefinitionV1"
            }, {
              "$ref" : "#/components/schemas/DateFieldDefinitionV1"
            }, {
              "$ref" : "#/components/schemas/DropDownFieldDefinitionV1"
            }, {
              "$ref" : "#/components/schemas/EmailFieldDefinitionV1"
            }, {
              "$ref" : "#/components/schemas/FileFieldDefinitionV1"
            }, {
              "$ref" : "#/components/schemas/JsonFieldDefinitionV1"
            }, {
              "$ref" : "#/components/schemas/MonetaryFieldDefinitionV1"
            }, {
              "$ref" : "#/components/schemas/NumberFieldDefinitionV1"
            }, {
              "$ref" : "#/components/schemas/PhoneNumberFieldDefinitionV1"
            }, {
              "$ref" : "#/components/schemas/StringFieldDefinitionV1"
            }, {
              "$ref" : "#/components/schemas/StringListFieldDefinitionV1"
            }, {
              "$ref" : "#/components/schemas/WebAddressFieldDefinitionV1"
            } ]
          },
          "definitionId" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "The ID of the custom field definition"
          },
          "value" : {
            "description" : "Value of the field",
            "oneOf" : [ {
              "$ref" : "#/components/schemas/BooleanFieldValueV1"
            }, {
              "$ref" : "#/components/schemas/DateFieldValueV1"
            }, {
              "$ref" : "#/components/schemas/DropDownFieldValueV1"
            }, {
              "$ref" : "#/components/schemas/EmailFieldValueV1"
            }, {
              "$ref" : "#/components/schemas/FileFieldValueV1"
            }, {
              "$ref" : "#/components/schemas/JsonFieldValueV1"
            }, {
              "$ref" : "#/components/schemas/MonetaryFieldValueV1"
            }, {
              "$ref" : "#/components/schemas/NumberFieldValueV1"
            }, {
              "$ref" : "#/components/schemas/PhoneNumberFieldValueV1"
            }, {
              "$ref" : "#/components/schemas/StringFieldValueV1"
            }, {
              "$ref" : "#/components/schemas/StringListFieldValueV1"
            }, {
              "$ref" : "#/components/schemas/WebAddressFieldValueV1"
            } ]
          },
          "valueId" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "The ID of the custom field value"
          }
        },
        "required" : [ "definition", "definitionId" ]
      },
      "DefinitionsAndValuesV1" : {
        "type" : "object",
        "description" : "Definitions and values",
        "properties" : {
          "definitionAndValues" : {
            "type" : "array",
            "description" : "Field definitions and values",
            "items" : {
              "$ref" : "#/components/schemas/DefinitionAndValueV1"
            }
          }
        },
        "required" : [ "definitionAndValues" ]
      },
      "DropDownFieldDefinitionV1" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/AbstractCustomFieldDefinitionV1"
        }, {
          "type" : "object",
          "properties" : {
            "allValues" : {
              "type" : "array",
              "description" : "List of allowed values",
              "items" : {
                "type" : "string"
              }
            },
            "multiSelect" : {
              "type" : "boolean",
              "description" : "Allow selection of multiple values. Default is single selection."
            }
          }
        } ],
        "description" : "Text field with a predefined list of options. Supports both single and multi selects.",
        "properties" : {
          "type" : {
            "type" : "string",
            "default" : "DROPDOWN",
            "enum" : [ "DROPDOWN" ]
          }
        },
        "required" : [ "key", "title" ],
        "title" : "Options field definition"
      },
      "DropDownFieldValueV1" : {
        "description" : "Text field with a predefined list of options. Supports both single and multi selects.",
        "properties" : {
          "editable" : {
            "type" : "boolean"
          },
          "type" : {
            "type" : "string",
            "default" : "DROPDOWN",
            "enum" : [ "DROPDOWN" ]
          },
          "value" : {
            "type" : "array",
            "description" : "Value of the custom field",
            "items" : {
              "type" : "string"
            }
          }
        },
        "title" : "Options field value"
      },
      "DropDownValueReplacement" : {
        "type" : "object",
        "properties" : {
          "replace" : {
            "type" : "string",
            "description" : "Previous value to replace."
          },
          "with" : {
            "type" : "string",
            "description" : "New value."
          }
        }
      },
      "EmailFieldDefinitionV1" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/AbstractCustomFieldDefinitionV1"
        } ],
        "description" : "Email field. Only validates the contents follows basic email syntax. Will be shown with mailto action in the UI to allow user to quickly follow the link.",
        "properties" : {
          "type" : {
            "type" : "string",
            "default" : "EMAIL",
            "enum" : [ "EMAIL" ]
          }
        },
        "required" : [ "key", "title" ],
        "title" : "Email field definition"
      },
      "EmailFieldValueV1" : {
        "description" : "Email field. Only validates the contents follows basic email syntax. Will be shown with mailto action in the UI to allow user to quickly follow the link.",
        "properties" : {
          "editable" : {
            "type" : "boolean"
          },
          "type" : {
            "type" : "string",
            "default" : "EMAIL",
            "enum" : [ "EMAIL" ]
          },
          "value" : {
            "type" : "string",
            "format" : "email",
            "description" : "Value of the custom field"
          }
        },
        "title" : "Email field value"
      },
      "FieldOwnerRepresentation" : {
        "type" : "object",
        "properties" : {
          "accountId" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "The account id of the owner of the custom field definition"
          },
          "irisAppId" : {
            "type" : "string",
            "description" : "The iris app id of the owner of the custom field definition"
          },
          "ownerId" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "The owner id"
          },
          "ownerType" : {
            "type" : "string",
            "description" : "The owner type of the custom field definition",
            "enum" : [ "ACCOUNT", "IRIS_APP", "TRACKUNIT" ]
          }
        },
        "required" : [ "ownerId", "ownerType" ]
      },
      "FileFieldDefinitionV1" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/AbstractCustomFieldDefinitionV1"
        } ],
        "description" : "A custom field that stores a file reference. Files are uploaded via a presigned URL.",
        "properties" : {
          "type" : {
            "type" : "string",
            "default" : "FILE",
            "enum" : [ "FILE" ]
          }
        },
        "required" : [ "key", "title" ],
        "title" : "File field definition"
      },
      "FileFieldValueV1" : {
        "description" : "File.",
        "properties" : {
          "downloadLink" : {
            "type" : "string",
            "format" : "uri",
            "description" : "Link to the file"
          },
          "editable" : {
            "type" : "boolean"
          },
          "type" : {
            "type" : "string",
            "default" : "FILE",
            "enum" : [ "FILE" ]
          },
          "uploadLink" : {
            "type" : "string",
            "format" : "uri",
            "description" : "Upload URL used to upload a new file"
          },
          "value" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "ID of the file"
          }
        },
        "title" : "File field value"
      },
      "FileUploadLinkV1" : {
        "type" : "object",
        "description" : "Presigned upload link for a file custom field",
        "properties" : {
          "uploadLink" : {
            "type" : "string",
            "format" : "url",
            "description" : "Presigned URL to upload a file to"
          }
        },
        "required" : [ "uploadLink" ]
      },
      "JsonFieldDefinitionV1" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/AbstractCustomFieldDefinitionV1"
        } ],
        "description" : "Field that can contain json object.",
        "properties" : {
          "type" : {
            "type" : "string",
            "default" : "JSON",
            "enum" : [ "JSON" ]
          }
        },
        "required" : [ "key", "title" ],
        "title" : "Json field definition"
      },
      "JsonFieldValueV1" : {
        "description" : "Field that can contain json.",
        "properties" : {
          "editable" : {
            "type" : "boolean"
          },
          "type" : {
            "type" : "string",
            "default" : "JSON",
            "enum" : [ "JSON" ]
          },
          "value" : {
            "type" : "object",
            "additionalProperties" : { },
            "description" : "Value of the custom field"
          }
        },
        "title" : "Json field value"
      },
      "MonetaryFieldDefinitionV1" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/AbstractCustomFieldDefinitionV1"
        }, {
          "type" : "object",
          "properties" : {
            "currency" : {
              "type" : "string",
              "description" : "Currency value of the custom field - ISO 4217 compliant"
            },
            "isInteger" : {
              "type" : "boolean",
              "description" : "True, if the values stored should be treated as integers"
            },
            "maximum" : {
              "type" : "number",
              "format" : "double",
              "description" : "Maximum value. Default is no maximum value."
            },
            "minimum" : {
              "type" : "number",
              "format" : "double",
              "description" : "Minimum value. Default is no minimum value."
            }
          }
        } ],
        "description" : "Monetary definition with ISO 4217 currency code.",
        "properties" : {
          "type" : {
            "type" : "string",
            "default" : "MONETARY",
            "enum" : [ "MONETARY" ]
          }
        },
        "required" : [ "currency", "isInteger", "key", "title" ],
        "title" : "Monetary field definition"
      },
      "MonetaryFieldValueV1" : {
        "description" : "Allows users to enter numeric values and handles min/max values and currency.",
        "properties" : {
          "editable" : {
            "type" : "boolean"
          },
          "lastIncompatibleValue" : {
            "type" : "number",
            "format" : "double",
            "description" : "Last incompatible value of the custom field detected during field definition update",
            "readOnly" : true
          },
          "type" : {
            "type" : "string",
            "default" : "MONETARY",
            "enum" : [ "MONETARY" ]
          },
          "value" : {
            "type" : "number",
            "format" : "double",
            "description" : "Value of the custom field"
          }
        },
        "title" : "Monetary field value"
      },
      "MultiplyConversionStepV1" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/ConversionStepV1"
        }, {
          "type" : "object",
          "properties" : {
            "factor" : {
              "type" : "number",
              "format" : "double"
            }
          }
        } ],
        "description" : "Multiply value with factor to convert to base unit.",
        "properties" : {
          "type" : {
            "type" : "string",
            "default" : "MULTIPLY",
            "enum" : [ "MULTIPLY" ]
          }
        },
        "title" : "Multiply conversion step"
      },
      "NumberFieldDefinitionV1" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/AbstractCustomFieldDefinitionV1"
        }, {
          "type" : "object",
          "properties" : {
            "conversionSteps" : {
              "type" : "array",
              "description" : "Conversions steps from unit system to base unit",
              "items" : {
                "oneOf" : [ {
                  "$ref" : "#/components/schemas/AddConversionStepV1"
                }, {
                  "$ref" : "#/components/schemas/MultiplyConversionStepV1"
                } ]
              },
              "readOnly" : true
            },
            "isInteger" : {
              "type" : "boolean",
              "description" : "True, if the values stored should be treated as integers"
            },
            "maximum" : {
              "type" : "number",
              "format" : "double",
              "description" : "Maximum value. Default is no maximum value."
            },
            "minimum" : {
              "type" : "number",
              "format" : "double",
              "description" : "Minimum value. Default is no minimum value."
            },
            "unitSi" : {
              "type" : "string",
              "description" : "Unit used when user prefers the metric system",
              "enum" : [ "NEWTON", "PASCAL", "WATT", "MILLIMETRE", "CENTIMETRE", "METRE", "KILOMETRE", "SQUARE_METRE", "CUBIC_METRE", "SQUARE_KILOMETRE", "GRAM", "KILOGRAM", "METRIC_TON", "METRE_PER_SECOND", "METRE_PER_SECOND_SQUARED", "KILOMETRE_PER_HOUR", "VOLT", "AMPERE", "VOLT_AMPERE", "AMPERE_HOUR", "HERTZ", "KILOPASCAL", "KILOWATT", "KILOWATT_HOUR", "KILOGRAM_PER_HOUR", "KILOGRAM_PER_SECOND", "LITRE", "LITRES_PER_HOUR", "ARE", "HECTARE", "REVOLUTIONS_PER_MINUTE", "G_FORCE", "CELSIUS", "PERCENT", "DEGREE_ANGLE", "BAR", "MILLISECOND", "SECOND", "MINUTE", "HOUR", "DAY", "WEEK", "MONTH", "YEAR", "INCH", "FOOT", "YARD", "MILE", "SQUARE_FOOT", "CUBIC_FOOT", "ACRE", "POUND", "OUNCE", "US_TON", "MILE_PER_HOUR", "FAHRENHEIT", "GALLON_LIQUID", "POUND_PER_SECOND", "POUND_PER_HOUR", "POUND_PER_SQUARE_INCH", "INCHES_OF_WATER", "GALLONS_PER_HOUR" ]
            },
            "unitUs" : {
              "type" : "string",
              "description" : "Unit used when user prefers the US customary unit system",
              "enum" : [ "NEWTON", "PASCAL", "WATT", "MILLIMETRE", "CENTIMETRE", "METRE", "KILOMETRE", "SQUARE_METRE", "CUBIC_METRE", "SQUARE_KILOMETRE", "GRAM", "KILOGRAM", "METRIC_TON", "METRE_PER_SECOND", "METRE_PER_SECOND_SQUARED", "KILOMETRE_PER_HOUR", "VOLT", "AMPERE", "VOLT_AMPERE", "AMPERE_HOUR", "HERTZ", "KILOPASCAL", "KILOWATT", "KILOWATT_HOUR", "KILOGRAM_PER_HOUR", "KILOGRAM_PER_SECOND", "LITRE", "LITRES_PER_HOUR", "ARE", "HECTARE", "REVOLUTIONS_PER_MINUTE", "G_FORCE", "CELSIUS", "PERCENT", "DEGREE_ANGLE", "BAR", "MILLISECOND", "SECOND", "MINUTE", "HOUR", "DAY", "WEEK", "MONTH", "YEAR", "INCH", "FOOT", "YARD", "MILE", "SQUARE_FOOT", "CUBIC_FOOT", "ACRE", "POUND", "OUNCE", "US_TON", "MILE_PER_HOUR", "FAHRENHEIT", "GALLON_LIQUID", "POUND_PER_SECOND", "POUND_PER_HOUR", "POUND_PER_SQUARE_INCH", "INCHES_OF_WATER", "GALLONS_PER_HOUR" ]
            }
          }
        } ],
        "description" : "Allows users to enter numeric values and handles min/max values and units.",
        "properties" : {
          "type" : {
            "type" : "string",
            "default" : "NUMBER",
            "enum" : [ "NUMBER" ]
          }
        },
        "required" : [ "isInteger", "key", "title" ],
        "title" : "Numeric field definition"
      },
      "NumberFieldValueV1" : {
        "description" : "Allows users to enter numeric values and handles min/max values and units.",
        "properties" : {
          "editable" : {
            "type" : "boolean"
          },
          "lastIncompatibleValue" : {
            "type" : "number",
            "format" : "double",
            "description" : "Last incompatible value of the custom field detected during field definition update",
            "readOnly" : true
          },
          "type" : {
            "type" : "string",
            "default" : "NUMBER",
            "enum" : [ "NUMBER" ]
          },
          "value" : {
            "type" : "number",
            "format" : "double",
            "description" : "Value of the custom field"
          }
        },
        "title" : "Numeric field value"
      },
      "PaginatedCustomFieldDefinitionResponseV1" : {
        "type" : "object",
        "properties" : {
          "content" : {
            "type" : "array",
            "description" : "The page content as a list.",
            "items" : {
              "$ref" : "#/components/schemas/CustomFieldDefinitionResponseV1"
            }
          },
          "number" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "The number of the current page."
          },
          "numberOfElements" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "The number of elements currently on this page."
          },
          "size" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "The size of the page."
          },
          "totalElements" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "The total number of elements."
          },
          "totalPages" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "The number of total pages."
          }
        }
      },
      "PaginatedDefinitionAndValueV1" : {
        "type" : "object",
        "description" : "Paginated definition and values",
        "properties" : {
          "content" : {
            "type" : "array",
            "description" : "The page content as a list.",
            "items" : {
              "$ref" : "#/components/schemas/DefinitionAndValueV1"
            }
          },
          "number" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "The number of the current page."
          },
          "numberOfElements" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "The number of elements currently on this page."
          },
          "size" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "The size of the page."
          },
          "totalElements" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "The total number of elements."
          },
          "totalPages" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "The number of total pages."
          }
        }
      },
      "PatchBooleanFieldDefinitionV1" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/AbstractPatchCustomFieldDefinitionV1"
        } ],
        "description" : "Used to capture a Yes/No value",
        "properties" : {
          "type" : {
            "type" : "string",
            "default" : "BOOLEAN",
            "enum" : [ "BOOLEAN" ]
          }
        },
        "required" : [ "key", "translations" ],
        "title" : "Boolean field definition"
      },
      "PatchBooleanFieldValueV1" : {
        "type" : "object",
        "description" : "Used to capture a Yes/No value",
        "properties" : {
          "type" : {
            "type" : "string",
            "default" : "BOOLEAN",
            "enum" : [ "BOOLEAN" ]
          },
          "value" : {
            "type" : "boolean",
            "description" : "Value of the custom field"
          }
        },
        "required" : [ "type" ],
        "title" : "Boolean field value"
      },
      "PatchDateFieldDefinitionV1" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/AbstractPatchCustomFieldDefinitionV1"
        } ],
        "description" : "Date stored in ISO8601 format.",
        "properties" : {
          "type" : {
            "type" : "string",
            "default" : "DATE",
            "enum" : [ "DATE" ]
          }
        },
        "required" : [ "key", "translations" ],
        "title" : "Date field definition"
      },
      "PatchDateFieldValueV1" : {
        "type" : "object",
        "description" : "Date stored in ISO8601 format.",
        "properties" : {
          "type" : {
            "type" : "string",
            "default" : "DATE",
            "enum" : [ "DATE" ]
          },
          "value" : {
            "type" : "string",
            "format" : "date",
            "description" : "Value of the custom field"
          }
        },
        "required" : [ "type" ],
        "title" : "Date field value"
      },
      "PatchDropDownFieldDefinitionV1" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/AbstractPatchCustomFieldDefinitionV1"
        }, {
          "type" : "object",
          "properties" : {
            "allValues" : {
              "type" : "array",
              "description" : "List of allowed values",
              "items" : {
                "type" : "string"
              }
            },
            "multiSelect" : {
              "type" : "boolean",
              "description" : "Allow selection of multiple values. Default is single selection."
            },
            "valueReplacements" : {
              "type" : "array",
              "description" : "Values to replace",
              "items" : {
                "$ref" : "#/components/schemas/DropDownValueReplacement"
              }
            }
          }
        } ],
        "description" : "Text field with a predefined list of options. Supports both single and multi selects.",
        "properties" : {
          "type" : {
            "type" : "string",
            "default" : "DROPDOWN",
            "enum" : [ "DROPDOWN" ]
          }
        },
        "required" : [ "key", "translations" ],
        "title" : "Options field definition"
      },
      "PatchDropDownFieldValueV1" : {
        "type" : "object",
        "description" : "Text field with a predefined list of options. Supports both single and multi selects.",
        "properties" : {
          "type" : {
            "type" : "string",
            "default" : "DROPDOWN",
            "enum" : [ "DROPDOWN" ]
          },
          "value" : {
            "type" : "array",
            "description" : "Value of the custom field",
            "items" : {
              "type" : "string"
            }
          }
        },
        "required" : [ "type" ],
        "title" : "Options field value"
      },
      "PatchEmailFieldDefinitionV1" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/AbstractPatchCustomFieldDefinitionV1"
        } ],
        "description" : "Email field. Only validates the contents follows basic email syntax. Will be shown with mailto action in the UI to allow user to quickly follow the link.",
        "properties" : {
          "type" : {
            "type" : "string",
            "default" : "EMAIL",
            "enum" : [ "EMAIL" ]
          }
        },
        "required" : [ "key", "translations" ],
        "title" : "Email field definition"
      },
      "PatchEmailFieldValueV1" : {
        "type" : "object",
        "description" : "Email field. Only validates the contents follows basic email syntax. Will be shown with mailto action in the UI to allow user to quickly follow the link.",
        "properties" : {
          "type" : {
            "type" : "string",
            "default" : "EMAIL",
            "enum" : [ "EMAIL" ]
          },
          "value" : {
            "type" : "string",
            "format" : "email",
            "description" : "Value of the custom field"
          }
        },
        "required" : [ "type" ],
        "title" : "Email field value"
      },
      "PatchFileFieldDefinitionV1" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/AbstractPatchCustomFieldDefinitionV1"
        } ],
        "description" : "A custom field that stores a file reference. Files are uploaded via a presigned URL.",
        "properties" : {
          "type" : {
            "type" : "string",
            "default" : "FILE",
            "enum" : [ "FILE" ]
          }
        },
        "required" : [ "key", "translations" ],
        "title" : "File field definition"
      },
      "PatchJsonFieldDefinitionV1" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/AbstractPatchCustomFieldDefinitionV1"
        } ],
        "description" : "Field that can contain a json object.",
        "properties" : {
          "type" : {
            "type" : "string",
            "default" : "JSON",
            "enum" : [ "JSON" ]
          }
        },
        "required" : [ "key", "translations" ],
        "title" : "JSON field definition"
      },
      "PatchJsonFieldValueV1" : {
        "type" : "object",
        "description" : "Field that can contain json.",
        "properties" : {
          "type" : {
            "type" : "string",
            "default" : "JSON",
            "enum" : [ "JSON" ]
          },
          "value" : {
            "type" : "object",
            "additionalProperties" : { },
            "description" : "Value of the custom field"
          }
        },
        "required" : [ "type" ],
        "title" : "Json field value"
      },
      "PatchMonetaryFieldDefinitionV1" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/AbstractPatchCustomFieldDefinitionV1"
        }, {
          "type" : "object",
          "properties" : {
            "currency" : {
              "type" : "string",
              "description" : "Currency value of the custom field - ISO 4217 compliant"
            },
            "isInteger" : {
              "type" : "boolean",
              "description" : "True, if the values stored should be treated as integers"
            },
            "maximum" : {
              "type" : "number",
              "format" : "double",
              "description" : "Maximum value. Default is no maximum value."
            },
            "minimum" : {
              "type" : "number",
              "format" : "double",
              "description" : "Minimum value. Default is no minimum value."
            }
          }
        } ],
        "description" : "Allows users to enter numeric values and handles min/max values and currency.",
        "properties" : {
          "type" : {
            "type" : "string",
            "default" : "MONETARY",
            "enum" : [ "MONETARY" ]
          }
        },
        "required" : [ "isInteger", "key", "translations" ],
        "title" : "Monetary field definition"
      },
      "PatchMonetaryFieldValueV1" : {
        "type" : "object",
        "description" : "Allows users to enter numeric values and handles min/max values and currency.",
        "properties" : {
          "type" : {
            "type" : "string",
            "default" : "MONETARY",
            "enum" : [ "MONETARY" ]
          },
          "value" : {
            "type" : "number",
            "format" : "double",
            "description" : "Value of the custom field"
          }
        },
        "required" : [ "type" ],
        "title" : "Monetary field value"
      },
      "PatchNumberFieldDefinitionV1" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/AbstractPatchCustomFieldDefinitionV1"
        }, {
          "type" : "object",
          "properties" : {
            "isInteger" : {
              "type" : "boolean",
              "description" : "True, if the values stored should be treated as integers"
            },
            "maximum" : {
              "type" : "number",
              "format" : "double",
              "description" : "Maximum value. Default is no maximum value."
            },
            "minimum" : {
              "type" : "number",
              "format" : "double",
              "description" : "Minimum value. Default is no minimum value."
            },
            "unitSi" : {
              "type" : "string",
              "description" : "Unit used when user prefers the metric system",
              "enum" : [ "NEWTON", "PASCAL", "WATT", "MILLIMETRE", "CENTIMETRE", "METRE", "KILOMETRE", "SQUARE_METRE", "CUBIC_METRE", "SQUARE_KILOMETRE", "GRAM", "KILOGRAM", "METRIC_TON", "METRE_PER_SECOND", "METRE_PER_SECOND_SQUARED", "KILOMETRE_PER_HOUR", "VOLT", "AMPERE", "VOLT_AMPERE", "AMPERE_HOUR", "HERTZ", "KILOPASCAL", "KILOWATT", "KILOWATT_HOUR", "KILOGRAM_PER_HOUR", "KILOGRAM_PER_SECOND", "LITRE", "LITRES_PER_HOUR", "ARE", "HECTARE", "REVOLUTIONS_PER_MINUTE", "G_FORCE", "CELSIUS", "PERCENT", "DEGREE_ANGLE", "BAR", "MILLISECOND", "SECOND", "MINUTE", "HOUR", "DAY", "WEEK", "MONTH", "YEAR", "INCH", "FOOT", "YARD", "MILE", "SQUARE_FOOT", "CUBIC_FOOT", "ACRE", "POUND", "OUNCE", "US_TON", "MILE_PER_HOUR", "FAHRENHEIT", "GALLON_LIQUID", "POUND_PER_SECOND", "POUND_PER_HOUR", "POUND_PER_SQUARE_INCH", "INCHES_OF_WATER", "GALLONS_PER_HOUR" ]
            },
            "unitUs" : {
              "type" : "string",
              "description" : "Unit used when user prefers the US customary unit system",
              "enum" : [ "NEWTON", "PASCAL", "WATT", "MILLIMETRE", "CENTIMETRE", "METRE", "KILOMETRE", "SQUARE_METRE", "CUBIC_METRE", "SQUARE_KILOMETRE", "GRAM", "KILOGRAM", "METRIC_TON", "METRE_PER_SECOND", "METRE_PER_SECOND_SQUARED", "KILOMETRE_PER_HOUR", "VOLT", "AMPERE", "VOLT_AMPERE", "AMPERE_HOUR", "HERTZ", "KILOPASCAL", "KILOWATT", "KILOWATT_HOUR", "KILOGRAM_PER_HOUR", "KILOGRAM_PER_SECOND", "LITRE", "LITRES_PER_HOUR", "ARE", "HECTARE", "REVOLUTIONS_PER_MINUTE", "G_FORCE", "CELSIUS", "PERCENT", "DEGREE_ANGLE", "BAR", "MILLISECOND", "SECOND", "MINUTE", "HOUR", "DAY", "WEEK", "MONTH", "YEAR", "INCH", "FOOT", "YARD", "MILE", "SQUARE_FOOT", "CUBIC_FOOT", "ACRE", "POUND", "OUNCE", "US_TON", "MILE_PER_HOUR", "FAHRENHEIT", "GALLON_LIQUID", "POUND_PER_SECOND", "POUND_PER_HOUR", "POUND_PER_SQUARE_INCH", "INCHES_OF_WATER", "GALLONS_PER_HOUR" ]
            }
          }
        } ],
        "description" : "Allows users to enter numeric values and handles min/max values and units.",
        "properties" : {
          "type" : {
            "type" : "string",
            "default" : "NUMBER",
            "enum" : [ "NUMBER" ]
          }
        },
        "required" : [ "isInteger", "key", "translations" ],
        "title" : "Numeric field definition"
      },
      "PatchNumberFieldValueV1" : {
        "type" : "object",
        "description" : "Allows users to enter numeric values and handles min/max values and units.",
        "properties" : {
          "type" : {
            "type" : "string",
            "default" : "NUMBER",
            "enum" : [ "NUMBER" ]
          },
          "value" : {
            "type" : "number",
            "format" : "double",
            "description" : "Value of the custom field"
          }
        },
        "required" : [ "type" ],
        "title" : "Numeric field value"
      },
      "PatchPhoneNumberFieldDefinitionV1" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/AbstractPatchCustomFieldDefinitionV1"
        } ],
        "description" : "Phone number in E.164 format. Validates the phone number format but doesn't validate the number actually exists.",
        "properties" : {
          "type" : {
            "type" : "string",
            "default" : "PHONE_NUMBER",
            "enum" : [ "PHONE_NUMBER" ]
          }
        },
        "required" : [ "key", "translations" ],
        "title" : "Phone number field definition"
      },
      "PatchPhoneNumberFieldValueV1" : {
        "type" : "object",
        "description" : "Phone number in E.164 format. Validates the phone number format but doesn't validate the number actually exists.",
        "properties" : {
          "type" : {
            "type" : "string",
            "default" : "PHONE_NUMBER",
            "enum" : [ "PHONE_NUMBER" ]
          },
          "value" : {
            "type" : "string",
            "description" : "Value of the custom field",
            "pattern" : "^\\+[1-9]\\d{1,14}(x\\d+)$"
          }
        },
        "required" : [ "type" ],
        "title" : "Phone number field value"
      },
      "PatchStringFieldDefinitionV1" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/AbstractPatchCustomFieldDefinitionV1"
        }, {
          "type" : "object",
          "properties" : {
            "maximumLength" : {
              "type" : "integer",
              "format" : "int32",
              "description" : "Maximum length of string"
            },
            "minimumLength" : {
              "type" : "integer",
              "format" : "int32",
              "description" : "Minimum length of string"
            },
            "pattern" : {
              "type" : "string",
              "description" : "Regular expression matching pattern"
            }
          }
        } ],
        "description" : "Field that can contain free text. Supports limiting length and regular expression patterns.",
        "properties" : {
          "type" : {
            "type" : "string",
            "default" : "STRING",
            "enum" : [ "STRING" ]
          }
        },
        "required" : [ "key", "translations" ],
        "title" : "Text field definition"
      },
      "PatchStringFieldValueV1" : {
        "type" : "object",
        "description" : "Field that can contain free text. Supports limiting length and regular expression patterns.",
        "properties" : {
          "type" : {
            "type" : "string",
            "default" : "STRING",
            "enum" : [ "STRING" ]
          },
          "value" : {
            "type" : "string",
            "description" : "Value of the custom field"
          }
        },
        "required" : [ "type" ],
        "title" : "Text field value"
      },
      "PatchStringListFieldDefinitionV1" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/AbstractPatchCustomFieldDefinitionV1"
        }, {
          "type" : "object",
          "properties" : {
            "itemMaximumLength" : {
              "type" : "integer",
              "format" : "int32",
              "description" : "Maximum length each of string item"
            },
            "itemMinimumLength" : {
              "type" : "integer",
              "format" : "int32",
              "description" : "Minimum length of each string item"
            },
            "maximumItems" : {
              "type" : "integer",
              "format" : "int32",
              "description" : "Maximum items allowed in the list"
            },
            "pattern" : {
              "type" : "string",
              "description" : "Regular expression matching pattern"
            }
          }
        } ],
        "description" : "Field that can contain multiple free text items. Supports limiting list size, length of items and regular expression patterns.",
        "properties" : {
          "type" : {
            "type" : "string",
            "default" : "STRING_LIST",
            "enum" : [ "STRING_LIST" ]
          }
        },
        "required" : [ "key", "translations" ],
        "title" : "Text list field definition"
      },
      "PatchStringListFieldValueV1" : {
        "type" : "object",
        "description" : "Field that can contain multiple free text items. Supports limiting list size, length of items and regular expression patterns.",
        "properties" : {
          "type" : {
            "type" : "string",
            "default" : "STRING_LIST",
            "enum" : [ "STRING_LIST" ]
          },
          "value" : {
            "type" : "array",
            "description" : "Value of the custom field",
            "items" : {
              "type" : "string"
            }
          }
        },
        "required" : [ "type" ],
        "title" : "Text list field value"
      },
      "PatchWebAddressFieldDefinitionV1" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/AbstractPatchCustomFieldDefinitionV1"
        } ],
        "description" : "May contain any link to a webpage. Will be shown with a link action in the UI to allow user to quickly follow the link.",
        "properties" : {
          "type" : {
            "type" : "string",
            "default" : "WEB_ADDRESS",
            "enum" : [ "WEB_ADDRESS" ]
          }
        },
        "required" : [ "key", "translations" ],
        "title" : "Weblink field definition"
      },
      "PatchWebAddressFieldValueV1" : {
        "type" : "object",
        "description" : "May contain any link to a webpage. Will be shown with a link action in the UI to allow user to quickly follow the link.",
        "properties" : {
          "type" : {
            "type" : "string",
            "default" : "WEB_ADDRESS",
            "enum" : [ "WEB_ADDRESS" ]
          },
          "value" : {
            "type" : "string",
            "format" : "uri",
            "description" : "Value of the custom field"
          }
        },
        "required" : [ "type" ],
        "title" : "Weblink field value"
      },
      "PhoneNumberFieldDefinitionV1" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/AbstractCustomFieldDefinitionV1"
        } ],
        "description" : "Phone number in E.164 format. Validates the phone number format but doesn't validate the number actually exists.",
        "properties" : {
          "type" : {
            "type" : "string",
            "default" : "PHONE_NUMBER",
            "enum" : [ "PHONE_NUMBER" ]
          }
        },
        "required" : [ "key", "title" ],
        "title" : "Phone number field definition"
      },
      "PhoneNumberFieldValueV1" : {
        "description" : "Phone number in E.164 format. Validates the phone number format but doesn't validate the number actually exists.",
        "properties" : {
          "editable" : {
            "type" : "boolean"
          },
          "type" : {
            "type" : "string",
            "default" : "PHONE_NUMBER",
            "enum" : [ "PHONE_NUMBER" ]
          },
          "value" : {
            "type" : "string",
            "description" : "Value of the custom field",
            "pattern" : "^\\+[1-9]\\d{1,14}(x\\d+)$"
          }
        },
        "title" : "Phone number field value"
      },
      "SetFieldValueV1" : {
        "type" : "object",
        "properties" : {
          "definitionId" : {
            "type" : "string",
            "format" : "uuid",
            "description" : "The ID of the definition this custom field value should use. Required unless definitionKey and ownerType are provided."
          },
          "definitionKey" : {
            "type" : "string",
            "description" : "The key of the definition this custom field value should use. Required together with ownerType unless definitionId is provided."
          },
          "irisAppId" : {
            "type" : "string",
            "description" : "The iris app ID for IRIS_APP owner type. Required when ownerType is IRIS_APP."
          },
          "ownerType" : {
            "type" : "string",
            "description" : "The owner type of the definition. Required together with definitionKey unless definitionId is provided.",
            "enum" : [ "ACCOUNT", "IRIS_APP", "TRACKUNIT" ]
          },
          "value" : {
            "description" : "Value of the field",
            "oneOf" : [ {
              "$ref" : "#/components/schemas/BooleanFieldValueV1"
            }, {
              "$ref" : "#/components/schemas/DateFieldValueV1"
            }, {
              "$ref" : "#/components/schemas/DropDownFieldValueV1"
            }, {
              "$ref" : "#/components/schemas/EmailFieldValueV1"
            }, {
              "$ref" : "#/components/schemas/FileFieldValueV1"
            }, {
              "$ref" : "#/components/schemas/JsonFieldValueV1"
            }, {
              "$ref" : "#/components/schemas/MonetaryFieldValueV1"
            }, {
              "$ref" : "#/components/schemas/NumberFieldValueV1"
            }, {
              "$ref" : "#/components/schemas/PhoneNumberFieldValueV1"
            }, {
              "$ref" : "#/components/schemas/StringFieldValueV1"
            }, {
              "$ref" : "#/components/schemas/StringListFieldValueV1"
            }, {
              "$ref" : "#/components/schemas/WebAddressFieldValueV1"
            } ]
          }
        }
      },
      "SetFieldValuesV1" : {
        "type" : "object",
        "properties" : {
          "entityIds" : {
            "type" : "array",
            "description" : "The IDs of the entities that the values should be attached to",
            "items" : {
              "type" : "string",
              "format" : "uuid"
            },
            "uniqueItems" : true
          },
          "entityType" : {
            "type" : "string",
            "description" : "The type of the entities that the values should be attached to",
            "enum" : [ "ASSET", "ACCOUNT", "SITE", "GROUP", "CUSTOMER", "RENTAL_CONTRACT" ]
          },
          "values" : {
            "type" : "array",
            "description" : "   The new value for the custom field. Set to null to delete the value.",
            "items" : {
              "$ref" : "#/components/schemas/SetFieldValueV1"
            },
            "uniqueItems" : true
          }
        },
        "required" : [ "entityIds", "entityType", "values" ]
      },
      "StringFieldDefinitionV1" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/AbstractCustomFieldDefinitionV1"
        }, {
          "type" : "object",
          "properties" : {
            "maximumLength" : {
              "type" : "integer",
              "format" : "int32",
              "description" : "Maximum length of string"
            },
            "minimumLength" : {
              "type" : "integer",
              "format" : "int32",
              "description" : "Minimum length of string"
            },
            "pattern" : {
              "type" : "string",
              "description" : "Regular expression matching pattern"
            }
          }
        } ],
        "description" : "Field that can contain free text. Supports limiting length and regular expression patterns.",
        "properties" : {
          "type" : {
            "type" : "string",
            "default" : "STRING",
            "enum" : [ "STRING" ]
          }
        },
        "required" : [ "key", "title" ],
        "title" : "Text field definition"
      },
      "StringFieldValueV1" : {
        "description" : "Field that can contain free text. Supports limiting length and regular expression patterns.",
        "properties" : {
          "editable" : {
            "type" : "boolean"
          },
          "lastIncompatibleValue" : {
            "type" : "string",
            "description" : "Last incompatible value of the custom field detected during field definition update"
          },
          "type" : {
            "type" : "string",
            "default" : "STRING",
            "enum" : [ "STRING" ]
          },
          "value" : {
            "type" : "string",
            "description" : "Value of the custom field"
          }
        },
        "title" : "Text field value"
      },
      "StringListFieldDefinitionV1" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/AbstractCustomFieldDefinitionV1"
        }, {
          "type" : "object",
          "properties" : {
            "itemMaximumLength" : {
              "type" : "integer",
              "format" : "int32",
              "description" : "Maximum length each of string item"
            },
            "itemMinimumLength" : {
              "type" : "integer",
              "format" : "int32",
              "description" : "Minimum length of each string item"
            },
            "maximumItems" : {
              "type" : "integer",
              "format" : "int32",
              "description" : "Maximum items allowed in the list"
            },
            "pattern" : {
              "type" : "string",
              "description" : "Regular expression matching pattern"
            }
          }
        } ],
        "description" : "Field that can contain multiple free text items. Supports limiting list size, length of items and regular expression patterns.",
        "properties" : {
          "type" : {
            "type" : "string",
            "default" : "STRING_LIST",
            "enum" : [ "STRING_LIST" ]
          }
        },
        "required" : [ "key", "title" ],
        "title" : "Text list field definition"
      },
      "StringListFieldValueV1" : {
        "description" : "Field that can contain multiple free text items. Supports limiting list size, length of items and regular expression patterns.",
        "properties" : {
          "editable" : {
            "type" : "boolean"
          },
          "type" : {
            "type" : "string",
            "default" : "STRING_LIST",
            "enum" : [ "STRING_LIST" ]
          },
          "value" : {
            "type" : "array",
            "description" : "Value of the custom field",
            "items" : {
              "type" : "string"
            }
          }
        },
        "title" : "Options field value"
      },
      "Violation" : {
        "type" : "object",
        "properties" : {
          "field" : {
            "type" : "string"
          },
          "message" : {
            "type" : "string"
          }
        }
      },
      "WebAddressFieldDefinitionV1" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/AbstractCustomFieldDefinitionV1"
        } ],
        "description" : "May contain any link to a webpage. Will be shown with a link action in the UI to allow user to quickly follow the link.",
        "properties" : {
          "type" : {
            "type" : "string",
            "default" : "WEB_ADDRESS",
            "enum" : [ "WEB_ADDRESS" ]
          }
        },
        "required" : [ "key", "title" ],
        "title" : "Weblink field definition"
      },
      "WebAddressFieldValueV1" : {
        "description" : "May contain any link to a webpage. Will be shown with a link action in the UI to allow user to quickly follow the link.",
        "properties" : {
          "editable" : {
            "type" : "boolean"
          },
          "type" : {
            "type" : "string",
            "default" : "WEB_ADDRESS",
            "enum" : [ "WEB_ADDRESS" ]
          },
          "value" : {
            "type" : "string",
            "format" : "uri",
            "description" : "Value of the custom field"
          }
        },
        "title" : "Weblink field value"
      }
    },
    "securitySchemes" : {
      "authorizationBearer" : {
        "bearerFormat" : "JWT",
        "scheme" : "bearer",
        "type" : "http"
      }
    }
  }
}