CRUD: Update an amendment

Note: The Subscribe and Amend features are approaching end of support on February 16, 2026. For more information, please refer to the Product and Feature End of Support page.

Request
path Parameters
id
required
string

Object id

query Parameters
rejectUnknownFields
boolean
Default: false

Specifies whether the call fails if the request body contains unknown fields. With rejectUnknownFields set to true, Zuora returns a 400 response if the request body contains unknown fields. The body of the 400 response is:

{
    "message": "Error - unrecognised fields"
}

By default, Zuora ignores unknown fields in the request body.

header Parameters
Accept-Encoding
string

Include the Accept-Encoding: gzip header to compress responses as a gzipped file. It can significantly reduce the bandwidth required for a response.

If specified, Zuora automatically compresses responses that contain over 1000 bytes of data, and the response contains a Content-Encoding header with the compression algorithm so that your client can decompress it.

Content-Encoding
string

Include the Content-Encoding: gzip header to compress a request. With this header specified, you should upload a gzipped file for the request payload instead of sending the JSON payload.

Authorization
string

The value is in the Bearer {token} format where {token} is a valid OAuth token generated by calling Create an OAuth token.

Zuora-Entity-Ids
string

An entity ID. If you have Zuora Multi-entity enabled and the OAuth token is valid for more than one entity, you must use this header to specify which entity to perform the operation in. If the OAuth token is only valid for a single entity, or you do not have Zuora Multi-entity enabled, you do not need to set this header.

Zuora-Track-Id
string <= 64 characters

A custom identifier for tracing the API call. If you set a value for this header, Zuora returns the same value in the response headers. This header enables you to associate your system process identifiers with Zuora API calls, to assist with troubleshooting in the event of an issue.

The value of this field must use the US-ASCII character set and must not include any of the following characters: colon (:), semicolon (;), double quote ("), and quote (').

Request Body schema: application/json
required
AutoRenew
boolean

Determines whether the subscription is automatically renewed, or whether it expires at the end of the term and needs to be manually renewed. This field can be updated when Status is Draft. Required: For amendment of type TermsAndConditions when changing the automatic renewal status of a subscription. Values: true, false

ContractEffectiveDate
string <date>

The date when the amendment's changes become effective for billing purposes. Version notes: --

CurrentTerm
integer <int64>

The length of the period for the current subscription term. This field can be updated when Status is Draft. Required: Only if the value of the Type field is set to TermsAndConditions and TermType is set to TERMED. This field is not required if TermType is set to EVERGREEN. Character limit: Values: a valid number

CurrentTermPeriodType
string

The period type for the current subscription term. This field can be updated when Status is Draft. Values:

  • Month (default)

  • Year

  • Day

  • Week Note:

  • This field can be updated when Status is Draft.

  • This field is used with the CurrentTerm field to specify the current subscription term.

CustomerAcceptanceDate
string <date>

The date when the customer accepts the amendment's changes to the subscription.

This field is only required if Zuora is configured to require customer acceptance in Z-Billing and the subscription is currently in the Pending Acceptance status (the value of the Status field is currently PendingAcceptance).

Use this field together with the Status field. When you set a date in this field as a customer acceptance date, you should also set the Status field as Completed.

Description
string

A description of the amendment. This field can be updated when Status is Draft. Character limit: 500 Values: maximum 500 characters

EffectiveDate
string <date>

The date when the amendment's changes take effective. This field validates that the amendment's changes are within valid ranges of products and product rate plans. Required: For the cancellation amendments. Optional for other types of amendments. Version notes: --

Name
string

The name of the amendment. This field can be updated when Status is Draft. Character limit: 100 Values: a string of 100 characters or fewer

RenewalSetting
string

Specifies whether a termed subscription will remain termed or change to evergreen when it is renewed. Required: If TermType is Termed Values: RENEW_WITH_SPECIFIC_TERM (default), RENEW_TO_EVERGREEN

RenewalTerm
integer <int64>

The term of renewal for the amended subscription. This field can be updated when Status is Draft. Required: Only if the value of the Type field is set to TermsAndConditions. Character limit: Values: a valid number

RenewalTermPeriodType
string

The period type for the subscription renewal term. This field can be updated when Status is Draft. Required: Only if the value of the Type field is set to TermsAndConditions. This field is used with the RenewalTerm field to specify the subscription renewal term. Values:

  • Month (default)
  • Year
  • Day
  • Week
ServiceActivationDate
string <date>

The date when service is activated.

This field is only required if Zuora is configured to require service activation in Z-Billing and the subscription is currently in the Pending Activation status (the value of the Status field is currently PendingActivation).

Use this field together with the Status field. When you set a date in this field as a service activation date, you should also set the Status field as the expected next phase status: Completed or PendingAcceptance.

SpecificUpdateDate
string <date>

The date when the UpdateProduct amendment takes effect. This field is only applicable if there is already a future-dated UpdateProduct amendment on the subscription. Required: Only for the UpdateProduct amendments if there is already a future-dated UpdateProduct amendment on the subscription.

Status
string

The status of the amendment. Type: string (enum) Character limit: 17 Values: one of the following:

  • Draft (default, if left null)
  • Pending Activation
  • Pending Acceptance
  • Completed
SubscriptionId
string

The ID of the subscription that the amendment changes. This field can be updated when Status is Draft. Character limit: 32 Values: a valid subscription ID

TermStartDate
string <date>

The date when the new terms and conditions take effect. Required: Only if the value of the Type field is set to TermsAndConditions. Version notes: --

TermType
string

Indicates if the subscription is TERMED or EVERGREEN. This field can be updated when Status is Draft.

  • A TERMED subscription has an expiration date, and must be manually renewed.
  • An EVERGREEN subscription doesn't have an expiration date, and must be manually ended.

Required: Only when as part of an amendment of type TermsAndConditions to change the term type of a subscription. Type: string Character limit: 9 Values: TERMED, EVERGREEN

Type
string

The type of amendment. This field can be updated when Status is Draft. Character limit: 18 Values: one of the following:

  • Cancellation
  • NewProduct
  • OwnerTransfer
  • RemoveProduct
  • Renewal
  • UpdateProduct
  • TermsAndConditions
  • SuspendSubscription
  • ResumeSubscription
property name*
additional property
any

Custom fields of the Amendment object. The name of each custom field has the form customField__c. Custom field names are case sensitive. See Manage Custom Fields for more information.

Responses
200
401
put/v1/object/amendment/{id}
Request samples
application/json
{
  • "Id": "2c93808457d787030157e02e430c1f15",
  • "Name": "AMtssl1bnuq1_new"
}
Response samples
application/json
{
  • "Success": true,
  • "Id": "2c93808457d787030157e02e430c1f15"
}