# `step.large_output`

Operation with a large answer among several changing calls.

Area 12, [Jobs and events](../topics/jobs-and-events.md); not declinable; the next step is usually the agent's.

An answer kept for a rerun is at most 1 MB, so an operation its package
marks `large_output: true` is never one of several changing calls:










```jadpo
use app { pay }
use shared/providers/acme_pay

/// Pays a supplier's invoice, then exports the month's statement.
action pay_supplier(invoice: AcmePay.Reference) -> AcmePay.Payment {
    var payment: AcmePay.Payment = pay.payments.create(
        AcmePay.PaymentRequest {
            reference: invoice
        }
    )
    var bank_statement: AcmePay.Payment = pay.bank_statements.export(
        AcmePay.PaymentRequest {
            reference: payment.id
        }
    )
    assert bank_statement.id == payment.id
    return payment
}
```

```text
error: `pay.bank_statements.export` gives a large answer, and `pay_supplier` makes several changing calls
 --> domains/bakery/actions/pay_supplier.jadpo:11:43
   |
11 |     var bank_statement: AcmePay.Payment = pay.bank_statements.export(
   |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^ `large_output: true`
  reason: In an action with several changing calls, each answer is kept, up to 1 MB, for a retry to replay, and its package marks this operation's answer as large.
  next: Move `pay.bank_statements.export` to an action of its own, run by a subscriber of an event `pay_supplier` emits (agent)
  rule: step.large_output
  help: https://jadpo.dev/docs/errors/step.large_output

check failed: 1 error, 10 files
```
