﻿# INVALID_CHANGE_LEVEL — set-change-level supplied value is not a known ChangeLevel

The `changeLevel` path segment must be exactly one of: `ARRAY_LENGTH`, `ARRAY_ELEMENTS`, `TYPE`, or `STRUCTURAL`. Comparison is case-sensitive. Any other …

<em>cyoda-go version <a href="https://github.com/Cyoda-platform/cyoda-go/releases/tag/v0.7.1">0.7.1</a></em>

# errors.INVALID_CHANGE_LEVEL

## NAME

INVALID_CHANGE_LEVEL — `POST /model/{name}/{version}/changeLevel/{changeLevel}` was called with a value that is not one of the four accepted `ChangeLevel` enum members.

## SYNOPSIS

HTTP: `400` `Bad Request`. Retryable: `no`.

## DESCRIPTION

The `changeLevel` path segment must be exactly one of: `ARRAY_LENGTH`, `ARRAY_ELEMENTS`, `TYPE`, or `STRUCTURAL`. Comparison is case-sensitive. Any other value (including the empty string, lower-cased variants, or typos) yields this error.

The problem-detail body carries the following properties so callers can branch on the precondition without scraping the message string:

- `entityName` — the model's name from the URL path.
- `entityVersion` — the model's integer version from the URL path.
- `suppliedValue` — the offending `changeLevel` string as supplied by the caller.
- `validValues` — the canonical accepted values, in the hierarchy order documented in `models` (most-restrictive to most-permissive): `ARRAY_LENGTH`, `ARRAY_ELEMENTS`, `TYPE`, `STRUCTURAL`.

Not retryable: the request will keep failing until the caller sends a valid value. Re-issue the request with one of `validValues`.

## SEE ALSO

- errors
- errors.BAD_REQUEST
- models

## See also

- [`cyoda help errors`](/help/errors/) — Every error response from the Cyoda REST API carries a structured `errorCode` in the `properties` object. Multiple codes may share the same HTTP status. Programmatic handling keys on `errorCode`, not HTTP status.
- [`cyoda help errors BAD_REQUEST`](/help/errors/bad_request/) — Fired when the server cannot parse or structurally process the incoming request. Common triggers include invalid JSON, missing required fields, unsupported format specifiers, or mutually exclusive parameters being set simultaneously.
- [`cyoda help models`](/help/models/) — A model is a named, versioned schema registered per tenant. Every entity in the system is an instance of exactly one model. Models are identified by `(entityName, modelVersion)`. The model ID is a deterministic UUID v5 derived from that key: `UUID.newSHA1(NameSpaceURL, "{entityName}.{modelVersion}")`.

## Raw formats

- [`/help/errors/invalid_change_level.json`](/help/errors/invalid_change_level.json) — full descriptor (matches `GET /help/{topic}` envelope)
- [`/help/errors/invalid_change_level.md`](/help/errors/invalid_change_level.md) — body only