# Append items to a session

Launch stage: Beta

`POST /api/2.0/agents/{parent=session-stores/*/sessions/*}/items:append`

Appends items to a session.

API scopes: agent-kit

## Path parameters

- `parent` (string, required)
  Resource name of the containing session, in the form
   `session-stores/{session_store_id}/sessions/{session_id}`.

## Request body

- `items` (array of object, required)
  Items to append atomically in request order. Concurrent append requests are serialized into one
   committed order without exposing a numeric sequence in the public contract.
  - `data` (object, required)
    Complete SDK-native, JSON-compatible item. The service stores and returns this value without
     interpreting provider-specific fields such as `type`, `role`, or `content`.

## Returns

- `session_items` (array of object, optional)
  Persisted session items with service-assigned fields.
  - `item_id` (string, optional, Output only)
    Stable service-generated item ID.
  - `data` (object, required)
    Complete SDK-native, JSON-compatible item. The service stores and returns this value without
     interpreting provider-specific fields such as `type`, `role`, or `content`.
  - `create_time` (string, optional, Output only)
    Server-assigned time when the append commits. Values are nondecreasing within a session. Item
     listing orders by this timestamp; equal timestamps are resolved by committed append order.

## Response

```json
{
  "session_items": [
    {
      "item_id": "string",
      "data": {},
      "create_time": "string"
    }
  ]
}
```

