# 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. ## Create - [POST /v1/action/create](https://developer.zuora.com/v1-api-reference/api/actions/action_postcreate.md): Use the create call to create one or more objects of a specific type. You can specify different types in different create calls, but each create call must apply to only one type of object. ### Limitations This call has the following limitations: * A maximum of 50 objects are supported in a single call. * The Orders feature is not supported. * The Invoice Settlement feature is not supported. This feature includes Unapplied Payments, Credit and Debit Memo, and Invoice Item Settlement. * The default WSDL version for Actions is 79. To create objects according to a different 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. ### How to use this call You can create on an array of one or more zObjects. The fields you should specify can be found in the corresponding "CRUD: Create an zObject" operation. For example, to create one or multiple accounts, use the request fields in the CRUD: Create an account operation. It returns an array of SaveResults sorted in the same order, indicating the success or failure of creating each object. The following information applies to this call: * You cannot pass in null zObjects. * You can pass in a maximum of 50 zObjects at a time. * All objects must be of the same type. #### Using Create and Subscribe Calls Both the Create and Subscribe calls will create a new account. However, there are differences between the calls. Use the create call to create an account independent of a subscription. Use the subscribe call to create the account with the subscription and the initial payment information. ## Delete - [POST /v1/action/delete](https://developer.zuora.com/v1-api-reference/api/actions/action_postdelete.md): Deletes one or more objects of the same type. You can specify different types in different delete calls, but each delete call must apply only to one type of object. The following information applies to this call: * You will need to first determine the IDs for the objects you wish to delete. * You cannot pass in any null IDs. * All objects in a specific delete call must be of the same type. ### Objects per Call 50 objects are supported in a single call. ## Query - [POST /v1/action/query](https://developer.zuora.com/v1-api-reference/api/actions/action_postquery.md): The query call sends a query expression by specifying the object to query, the fields to retrieve from that object, and any filters to determine whether a given object should be queried. You can use Zuora Object Query Language(ZOQL) to construct those queries, passing them through the queryString. Once the call is made, the API executes the query against the specified object and returns a query response object to your application. Your application can then iterate through rows in the query response to retrieve information. ### Limitations This call has the following limitations: * All ZOQL limitations apply. * All ZOQL keywords must be in lower case. * The number of records returned is limited to 2000 records. * The Invoice Settlement feature is not supported. This feature includes Unapplied Payments, Credit and Debit Memo, and Invoice Item Settlement. * The Orders feature is not supported, which means that the objects listed in Orders Object Model are not supported. * The Active Rating feature is not supported. * The default WSDL version for Actions is 79. To query objects or fields according to a different 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. * Fields with NULL values are not returned in the response. ## QueryMore - [POST /v1/action/queryMore](https://developer.zuora.com/v1-api-reference/api/actions/action_postquerymore.md): Use queryMore to request additional results from a previous query call. If your initial query call returns more than 2000 results, you can use queryMore to query for the additional results. Any queryLocator results greater than 2,000, will only be stored by Zuora for 5 days before it is deleted. This call sends a request for additional results from an initial query call. If the initial query call returns more than 2000 results, you can use the queryLocator returned from query to request the next set of results. Note: Zuora expires queryMore cursors after 15 minutes of activity. To use queryMore, you first construct a query call. By default, the query call will return up to 2000 results. If there are more than 2000 results, query will return a boolean done, which will be marked as false, and a queryLocator, which is a marker you will pass to queryMore to get the next set of results. ## Update - [POST /v1/action/update](https://developer.zuora.com/v1-api-reference/api/actions/action_postupdate.md): Updates the information in one or more objects of the same type. You can specify different types of objects in different update calls, but each specific update call must apply to only one type of object. ### Limitations This call has the following limitations: * A maximum of 50 objects are supported in a single call. * The Invoice Settlement feature is not supported. This feature includes Unapplied Payments, Credit and Debit Memo, and Invoice Item Settlement. * The default WSDL version for Actions is 79. To update objects or fields according to a different 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. ### How to use this call? You can update an array of one or more zObjects. The fields you should specify can be found in the corresponding "CRUD: Update an zObject" operation. For example, to update one or multiple accounts, use the request fields in the CRUD: Update an account operation. It returns an array of SaveResults sorted in the same order, indicating the success or failure of updating each object. The following information applies to this call: * You cannot pass in null zObjects. * You can pass in a maximum of 50 zObjects at a time. * All objects must be of the same type. * For each field in each object, you must determine that object's ID. Then populate the fields that you want update with the new information. * Zuora ignores unrecognized fields in update calls. For example, if an optional field is spelled incorrectly or a field that does not exist is specified, Zuora ignores the field and continues to process the call. No error message is returned for unrecognized fields.