# IStreamCheckpointerGrain.Update(string, string, CancellationToken)

[Type overview](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.streams.istreamcheckpointergrain/) | [Methods](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.streams.istreamcheckpointergrain/methods/)

```csharp
public abstract ValueTask<string> Update(string offset, string expectedCheckpoint, CancellationToken cancellationToken)
```

Updates the checkpoint if the persisted value matches the expected value.

### Parameters

- `offset` (`string`): The offset.
- `expectedCheckpoint` (`string`): The expected persisted checkpoint.
- `cancellationToken` (`CancellationToken`): The cancellation token.

### Returns

The persisted checkpoint after the update attempt.
