Tymnet collected segments of the streams in circuits and sent them over a link from one node to the next in packets, several segments per packet. Packets were error controlled between nodes. Here is an e-mail note by Laroy Tymes that he sent in response to a question I sent him in late 2003 regarding Tymnet flow control.
There are two separate subjects here, packet acknowledgement between nodes and flow control on channels. The first packet control used a 3 bit field for a window size of 4. Up to 4 packets could be sent before acknowledgement. The reason for the 3 bit field for a window size of 4 was to eliminate ambiguity between new and old records, a distinction lost in subsequent protocols such as X.25. The first X.25 also had a 3 bit count field, but a window size of 7, requiring the transmitter to resend all 7 packets for dropped packet recovery instead of only those packets needing retransmission.

Each virtual circuit that ran between 2 nodes was represented by a channel between those 2 nodes. Every half second a bit vector was sent from the receiver back to the transmitter. A 1 bit reset the flow control counter for the corresponding channel (30 for low speed circuits and 120 for high speed circuits). When the transmitter sent data on a particular channel, the counter was reduced by the number of bytes. When the number reached 0, traffic on that channel stopped until a 1 bit from the backpressure vector reset the counter.

Several more ambitious schemes were considered, including “blaster” mode which dedicated whole packets for certain high data rate circuits, but they were never implemented.