---
title: Record
framework: combine
role: symbol
role_heading: Structure
path: combine/record
---

# Record

A publisher that allows for recording a series of inputs and a completion, for later playback to each subscriber.

## Declaration

```swift
struct Record<Output, Failure> where Failure : Error
```

## Topics

### Creating a record publisher

- [init(output:completion:)](combine/record/init(output:completion:).md)
- [init(record:)](combine/record/init(record:).md)
- [init(recording:)](combine/record/init(recording:).md)

### Inspecting publisher properties

- [recording](combine/record/recording-swift.property.md)
- [Record.Recording](combine/record/recording-swift.struct.md)

## Relationships

### Conforms To

- [Copyable](swift/copyable.md)
- [Decodable](swift/decodable.md)
- [Encodable](swift/encodable.md)
- [Escapable](swift/escapable.md)
- [Publisher](combine/publisher.md)

## See Also

### Convenience Publishers

- [Future](combine/future.md)
- [Just](combine/just.md)
- [Deferred](combine/deferred.md)
- [Empty](combine/empty.md)
- [Fail](combine/fail.md)
