Skip to content

Defer revenue for a POB

Request

Purpose

Places a manual deferral on one POB so its scheduled revenue is held back instead of being recognized, optionally for a date window.

When to use

  • Revenue must not be recognized yet even though the schedule says so, for example because of an unresolved contingency.
  • Pair it with the release-revenue operation when the contingency is resolved.

Behavior notes

Errors from the revenue engine for this operation are returned as HTTP 200 with success: false and the generic message shown in the examples, not as 4xx/5xx responses.

Security
bearerAuth
Path
rcIdinteger, (int64)required

Revenue contract ID.

Example:111442
pobIdinteger, (int64)required

Performance obligation (POB) ID.

Example:156912
Headers
X-REV-BOOK-IDinteger, (int64)

Revenue book to work in. Defaults to 1 (the primary book). Ignored by the revenue hold definition endpoints, because hold definitions are shared across books.

Default:1
Example:1
Zuora-Request-Idstring, <= 64 characters

Optional correlation ID, echoed in the traceId response header.

Example:b8f1c2d4-6e1a-4c7b-9d2e-0f3a5b7c9e11
Bodyapplication/jsonrequired
commentsstring, non-emptyrequired

Reason for the action, recorded in the audit history.

startDatestring, (date)

Start of the date window the action applies to (yyyy-MM-dd).

endDatestring, (date)

End of the date window the action applies to (yyyy-MM-dd).

releaseAmountnumber, (double)

Amount to release. Used by release actions for a partial release.

releasePercentagenumber, (double)

Percentage to release. Used by release actions for a partial release.

contProsTypestring

Contingency processing type code configured in your tenant.

Default:""
objectVersioninteger, (int64)

Current version of the revenue contract, used for optimistic locking. Omit it to use the contract's current version. If you send a version that is no longer current, the revenue engine rejects the action.

Example:5
{ "comments": "Deferring revenue pending acceptance", "startDate": "2026-01-01", "endDate": "2026-03-31" }

Responses

Processed. success: true means the action completed; success: false means a business rule rejected it and message explains why.

Headers
traceIdstring

Correlation ID of the request. Quote it when you contact Zuora Global Support.

Bodyapplication/json
successbooleanrequired

true when the action completed. false when the revenue engine rejected it under a business rule; see message.

processIdstringrequired

Unique ID generated for this request. Quote it when you contact Zuora Global Support.

messagestring

Result message from the revenue engine. May be empty on success.

changeIdsstring

Comma-separated IDs of records changed by the action, when the action reports them. Omitted otherwise.

Response
{ "success": true, "processId": "3f1c2a7e-9b4d-4c1e-8a55-2d6f0e9b1c11", "message": "Revenue deferred successfully" }