# RNA APIs for `Action` and `AnimData` :::warning This is a draft, real thing is at [#124399: RNA APIs for Action and AnimData](https://projects.blender.org/blender/blender/issues/124399) ::: This is a sketch of what the RNA APIs are like, for assigning and managing actions and slots. | Symbol | Meaning | |-|-| | ⭕ | Not yet done, needs work. | | ❌ | Temporary one, needs removing when no longer necessary. | ## `Action` `action.last_slot_handle` : Read-only getter for the last-used slot handle. `action.slots` : Collection of type `ActionSlots` that gives access to all the Action's slots. Keyed by `slot.name`. `action.slots.new(name)` : Creates & returns a new slot with the given name, which is potentially altered to be unique within the Action. `action.slots.remove(slot)` ⭕ : not yet implemented! ## `AnimData` `id.animation_data.action` : Reference to the assigned Action `id.animation_data.action_slot_handle` : Ground truth of which slot is assigned. Only semantically valid when an Action is assigned. Writable only when an Action is assigned. `id.animation_data.action_slot_name` : Name of the last-assigned slot. Is used to auto-assign a slot when an Action is assigned. Writable. `id.animation_data.action_slot_enum` ❌ : Enum that exposes the names of slots that are compatible with `id`'s type. `id.animation_data.action_slot` : Reference to the assigned slot. Uses `….action_slot_handle` to look up the slot in `….action`. `id.animation_data.action_slots` : Collection property of a sub-set of the slots in the assigned Action. Only those slots that are compatible with `id`'s type are contained here.