# Actions Actions are operations that are batch in nature. For example, the "create", "update", "delete", and other operations allow changes to up-to 50 objects at a time. The "query" operation will return up-to 2000 result records back at a time, before requiring additional pages of data to be returned via a subsequent "queryMore" operation. The default WSDL version for Actions is 79. If you want to change the WSDL version, set the `X-Zuora-WSDL-Version` header. To find out in which WSDL version a particular object or field was introduced, see [Zuora SOAP API Version History](https://knowledgecenter.zuora.com/DC_Developers/G_SOAP_API/Zuora_SOAP_API_Version_History). **Note**: Actions do not support the Invoice Settlement feature. This feature includes Unapplied Payments, Credit and Debit Memo, and Invoice Item Settlement. Actions also do not support the Orders feature. ## Amend - [POST /v1/action/amend](https://developer.zuora.com/v1-api-reference/older-api/actions/action_postamend.md): Modifies a subscription by creating Amendment objects. However, to modify a subscription, Zuora recommends that you use the Create an order operation instead of this action. The Amend action cannot modify the custom fields on the Subscription object. You can use the Create an order operation to modify the custom fields on the Subscription object. You can use this action to create up to 10 Amendment objects. You must specify the following fields for each Amendment object: * ContractEffectiveDate * Name * SubscriptionId * Type Additionally, the value of SubscriptionId must be the same for each Amendment object. You cannot use this operation to update multiple subscriptions. When you call this operation, Zuora modifies the subscription in the order that you specify Amendment objects in the request body. If Zuora is unable to create an Amendment object when you call this operation, the entire call fails. Amendment Preview To view taxation item data for invoices and credit memos in the amendment preview response, you need to set the X-Zuora-WSDL-Version request header to 120 or later. ## Execute - [POST /v1/action/execute](https://developer.zuora.com/v1-api-reference/older-api/actions/action_postexecute.md): Use the execute call to execute a process to split an invoice into multiple invoices. The original invoice must be in draft status. The resulting invoices are called split invoices. To access this feature, see Enable Splitting Invoices for steps. To split a draft invoice into multiple split invoices: 1. Use the create call to create a single InvoiceSplit object to collect all of the InvoiceSplitItem objects. 2. Use the create call to create a separate InvoiceSplitItem object for each split invoice that you want to create from the original draft invoice. 3. Use the execute call to split the draft invoice into multiple split invoices. You need to create InvoiceSplitItem objects and an InvoiceSplit object before you can use the execute call. * Supported objects: InvoiceSplit * Asynchronous process: yes ## Generate - [POST /v1/action/generate](https://developer.zuora.com/v1-api-reference/older-api/actions/action_postgenerate.md): Generates an on-demand invoice for a specific customer. This is similar to creating an ad-hoc bill run for a specific customer account in the Zuora UI. * Supported objects: Invoice * Asynchronous process: yes The ID of the generated invoice is returned in the response. If multiple invoices are generated, only the id of the first invoice generated is returned. This occurs when an account has multiple subscriptions with the invoice subscription separately option enabled. ## Subscribe - [POST /v1/action/subscribe](https://developer.zuora.com/v1-api-reference/older-api/actions/action_postsubscribe.md): This call performs many actions. Use the subscribe call to bundle information required to create at least one new subscription. The call takes in an array of SubscribeRequests. Because it takes an array, you can submit a batch of subscription requests at once. You can create up to 50 different subscriptions in a single subscribe call. This is a combined call that you can use to perform all of the following tasks in a single call: * Create accounts * Create contacts * Create payment methods, including external payment options * Create an invoice for the subscription * Apply the first payment to a subscription ### Object Limits * 50 objects are supported in a single call. * The subscribe call for subscription preview will not consolidate invoices. Subscriptions are previewed separately. There is not any workaround without Orders enabled. For more information, see Preview an Order. ### Effective Date If the effective date is in the future, the invoices will not be generated, and there will be no invoice number. ### Subscription Name, Number, and ID #### Subscription Name and Number The subscription name is a unique identifier for the subscription. If you do not specify a value for the name, Zuora will create one automatically. The automatically generated value is known as the subscription number, such as A-S00000080. You cannot change the subscription name or number after creating the subscription. - Subscription name: The name that you set for the subscription. - Subscription number: The value generated by Zuora automatically if you do not specify a subscription name. Both the subscription name and numbermust be unique. If they are not, an error will occur. #### Subscription ID The subscription ID is a 32-digit ID in the format 4028xxxx. This is also the unique identifier for a subscription. This value is automatically generated by the system and cannot be edited or updated, but it can be queried. One subscription can have only one subscription name or number, but it can have multiple IDs: Each version of a subscription has a different ID. The Subscription object contains the fields OriginalId and PreviousSubscriptionId. OriginalId is the ID for the first version of a subscription. PreviousSubscriptionId is the ID of the version created immediately prior to the current version. ### Subscription Preview You can preview invoices that would be generated by the subscribe call. When previewing invoices with the subscribe call, the correspondinig Contract Effective, Service Activation, or Customer Acceptance date is required if the subscription contains a charge with its trigger event being set as ContractEffectiveDate, ServiceActivationDate, or CustomerAcceptanceDate. To view taxation item data for invoices and credit memos in the subscription preview response, you need to set the X-Zuora-WSDL-Version request header to 120 or later. ### Invoice Subscriptions Separately If you have enabled the invoice subscriptions separately feature, a subscribe call will generate an invoice for each subscription for every subscription where the field IsInvoiceSeparate is set to true. If the invoice subscriptions separately feature is disabled, a subscribe call will generate a single invoice for all subscriptions. See Invoicing Subscriptions Separately for more information. ### Subscriptions and Draft Invoices If a draft invoice that includes charges exists in a customer account, using the subscribe call to create a new subscription and generate an invoice will cause the new subscription to be added to the existing draft invoice. Zuora will then post the invoice. ### When to Use Subscribe and Create Calls You can use either the subscribe call or the create call to create the objects associated with a subscription (accounts, contacts, and so on). There are differences between these calls, however, and some situations are better for one or the other. #### Use the Subscribe Call The subscribe call bundles up all the information you need for a subscription. Use the subscribe call to create new subscriptions when you have all the information you need. Subscribe calls cannot update BillTo, SoldTo, and Account objects. Payment information objects cannot be updated if there is an existing account ID in the call. These objects are not supported in a subscribe call. #### Use the Create Call The create call is more useful when you want to develop in stages. For example, if you want to first create an account, then a contact, and so on. If you do not have all information available, use the create call. To create a subscription, you must activate the account from Draft status to Active by calling the subscribe call.