# SOAP API objects, methods and Retrieve requests

*Marketing Cloud Engagement Developer Study Guide · API · Last updated November 3, 2026 · https://www.certifyforce.com/study-guide/marketing-cloud-engagement-developer/api/soap-api-objects-methods-and-retrieve-requests*

Which SOAP method fits a task (Create, Update, Delete, Retrieve, Describe, Perform or Schedule), which objects each method supports, and how RetrieveRequest properties, data extension retrieves and the a:Action header shape what a call returns.

- Certification: Salesforce Marketing Cloud Engagement Developer
- Exam section: API
- Study guide: https://www.certifyforce.com/study-guide/marketing-cloud-engagement-developer

**Official exam objective:**

> Given a scenario, describe API objects, methods, and routes.

## What the exam expects

- Choose the SOAP method that matches a task: add, change, remove, read, describe, run now or run later.
- Confirm that an object supports a method and, for Perform, the exact action name.
- Predict what a Retrieve returns from its ObjectType, Properties and Filter, including data extension rows.
- Scope a RetrieveRequest to one child business unit, to every account, or to changes since the last run.
- Write Create and Update envelopes correctly, including clearing a field to null and naming the method in the header.
- Key terms: **APIObject** (the base type every SOAP object such as Subscriber or DataExtensionObject derives from); **RetrieveRequest** (the object that describes what a Retrieve returns); **Perform action** (the verb, such as `start`, that Perform applies to an object); **OverallStatus** (the request-level result string); **ClientIDs** (the account MIDs a retrieve targets).

## Key facts

| Fact | Detail | Source |
|---|---|---|
| Retrieve scope | One object type; only requested properties that have values | [Retrieve](https://developer.salesforce.com/docs/marketing/marketing-cloud/guide/retrieve.html) |
| Allowed retrieve properties | Found with the Describe method | [RetrieveRequest](https://developer.salesforce.com/docs/marketing/marketing-cloud/guide/retrieverequest.html) |
| Data extension retrieve size | Up to 2,500 records per request | [Retrieve from a Data Extension](https://developer.salesforce.com/docs/marketing/marketing-cloud/guide/retrieving_data_from_a_data_extension.html) |
| Data extension filters | No `LIKE` operators | [Retrieve from a Data Extension](https://developer.salesforce.com/docs/marketing/marketing-cloud/guide/retrieving_data_from_a_data_extension.html) |
| Update on a missing object | Causes an error; use Create | [Update](https://developer.salesforce.com/docs/marketing/marketing-cloud/guide/update.html) |
| Field omitted from an update | Keeps its current value; clear it with NullAPIProperty | [Null Field Value](https://developer.salesforce.com/docs/marketing/marketing-cloud/guide/updating_a_data_extension_object_with_a_null_field_value.html) |
| Batch order | First in, first out; one result per input object | [Create](https://developer.salesforce.com/docs/marketing/marketing-cloud/guide/create.html), [Delete](https://developer.salesforce.com/docs/marketing/marketing-cloud/guide/delete.html) |
| Send pause, resume, cancel | Only with the ID property; otherwise Action is ignored | [Perform](https://developer.salesforce.com/docs/marketing/marketing-cloud/guide/perform.html) |
| QueryAllAccounts | Parent plus all children; ignores ClientIDs | [RetrieveRequest](https://developer.salesforce.com/docs/marketing/marketing-cloud/guide/retrieverequest.html) |
| Tracking events | OpenEvent, ClickEvent, SentEvent: Retrieve only | [Supported Operations](https://developer.salesforce.com/docs/marketing/marketing-cloud/guide/supported_operations_for_objects_and_methods.html) |
| Method selection | `a:Action` header (or HTTP SOAPAction header) | [SOAP Faults](https://developer.salesforce.com/docs/atlas.en-us.noversion.mc-apis.meta/mc-apis/soap_faults.htm) |

## Check yourself

- When does a SOAP Update leave a data extension field unchanged?
- Why is a `Date` column a poor primary key for a data extension read through SOAP?
- Which Perform actions can an EmailSendDefinition use today?
- Why does every Create call include an Options element even when no option is needed?

## Sources

- [SOAP Web Service API Methods](https://developer.salesforce.com/docs/marketing/marketing-cloud/guide/soap_web_service_methods.html)
- [Supported Operations for Objects and Methods](https://developer.salesforce.com/docs/marketing/marketing-cloud/guide/supported_operations_for_objects_and_methods.html)
- [Retrieve](https://developer.salesforce.com/docs/marketing/marketing-cloud/guide/retrieve.html)
- [RetrieveRequest](https://developer.salesforce.com/docs/marketing/marketing-cloud/guide/retrieverequest.html)
- [Perform](https://developer.salesforce.com/docs/marketing/marketing-cloud/guide/perform.html)
- [Create](https://developer.salesforce.com/docs/marketing/marketing-cloud/guide/create.html)
- [Update](https://developer.salesforce.com/docs/marketing/marketing-cloud/guide/update.html)
- [Delete](https://developer.salesforce.com/docs/marketing/marketing-cloud/guide/delete.html)
- [Describe](https://developer.salesforce.com/docs/marketing/marketing-cloud/guide/describe.html)
- [Schedule](https://developer.salesforce.com/docs/marketing/marketing-cloud/guide/schedule.html)
- [Retrieve Data from a Data Extension](https://developer.salesforce.com/docs/marketing/marketing-cloud/guide/retrieving_data_from_a_data_extension.html)
- [Create a Row in a Data Extension](https://developer.salesforce.com/docs/marketing/marketing-cloud/guide/creating_a_row_in_a_data_extension_using_the_web_service_api.html)
- [Update a Data Extension with a Null Field Value](https://developer.salesforce.com/docs/marketing/marketing-cloud/guide/updating_a_data_extension_object_with_a_null_field_value.html)
- [SOAP Faults](https://developer.salesforce.com/docs/atlas.en-us.noversion.mc-apis.meta/mc-apis/soap_faults.htm)

## About the full unit

The "Core concepts", "Exam traps" and "Worked scenario" sections of this unit, its 16 linked practice questions, and unlimited timed mock exams are included with the Marketing Cloud Engagement Developer pack (USD $19): https://www.certifyforce.com/practice-exams
