Control Flow

Add loops, conditions, and other control structures to sequences.

Loops

Repeat a section of messages:

@seq
[participants]
  client:Client
  api:API
  db:Database

[messages]
  client->api:GET /items?page=1

  [loop: for each page]
    api->db:SELECT ... LIMIT 10
    db-->api:rows
  [end]

  api-->client:all items
Rendered diagram

Conditions (Alt)

Show alternative paths:

Rendered diagram

Optional (Opt)

Conditional execution:

Rendered diagram

Parallel (Par)

Concurrent execution:

Rendered diagram

Notes

Add explanatory notes:

Rendered diagram

Full Example

Rendered diagram

Next Steps

Last updated