There are a number of paste buffers; the actual limit is a compile-time constant PCB_MAX_BUFFER. It is normally 5. One of these is the "current" paste buffer, often referred to as "the" paste buffer. Arguments:

AddSelected Copies the selected objects to the current paste buffer.
Clear Remove all objects from the current paste buffer.
Convert Convert the current paste buffer to an subcircuit.
Restore Convert any subcircuit in the paste buffer back to plain objects.
Mirror Flip all objects in the paste buffer vertically (up/down flip). To mirror horizontally, combine this with rotations.
Rotate Rotates the current buffer. The number to pass is 1..3, where 1 means 90 degrees counter clockwise, 2 means 180 degrees, and 3 means 90 degrees clockwise (270 CCW).
Normalize Set the buffer origin to the center of the paste buffer bounding box. This is useful especially if an import plugin loaded objects in the buffer with a large offset.
Save Saves subcircuits in the current buffer to the indicated file. If format is specified, try to use that file format, else use the default. If force is specified, overwrite target, don't ask.
SaveAll Saves all content of the current buffer to the indicated file. If format is specified, try to use that file format, else use the default.
LoadAll Loads a previously saved paste buffer into the current buffer from the indicated file.
ToLayout Pastes objects in the current buffer to the indicated X, Y coordinates in the layout. The X and Y are treated like delta is for many other objects. For each, if it's prefixed by + or -, then that amount is relative to the last location. Otherwise, it's absolute. If units is unspecified, units are PCB's internal units, currently nanometer. If "crosshair" is used instead of coordinates, the paste happens at the current crosshair coords.
1..PCB_MAX_BUFFER Selects the given buffer to be the current paste buffer.
GetSource Returns the source file path the buffer is loaded from or nil if there is none. The return value is a string, usable from user scripts.