Skip to content
Get started

Update a variation's memory layer assignment

agents.variations.update_memory_layer(id, **kwargs) -> VariationMemoryLayerAssignment { id, memory_layer, position }
PATCH/v1/workspaces/{workspaceId}/agents/{agentId}/variations/{variationId}/memory_layer_assignments/{id}

Updates the position of a memory layer assignment on a variation.

ParametersExpand Collapse
workspace_id: String
agent_id: String
variation_id: String
id: String
position: Integer

New position. Only field currently updatable on an assignment.

formatint32
ReturnsExpand Collapse
class VariationMemoryLayerAssignment { id, memory_layer, position }

VariationMemoryLayerAssignment attaches a single MemoryLayer to a variation at a given position in the variation’s baseline memory stack. A variation has at most one assignment per memory_layer_id.

Variations only support whole-layer attachments — entry pinning is an objective-level capability.

id: String

Assignment row id — handle for removing the assignment. Distinct from the referenced memory layer’s id.

memory_layer: BareMetadata { id, name }

BareMetadata contains the minimal metadata for a resource: the ID and an optional human-readable name. These are used for reference fields where the full metadata (account scoping, timestamps, labels, external IDs) is not needed — e.g., the tool references inside an agent variation spec or the tools assigned to an objective. Both fields are server-populated; clients provide IDs through sibling fields rather than by constructing a BareMetadata themselves.

id: String
name: String

Human-readable name of the referenced resource, populated by the server on reads for convenience. Absent on references to resources that do not have a name (e.g., objective tasks).

position: Integer

Position in the variation’s baseline stack. Lower values sit lower; the highest-position assignment is on top of the variation’s baseline. Gaps are fine — only relative position matters. Positions must be unique within a variation; a request that would collide with an existing assignment’s position is rejected with InvalidArgument.

formatint32

Update a variation's memory layer assignment

require "cadenya"

cadenya = Cadenya::Client.new(api_key: "My API Key")

variation_memory_layer_assignment = cadenya.agents.variations.update_memory_layer(
  "id",
  workspace_id: "workspaceId",
  agent_id: "agentId",
  variation_id: "variationId"
)

puts(variation_memory_layer_assignment)
{
  "id": "id",
  "memoryLayer": {
    "id": "id",
    "name": "name"
  },
  "position": 0
}
Returns Examples
{
  "id": "id",
  "memoryLayer": {
    "id": "id",
    "name": "name"
  },
  "position": 0
}