iOS MA SDK Error Codes
Client Error Code Definitions
This guide applies to the standalone MTMA SDK v5.5.0 and later.
| Code | Description | Details |
|---|---|---|
| 0 | Request succeeded | The API request succeeded |
| -1 | Request failed | Network error, invalid response format, MA disabled in initialization configuration, or another unknown error |
| -2 | Request failed | start: was not called, MTMA has not initialized successfully, or the MA AppKey, project, or identity changed before a queued request began executing |
| -3 | Invalid setting | Parameter validation failed, for example an MA AppKey that does not contain exactly 24 letters or digits, or no usable identifiers remaining after identifyAccount: cleanup |
| -4 | Project disabled | A runtime API detects that MA is disabled, or the server returns a project-disabled error. For MA disabled in initialization configuration, see -1 |
| -5 | Legacy code | Previously indicated unsuccessful AppPush registration; no longer used by standalone MTMA |
| -6 | Project switched | The project has changed; call start: again to initialize |
| -7 | Request in progress | An API that does not support queuing already has a request running. Valid start: calls do not return this code because another initialization is in progress; third-party Push channel requests are queued in order |
Server Business Codes
The table above lists errors generated by the SDK itself. When server-side business processing fails, the SDK returns the corresponding business code and message, so callbacks may contain positive codes. Specific business codes are for troubleshooting only and are not guaranteed to remain stable across versions. Do not base application logic branches on them.
Use MTMAInitResult.isSuccess to determine initialization success; for other APIs, code=0 indicates a successful request. For unexpected failures, provide the original code and message to technical support.
- For
identifyAccount:,code=0does not mean every identifier was set successfully. See Set User Identifiers. - If an object_array property is not defined on the server, element-level operations may return
code=0without making changes. For other cases where data remains unchanged, see Set User Properties. Confirm the actual result in the MA console or server-side user properties.
| Scenario | Callback code | Callback message |
|---|---|---|
Server returns a business failure (HTTP 4xx/5xx, response body is valid JSON containing a numeric code) |
Original server code |
Original server msg/message |
| Network error, or no business code can be parsed from the response body | -1 |
Fixed SDK message |
Project disabled / project switched (HTTP 400 + 40001/40002) |
-4 / -6 |
See the table above |
Appendix: Common Server Business Codes
The following values are for troubleshooting reference only and are not guaranteed to remain stable across SDK or server versions:
| Code | Meaning |
|---|---|
| 55004 | Invalid business parameter, such as an app Bundle Identifier that is unbound or does not match the MA data source configuration, a channel AppKey not mapped in the current project, or a channelId that does not exist in the current project. Check message for the specific cause |
| 55108 | Invalid EUID, for example when EUID and MA RID do not belong to the same MA user |
| 55110 | Requests are too frequent, for example when the same AppPush RID is being bound concurrently. Retry later |
| 55000 | Server system error |
Per-Identifier Results
The following results include SDK local validation and server responses. For field processing rules, see MTMAUserID Class:
| Code | Meaning |
|---|---|
| 0 | This user identifier was processed successfully |
| 3001 | User identifier value must not be empty (server reference code; this SDK version treats empty values in its four public identifier fields as omitted and does not produce per-field 3001 results) |
| 3002 | User identifier is not defined in the current project |
| 3003 | User identifier value exceeds the length limit |
| 3013 | User identifier value has an invalid type or format, including non-NSString types |










