Summary of the initial ads sync backfill results.
| Name | Type | Description | Notes |
|---|---|---|---|
| status | StatusEnum | Overall outcome of the initial sync. | |
| totalAds | Integer | Total number of ads discovered for backfill. | |
| synced | Integer | Number of ads successfully synced. | |
| failed | Integer | Number of ads that failed to sync. | |
| error | String | Free-form error message from the platform (typically Meta's Marketing API). Truncated to ~2KB. Present when `status` is `failure` (and sometimes on `success` when discovery saw zero ad accounts). For UX branching prefer `errorCategory`; this field is for human display and debugging. | [optional] |
| errorCode | String | Platform-native error code if parsed (e.g. Meta `190`, `10`, `200`). | [optional] |
| errorSubcode | String | Platform-native error subcode if parsed. | [optional] |
| errorCategory | ErrorCategoryEnum | Stable category for UX branching. New values may be added; existing ones are stable. Mapping: - `token_invalid`: access token is expired or revoked. Reconnect. - `permission_denied`: token lacks required scope, or the user has no role on the Business Manager that owns the ad account. Reconnect with full permissions, or have an admin grant access. - `no_ad_accounts`: token is valid but sees zero ad accounts. The user needs to connect a Business Manager that owns ad accounts. - `rate_limited`: platform throttled us. Sync will retry automatically. - `discovery_failed`: any other platform-side failure. Inspect `error`. - `unknown`: classifier could not categorize the failure. | [optional] |
| Name | Value |
|---|---|
| SUCCESS | "success" |
| FAILURE | "failure" |
| Name | Value |
|---|---|
| TOKEN_INVALID | "token_invalid" |
| PERMISSION_DENIED | "permission_denied" |
| NO_AD_ACCOUNTS | "no_ad_accounts" |
| RATE_LIMITED | "rate_limited" |
| DISCOVERY_FAILED | "discovery_failed" |
| UNKNOWN | "unknown" |