complete

suspend fun complete(lease: MediaLease, attachment: AttachmentMetadata, byteCount: ULong): MediaCompletion

Commit final authenticated attachment metadata for the matching lease.

Repeating an already successful completion with the same metadata and byte count returns the persisted result even if a later subject has selected another icon. Freshness is checked only while a running conversation-icon operation transitions to completed.

Throws

with SoftchatErrorCode.INVALID_ATTACHMENT_METADATA when the metadata is malformed, or SoftchatErrorCode.INVALID_MEDIA_OPERATION when the operation or lease no longer matches.