Error codes
Complete list of client-facing application errors (server-only and reserved domains are omitted). Numeric codes follow domain × 10,000 + category × 100 + ordinal (see defineErrors in the Cognis domain package). Use the per-domain pages below in the sidebar for the same table filtered to one domain.
| Domain | Code | Key | HTTP | Category | Message key | Message |
|---|---|---|---|---|---|---|
| User | 10001 | USER_NOT_FOUND | 404 | Not Found | user.errors.notFound | User not found! |
| User | 10102 | INVALID_DATA | 422 | Validation | user.errors.invalidData | Your submission is invalid! |
| User | 10104 | EMAIL_NOT_ALLOWED | 422 | Validation | user.errors.emailNotAllowed | Email not allowed |
| User | 10106 | TOKEN_EXPIRED | 422 | Validation | user.signin.resetPassword.tokenExpired | Your link has expired, please request a new one |
| User | 10107 | INVALID_CODE | 422 | Validation | user.signin.2fa.invalidCode | Invalid code |
| User | 10111 | INVALID_PATH_PARAM | 400 | Validation | user.errors.invalidPathParam | Invalid path parameter |
| User | 10116 | INVALID_TOTP | 422 | Validation | user.signin.2fa.invalidCode | Invalid code |
| User | 10117 | INVALID_BACKUP_CODE | 422 | Validation | user.signin.2fa.invalidCode | Invalid code |
| User | 10118 | LAST_SIGN_IN_METHOD | 422 | Validation | user.errors.invalidData | Your submission is invalid! |
| User | 10119 | PASSKEY_LIMIT_REACHED | 422 | Validation | user.errors.invalidData | Your submission is invalid! |
| User | 10120 | PASSKEY_ALREADY_REGISTERED | 422 | Validation | user.security.hub.passkeys.alreadyRegistered | This passkey is already registered. Remove the existing entry from your list if you want to replace it, or use another device or security key. |
| User | 10121 | PASSWORD_LOGIN_NO_SECOND_FACTOR | 422 | Validation | user.signin.passwordLogin.noSecondFactor | Your account has no way to verify sign-in after your password. Sign in with Google or GitHub if you use those, or contact support. To fix password sign-in, turn email verification back on in Security or enroll a passkey or authenticator app. |
| User | 10203 | EMAIL_ALREADY_USED | 409 | Conflict | user.errors.emailAlreadyUsed | Email already in use |
| User | 10305 | INVALID_TOKEN | 401 | Unauthorized | user.signin.resetPassword.invalidToken | Your link is invalid, please request a new one |
| User | 10308 | INVALID_PASSWORD | 401 | Unauthorized | user.signin.invalidPassword | Invalid password |
| User | 10309 | UNAUTHORIZED | 401 | Unauthorized | general.errors.unauthorized | Unauthorized |
| User | 10310 | FRESH_SESSION_REQUIRED | 401 | Unauthorized | general.errors.unauthorized | Unauthorized |
| User | 10313 | RESEND_2FA_INVALID_SESSION | 401 | Unauthorized | user.signin.2fa.resend.invalidSession | Your login session has expired. Please sign in again to continue. |
| User | 10314 | STEP_UP_REQUIRED | 401 | Unauthorized | general.errors.unauthorized | Unauthorized |
| User | 10315 | INVALID_PASSKEY | 401 | Unauthorized | user.signin.invalidPassword | Invalid password |
| User | 10412 | NOT_ALLOWED_TO_PERFORM_ACTION | 403 | Forbidden | user.errors.notAllowedToPerformAction | You are not allowed to perform this action |
| Auth | 20002 | TENANT_RESOLVE_FAILED | 404 | Not Found | user.errors.tenantResolvedFailed | You do not have access to this entity |
| Auth | 20101 | MISSING_TENANT_PARAM | 422 | Validation | user.errors.invalidTenantParam | Invalid tenant parameter |
| Auth | 20303 | MEMBER_UNAUTHORIZED | 401 | Unauthorized | general.errors.unauthorized | Unauthorized |
| Storage | 40101 | FIELD_NAME_REQUIRED | 422 | Validation | attachment.errors.fieldNameRequired | Field name for file upload is required. |
| Storage | 40102 | FIELDS_REQUIRED | 422 | Validation | attachment.errors.fieldsRequired | Fields for file upload are required. |
| Storage | 40103 | UPLOAD_TYPE_REQUIRED | 422 | Validation | attachment.errors.uploadTypeRequired | Upload type for file upload is required. |
| Storage | 40104 | FILE_REQUIRED | 422 | Validation | attachment.errors.fileRequired | File for file upload is required. |
| Storage | 40105 | FILES_REQUIRED | 422 | Validation | attachment.errors.filesRequired | Files for file upload are required. |
| Storage | 40106 | FILE_TOO_LARGE | 422 | Validation | attachment.errors.fileTooLarge | File is too large. |
| Storage | 40108 | INVALID_FILE_TYPE | 422 | Validation | attachment.errors.invalidFileType | Invalid file type. |
| Storage | 40109 | FILE_VALIDATION_FAILED | 422 | Validation | attachment.errors.fileValidationFailed | File validation failed. |
| Storage | 49907 | FILE_UPLOAD_ERROR | 500 | Internal | attachment.errors.fileUploadError | Failed to upload file. |
| Org | 50002 | ORG_NOT_FOUND | 404 | Not Found | org.errors.notFound | Organization not found |
| Org | 50008 | USER_NOT_MEMBER | 404 | Not Found | org.errors.userNotMember | User is not a member of the organization |
| Org | 50014 | INTEGRATION_NOT_FOUND | 404 | Not Found | org.errors.integrationNotFound | Integration not found |
| Org | 50017 | DOMAIN_NOT_FOUND | 404 | Not Found | general.nothingFound | Nothing found |
| Org | 50019 | SCHEMA_NOT_FOUND | 404 | Not Found | general.nothingFound | Nothing found |
| Org | 50024 | CUSTOM_FIELD_NOT_FOUND | 404 | Not Found | org.errors.customFieldNotFound | Custom field not found |
| Org | 50033 | PROBLEM_NOT_FOUND | 404 | Not Found | org.errors.problem.notFound | Problem not found |
| Org | 50034 | AVATAR_NOT_FOUND | 404 | Not Found | org.errors.avatar.notFound | Avatar not found |
| Org | 50036 | RESEARCH_INSIGHT_NOT_FOUND | 404 | Not Found | org.errors.researchInsight.notFound | Research insight not found |
| Org | 50037 | FRAMEWORK_NOT_FOUND | 404 | Not Found | framework.errors.frameworkNotFound | Could not find framework from provided id |
| Org | 50038 | MEMBER_NOT_FOUND | 404 | Not Found | org.errors.member.notFound | Member not found |
| Org | 50039 | USER_NOT_FOUND | 404 | Not Found | user.errors.notFound | User not found! |
| Org | 50042 | BILLING_PLAN_NOT_FOUND | 404 | Not Found | org.errors.billing.planNotFound | Billing plan not found |
| Org | 50044 | TEMPLATE_NOT_FOUND | 404 | Not Found | general.nothingFound | Nothing found |
| Org | 50052 | LAUNCH_NOT_FOUND | 404 | Not Found | general.nothingFound | Nothing found |
| Org | 50056 | META_RUN_NOT_FOUND | 404 | Not Found | general.nothingFound | Nothing found |
| Org | 50057 | DASHBOARD_NOT_FOUND | 404 | Not Found | general.nothingFound | Nothing found |
| Org | 50058 | PANEL_NOT_FOUND | 404 | Not Found | general.nothingFound | Nothing found |
| Org | 50059 | INBOX_ITEM_NOT_FOUND | 404 | Not Found | general.nothingFound | Nothing found |
| Org | 50061 | PERMISSION_PRESET_NOT_FOUND | 404 | Not Found | general.nothingFound | Nothing found |
| Org | 50063 | CONTRIBUTOR_WORK_UNIT_NOT_FOUND | 404 | Not Found | org.errors.contributorWorkUnit.notFound | Contributor work item not found |
| Org | 50074 | LAP_HOSTED_SITE_NOT_FOUND | 404 | Not Found | general.nothingFound | Nothing found |
| Org | 50075 | MAILBOX_THREAD_NOT_FOUND | 404 | Not Found | general.nothingFound | Nothing found |
| Org | 50076 | MAILBOX_ATTACHMENT_NOT_FOUND | 404 | Not Found | general.nothingFound | Nothing found |
| Org | 50083 | ENTITY_TABLE_VIEW_NOT_FOUND | 404 | Not Found | table.savedViews.notFound | Saved view no longer exists |
| Org | 50103 | INVALID_ROLE | 422 | Validation | org.errors.invalidRole | Invalid role |
| Org | 50104 | SETUP_NOT_COMPLETED | 422 | Validation | org.errors.setupNotCompleted | Setup not completed |
| Org | 50105 | INVITE_EXPIRED | 422 | Validation | org.errors.inviteExpired | This invitation has expired. Ask an organization admin to resend it. |
| Org | 50109 | INVALID_STORENAME | 400 | Validation | org.errors.integrations.shopify.invalidStorename | Invalid storename. Use lowercase letters, numbers, and hyphens. No spaces allowed. |
| Org | 50128 | INTEGRATION_STATUS_TOGGLE_NOT_ALLOWED | 400 | Validation | org.errors.integrations.statusToggleNotAllowed | This integration type does not support manual activate/deactivate. |
| Org | 50129 | INTEGRATION_REQUIRES_RECONNECT | 400 | Validation | org.errors.integrations.requiresReconnect | Cannot activate the integration: the stored credentials were rejected. Reconnect the integration first. |
| Org | 50130 | CLICKUP_INTEGRATION_ACCESS_DENIED | 400 | Validation | org.errors.integrations.clickupAccessNeedsCheck | ClickUp rejected the stored credentials for this workspace. Reconnect ClickUp under Org settings → Integrations and verify workspace access. |
| Org | 50135 | AVATAR_MERGE_INVALID | 400 | Validation | org.errors.avatar.mergeInvalid | Choose two different avatars from this organization to merge. |
| Org | 50140 | INVALID_ROLE_RANK | 422 | Validation | org.errors.invalidRole | Invalid role |
| Org | 50143 | BILLING_INVALID_PORTAL_SESSION | 422 | Validation | org.errors.billing.invalidPortalSession | Invalid billing portal session |
| Org | 50145 | LAUNCH_TEMPLATE_TYPE_INVALID | 400 | Validation | general.errors.invalidData | Your submission is invalid! |
| Org | 50146 | LAUNCH_TEMPLATE_SPEC_INVALID | 400 | Validation | general.metaLaunchEditor.spec_invalid | Template configuration is invalid. Fix the highlighted preflight errors and try again. |
| Org | 50147 | CREATIVE_TASK_NAME_TEMPLATE_INVALID | 400 | Validation | settings.org.creativeTaskNaming.invalidTemplate | Template contains unknown or unsupported variables. Use the variable picker for valid tokens. |
| Org | 50148 | CREATIVE_TASK_NAME_TEMPLATE_RESOLVED_TOO_LONG | 400 | Validation | settings.org.creativeTaskNaming.resolvedNameTooLong | This template resolves to a name longer than 255 characters. Shorten the pattern or use fewer variables. |
| Org | 50149 | TEMPLATE_TEST_REQUIRED | 422 | Validation | general.metaLaunchEditor.test_required_server | Run a new test launch before activating — the template was modified since the last successful test. |
| Org | 50154 | BULK_META_LAUNCH_CREATIVE_IDS_INVALID | 422 | Validation | org.errors.bulkMetaLaunch.creativeIdsNotInBrand | One or more creatives are missing or do not belong to this brand. |
| Org | 50155 | LAUNCH_CANNOT_BE_CANCELLED | 422 | Validation | org.errors.launch.cannotBeCancelled | Launch cannot be cancelled. It has already completed or failed. |
| Org | 50165 | CONTRIBUTOR_WORK_UNIT_INVALID_STATUS | 422 | Validation | org.errors.contributorWorkUnit.invalidStatus | This work item is not in the right state for that action |
| Org | 50166 | CONTRIBUTOR_MANUAL_JOB_CURRENCY_MISMATCH | 422 | Validation | org.errors.contributorWorkUnit.currencyMismatch | Amount currency must match the assignee’s contributor rate currency |
| Org | 50168 | LAP_HOSTED_SITE_DOMAIN_NOT_LAP | 422 | Validation | org.errors.lapHostedSiteDomainNotLap | Pick a domain that was created for LAP (Lead Aggregation Platform). Webshop domains cannot be used as LAP hosted sites. |
| Org | 50169 | LAP_HOSTED_SITE_DOMAIN_NOT_VERIFIED | 422 | Validation | org.errors.lapHostedSiteDomainNotVerified | Verify the LAP domain in Organization → Integrations → Domains before binding it to a hosted site. |
| Org | 50171 | LAP_HOSTED_SITE_SEGMENT_INVALID | 422 | Validation | general.errors.invalidData | Your submission is invalid! |
| Org | 50172 | LAP_HOSTED_SITE_SEGMENT_RESERVED | 422 | Validation | general.errors.invalidData | Your submission is invalid! |
| Org | 50177 | MAILBOX_NO_REPLY_TARGET | 422 | Validation | general.errors.invalidData | Your submission is invalid! |
| Org | 50178 | MAILBOX_NO_OUTBOUND_SOURCE | 422 | Validation | general.errors.invalidData | Your submission is invalid! |
| Org | 50181 | MAILBOX_REPLY_PAYLOAD_TOO_LARGE | 422 | Validation | mailbox.errors.replyPayloadTooLarge | This reply is too large to send. Shorten the message or remove attachments. |
| Org | 50201 | MEMBER_ALREADY_EXISTS | 409 | Conflict | org.errors.memberAlreadyExists | Member already exists |
| Org | 50212 | SHOPIFY_COMMERCE_BACKFILL_IN_PROGRESS | 409 | Conflict | org.errors.integrations.shopify.backfill.inProgress | A backfill is already running for this store. Wait until it finishes or fails before starting another. |
| Org | 50213 | INTEGRATION_ALREADY_EXISTS | 409 | Conflict | org.errors.integrationAlreadyExists | Integration already exists |
| Org | 50215 | DOMAIN_ALREADY_EXISTS_SAME_ORG | 409 | Conflict | org.errors.domainAlreadyExistsSameOrg | Domain already exists for this organization |
| Org | 50216 | DOMAIN_ALREADY_EXISTS_OTHER_ORG | 409 | Conflict | org.errors.domainAlreadyExistsOtherOrg | Domain already exists for another organization |
| Org | 50218 | DOMAIN_VERIFICATION_FAILED | 409 | Conflict | org.errors.domainVerificationFailed | Domain verification failed |
| Org | 50221 | DOC_LIBRARY_SLUG_ALREADY_EXISTS | 409 | Conflict | org.errors.docLibrarySlugAlreadyExists | Documentation library slug already exists |
| Org | 50222 | DOC_SECTION_SLUG_ALREADY_EXISTS | 409 | Conflict | org.errors.docSectionSlugAlreadyExists | Documentation section slug already exists in this library |
| Org | 50223 | CODE_ALREADY_EXISTS | 409 | Conflict | org.errors.codeAlreadyExists | Code already exists |
| Org | 50225 | CUSTOM_FIELD_LIMIT_REACHED | 409 | Conflict | org.errors.customFieldLimitReached | This organization has reached the maximum number of custom fields |
| Org | 50227 | INTEGRATION_BRAND_WORKSPACE_STALE | 409 | Conflict | org.errors.integration.brandWorkspaceStale | This ClickUp brand configuration was updated elsewhere. Refresh the page and try again. |
| Org | 50250 | LP_PAGE_TEMPLATE_NAME_ALREADY_EXISTS | 409 | Conflict | org.errors.lpPageTemplateNameAlreadyExists | A page template with this name already exists in your organization. |
| Org | 50251 | LP_SECTION_TEMPLATE_NAME_ALREADY_EXISTS | 409 | Conflict | org.errors.lpSectionTemplateNameAlreadyExists | A section template with this name already exists in your organization. |
| Org | 50253 | LAUNCH_ALREADY_IN_PROGRESS | 409 | Conflict | org.errors.launch.alreadyInProgress | A launch is already in progress or queued for this creative. Wait for it to finish, cancel it, or remove the run before starting another. |
| Org | 50262 | PERMISSION_PRESET_IN_USE | 409 | Conflict | org.errors.permissionPresetInUse | This preset cannot be deleted while one or more members still have its exact grant/revoke bundle saved. Change those members’ access first. |
| Org | 50267 | ORG_CHAT_TURN_IDEMPOTENCY_MISMATCH | 409 | Conflict | general.errors.invalidData | Your submission is invalid! |
| Org | 50270 | LAP_HOSTED_SITE_DOMAIN_ALREADY_BOUND | 409 | Conflict | org.errors.lapHostedSiteDomainAlreadyBound | This domain is already linked to another LAP hosted site. Remove that site first, or choose a different domain. |
| Org | 50273 | LAP_HOSTED_SITE_SEGMENT_TAKEN | 409 | Conflict | general.errors.invalidData | Your submission is invalid! |
| Org | 50280 | MAILBOX_REPLY_RATE_LIMITED | 429 | Conflict | general.errors.invalidData | Your submission is invalid! |
| Org | 50282 | ORG_ECOM_STOREFRONT_CATALOG_BLOCKED_BY_BRAND_OVERRIDE | 409 | Conflict | org.errors.ecom.storefrontCatalogBlockedByBrandOverride | At least one brand has storefront currency overrides that still require codes you're removing from your organization preset. Expand the selectable currencies to include those codes—or turn off currency overrides per brand—or save the overrides without removed codes. |
| Org | 50306 | MEMBER_UNAUTHORIZED | 401 | Unauthorized | org.errors.memberUnauthorized | You are not authorized to access this organization |
| Org | 50310 | INVALID_TOKEN | 401 | Unauthorized | org.errors.integrations.shopify.invalidToken | Invalid API key or access token (unrecognized login or wrong password) |
| Org | 50407 | NOT_ALLOWED_TO_UPDATE_ROLE | 403 | Forbidden | org.errors.notAllowedToUpdateRole | You are not allowed to update this role |
| Org | 50411 | MISSING_SCOPES | 403 | Forbidden | org.errors.integrations.shopify.missingScopes | This token is missing some required scopes |
| Org | 50460 | MEMBER_SCOPE_OVERLAY_ESCALATION | 403 | Forbidden | org.errors.memberScopeOverlayEscalation | You cannot grant access beyond your own permissions. |
| Org | 50464 | CONTRIBUTOR_WORK_UNIT_ACTION_FORBIDDEN | 403 | Forbidden | org.errors.contributorWorkUnit.actionForbidden | You cannot perform this action on this work item |
| Org | 50484 | BLOG_EXPERIMENTAL_NOT_ENTITLED | 403 | Forbidden | blog.errors.experimentalNotEntitled | Blog is not enabled for this organization. |
| Org | 50485 | MAILBOX_EXPERIMENTAL_NOT_ENTITLED | 403 | Forbidden | mailbox.errors.experimentalNotEntitled | Mailbox is not enabled for this organization. |
| Org | 50620 | INSUFFICIENT_CREDITS | 402 | Payment Required | org.errors.insufficientCredits | Insufficient credits |
| Org | 59926 | INTEGRATION_UPDATE_FAILED | 500 | Internal | org.errors.integration.updateFailed | Failed to update integration |
| Org | 59931 | SCHEMA_UPDATE_FAILED | 500 | Internal | org.errors.schema.updateFailed | Failed to update schema |
| Org | 59932 | BRAND_CREATE_FAILED | 500 | Internal | org.errors.brand.createFailed | Failed to create brand |
| Org | 59941 | DOC_CREATE_FAILED | 500 | Internal | org.errors.doc.createFailed | Failed to create document |
| Org | 59979 | MAILBOX_ATTACHMENTS_UNAVAILABLE | 500 | Internal | general.errors.invalidData | Your submission is invalid! |
| Integration | 60001 | SHOPIFY_SECRET_NOT_FOUND | 404 | Not Found | integration.errors.shopifySecretNotFound | Shopify secret not found |
| Integration | 60003 | GOOGLE_DRIVE_FOLDER_NOT_FOUND | 404 | Not Found | integration.errors.googledrive.folderNotFound | The configured Google Drive folder could not be found. It may have been deleted or the connected account no longer has access. An admin should verify the brand folder configuration. |
| Integration | 60006 | GOOGLE_DRIVE_BRAND_NOT_CONFIGURED | 404 | Not Found | integration.errors.googledrive.brandNotConfigured | No Google Drive folder is configured for this brand. An admin must assign a folder first. |
| Integration | 60102 | INVALID_HMAC | 422 | Validation | integration.errors.invalidHMAC | Invalid HMAC |
| Integration | 60110 | GOOGLE_ADS_DEVELOPER_TOKEN_NOT_CONFIGURED | 422 | Validation | integration.errors.googleads.developerTokenNotConfigured | The Google Ads developer token is not configured for this environment. An administrator must set GOOGLE_ADS_DEVELOPER_TOKEN before listing accounts. |
| Integration | 60111 | GOOGLE_ADS_REFRESH_TOKEN_REQUIRED | 422 | Validation | integration.errors.googleads.refreshTokenRequired | Google did not return a refresh token. Disconnect and connect again, and approve offline access when prompted. |
| Integration | 60112 | GOOGLE_ADS_EMAIL_REQUIRED | 422 | Validation | integration.errors.googleads.emailRequired | Google did not return a valid email for this account. Try reconnecting and ensure you grant email access. |
| Integration | 60114 | GOOGLE_ADS_API_ERROR | 422 | Validation | integration.errors.googleads.apiError | Google Ads returned an error while loading accounts. Try again later or contact support if it continues. |
| Integration | 60115 | GOOGLE_ADS_CUSTOMER_NOT_ACCESSIBLE | 422 | Validation | integration.errors.googleads.customerNotAccessible | One or more customer IDs are not accessible with this Google Ads connection. Refresh the list from Google and try again. |
| Integration | 60117 | GOOGLE_SEARCH_CONSOLE_REFRESH_TOKEN_REQUIRED | 422 | Validation | integration.errors.googlesearchconsole.refreshTokenRequired | Google did not return a refresh token. Disconnect and connect again, and approve offline access when prompted. |
| Integration | 60118 | GOOGLE_SEARCH_CONSOLE_EMAIL_REQUIRED | 422 | Validation | integration.errors.googlesearchconsole.emailRequired | Google did not return a valid email for this account. Try reconnecting and ensure you grant email access. |
| Integration | 60119 | GOOGLE_SEARCH_CONSOLE_API_ERROR | 422 | Validation | integration.errors.googlesearchconsole.apiError | Google Search Console returned an error. Try again later or contact support if it continues. |
| Integration | 60120 | GOOGLE_SEARCH_CONSOLE_PROPERTY_NOT_VERIFIED | 422 | Validation | integration.errors.googlesearchconsole.propertyNotVerified | The domain property is not verified in Google Search Console yet. Complete DNS verification and retry. |
| Integration | 60122 | GOOGLE_ANALYTICS_4_REFRESH_TOKEN_REQUIRED | 422 | Validation | integration.errors.googleanalytics4.refreshTokenRequired | Google did not return a refresh token. Disconnect and reconnect with consent. |
| Integration | 60123 | GOOGLE_ANALYTICS_4_EMAIL_REQUIRED | 422 | Validation | integration.errors.googleanalytics4.emailRequired | Could not read the Google account email. Try reconnecting. |
| Integration | 60124 | GOOGLE_ANALYTICS_4_ORG_NOT_CONNECTED | 422 | Validation | integration.errors.googleanalytics4.orgNotConnected | Connect Google Analytics 4 under Org → Integrations before automatic setup. |
| Integration | 60125 | GOOGLE_ANALYTICS_4_PROVISION_NOT_READY | 422 | Validation | integration.errors.googleanalytics4.provisionNotReady | Automatic GA4 setup is not available yet in this environment. |
| Integration | 60126 | GOOGLE_ANALYTICS_4_MEASUREMENT_ID_INVALID | 422 | Validation | integration.errors.googleanalytics4.measurementIdInvalid | Invalid Measurement ID. Use the G- prefix format from GA4. |
| Integration | 60128 | GOOGLE_MERCHANT_CENTER_REFRESH_TOKEN_REQUIRED | 422 | Validation | integration.errors.googlemerchantcenter.refreshTokenRequired | Google did not return a refresh token. Disconnect and reconnect with consent. |
| Integration | 60129 | GOOGLE_MERCHANT_CENTER_EMAIL_REQUIRED | 422 | Validation | integration.errors.googlemerchantcenter.emailRequired | Could not read the Google account email. Try reconnecting. |
| Integration | 60130 | GOOGLE_MERCHANT_CENTER_ORG_NOT_CONNECTED | 422 | Validation | integration.errors.googlemerchantcenter.orgNotConnected | Connect Google Merchant Center at the organisation level before provisioning a brand sub-account. |
| Integration | 60131 | GOOGLE_MERCHANT_CENTER_PROVISION_NOT_READY | 422 | Validation | integration.errors.googlemerchantcenter.provisionNotReady | Brand sub-account provisioning is not available yet in this environment. |
| Integration | 60132 | GOOGLE_MERCHANT_CENTER_MCA_NOT_ADVANCED | 422 | Validation | integration.errors.googlemerchantcenter.mcaNotAdvanced | Your Merchant Center account must be an Advanced Account (MCA) before Cognis can create brand sub-accounts. |
| Integration | 60133 | GOOGLE_MERCHANT_CENTER_MCA_NOT_RESOLVED | 422 | Validation | integration.errors.googlemerchantcenter.mcaNotResolved | Could not detect your Merchant Center account from Google. Re-authorize the connection or use Refresh account status on the org integration page. |
| Integration | 60134 | CLOUDFLARE_TOKEN_INVALID_OR_INACTIVE | 422 | Validation | integration.errors.cloudflare.tokenInvalidOrInactive | This Cloudflare API token is missing, invalid, revoked, or not active. Create a new token and try again. |
| Integration | 60135 | CLOUDFLARE_TOKEN_AUTH_REJECTED | 422 | Validation | integration.errors.cloudflare.tokenAuthRejected | Cloudflare returned HTTP 401 or 403 when Cognis used this Bearer token (we call list zones plus read the account summary). Paste the full Account API Token from Manage Account → Account API Tokens—one-time secret, often cfat_, with no spaces or quotes—not the Global API Key or Email + Global Key. The token needs at least Zone → Zone Settings → Read and Account → Account Settings → Read for the account whose ID you pasted. |
| Integration | 60136 | CLOUDFLARE_TOKEN_DISABLED_OR_EXPIRED | 422 | Validation | integration.errors.cloudflare.tokenDisabledOrExpired | This API token is disabled or expired in Cloudflare. Enable it in the dashboard or create a new token, then try again. |
| Integration | 60137 | CLOUDFLARE_TOKEN_VERIFY_FAILED | 422 | Validation | integration.errors.cloudflare.tokenVerifyFailed | Cloudflare could not verify this token: {{detail}} |
| Integration | 60138 | CLOUDFLARE_TOKEN_VERIFY_FAILED_GENERIC | 422 | Validation | integration.errors.cloudflare.tokenVerifyFailedGeneric | Cloudflare could not verify this token. Prefer an Account API Token from Manage Account → Account API Tokens (Bearer), not the Global API Key, and paste the full token with no extra spaces. Then try again under Organization → Integrations → Cloudflare. |
| Integration | 60139 | CLOUDFLARE_ZONE_NOT_FOUND | 422 | Validation | integration.errors.cloudflare.zoneNotFound | No Cloudflare zone found for that domain with this token. Check the zone name, that the token can read the zone, and that the zone is in this account. |
| Integration | 60140 | CLOUDFLARE_ZONE_AMBIGUOUS | 422 | Validation | integration.errors.cloudflare.zoneAmbiguous | Multiple zones matched that name. Use a more specific zone name (exact Cloudflare zone root) or narrow which account the token can access. |
| Integration | 60141 | CLOUDFLARE_ZONE_NOT_ACTIVE | 422 | Validation | integration.errors.cloudflare.zoneNotActive | That Cloudflare zone is not active yet (for example pending or moved). Activate the zone in Cloudflare, then try again. |
| Integration | 60144 | CLOUDFLARE_API_ERROR | 422 | Validation | integration.errors.cloudflare.apiError | Cloudflare returned an error while verifying the connection. Try again later or contact support if it continues. |
| Integration | 60146 | CLOUDFLARE_OLD_ZONE_CLEANUP_FAILED | 422 | Validation | integration.errors.cloudflare.oldZoneCleanupFailed | Cognis could not remove checkout redirect rules from your previous Cloudflare zone with this token. Use a token that still has Single Redirect write access on the old zone, remove the old zone’s `cognis_chk_*` rules manually, then save again—or temporarily reconnect with a broader token. |
| Integration | 60147 | CLOUDFLARE_ACCOUNT_ID_MISMATCH | 422 | Validation | integration.errors.cloudflare.accountIdMismatch | That Account ID does not match this token’s Cloudflare account (or the token cannot read that account). Copy the Account ID from the dashboard sidebar for the same account where you created this token, grant Account → Account Settings → Read if needed, then try again. |
| Integration | 60148 | STOREFRONT_CHECKOUT_HTTP_BLOCKED | 400 | Validation | integration.errors.storefrontCheckout.httpBlocked | Storefront checkout must use https unless your administrator explicitly allows http. Switch to https or ask an admin to enable the exception. |
| Integration | 60149 | STOREFRONT_CHECKOUT_URL_PARSE_ERROR | 400 | Validation | integration.errors.storefrontCheckout.urlParseError | That value is not a valid URL. Enter a full address starting with https:// (for example https://shop.example.com). |
| Integration | 60150 | STOREFRONT_CHECKOUT_URL_USERINFO_NOT_ALLOWED | 400 | Validation | integration.errors.storefrontCheckout.urlUserinfoNotAllowed | The URL must not include a username or password. Use a plain https address only. |
| Integration | 60151 | STOREFRONT_CHECKOUT_REQUIRES_SHOPIFY_INTEGRATION | 400 | Validation | integration.errors.storefrontCheckout.requiresShopifyIntegration | Connect an active Shopify store to this brand (with a saved access token) before setting a storefront checkout URL. |
| Integration | 60152 | STOREFRONT_CHECKOUT_SHOPIFY_DOMAIN_FETCH_FAILED | 400 | Validation | integration.errors.storefrontCheckout.shopifyDomainFetchFailed | We could not load this store's domain list from Shopify. Check the Shopify connection under brand integrations and try again. If it keeps failing, reconnect Shopify or contact support. |
| Integration | 60153 | STOREFRONT_CHECKOUT_HOSTNAME_NOT_IN_SHOPIFY | 400 | Validation | integration.errors.storefrontCheckout.hostnameNotInShopify | That hostname ({{host}}) is not on Shopify's list for this store. Add or verify the domain in Shopify admin, or use a hostname Shopify already recognizes. |
| Integration | 60154 | STOREFRONT_CHECKOUT_CLOUDFLARE_HOST_UNSAFE | 400 | Validation | integration.errors.storefrontCheckout.cloudflareHostUnsafe | That hostname cannot be used with automated Cloudflare checkout protection. Use a normal DNS hostname. |
| Integration | 60155 | STOREFRONT_CHECKOUT_CLOUDFLARE_INVALID_HOST | 400 | Validation | integration.errors.storefrontCheckout.cloudflareInvalidHost | That hostname is not valid for resolving your storefront's main site address. Correct the hostname and try again. |
| Integration | 60156 | STOREFRONT_CHECKOUT_CLOUDFLARE_NOT_CONNECTED | 400 | Validation | integration.errors.storefrontCheckout.cloudflareNotConnected | Save a storefront checkout URL only after the Cognis Cloudflare integration is connected for this organization (Organization → Integrations → Cloudflare). |
| Integration | 60157 | STOREFRONT_CHECKOUT_CLOUDFLARE_META_INCOMPLETE | 400 | Validation | integration.errors.storefrontCheckout.cloudflareMetaIncomplete | The Cloudflare integration is missing required data (verified token and 32-character Account ID from the dashboard sidebar). Open Organization → Integrations → Cloudflare and save both again. |
| Integration | 60158 | STOREFRONT_CHECKOUT_CLOUDFLARE_ZONE_MISMATCH | 400 | Validation | integration.errors.storefrontCheckout.cloudflareZoneMismatch | The checkout hostname {{checkoutHost}} does not match the Cloudflare zone Cognis resolved for it ({{zoneName}}). Check the hostname, your token’s zone access, and DNS. |
| Integration | 60161 | STOREFRONT_CHECKOUT_CLOUDFLARE_DNS_LIST_FAILED | 422 | Validation | integration.errors.storefrontCheckout.cloudflareDnsListFailed | Cloudflare did not allow reading DNS records for this zone. Confirm the API token includes DNS read access for the zone, then try again. |
| Integration | 60162 | STOREFRONT_CHECKOUT_CLOUDFLARE_DNS_CREATE_FAILED | 422 | Validation | integration.errors.storefrontCheckout.cloudflareDnsCreateFailed | Cloudflare did not allow creating the checkout DNS record. Confirm the token can edit DNS for this zone, then try again. |
| Integration | 60163 | STOREFRONT_CHECKOUT_CLOUDFLARE_DNS_PATCH_FAILED | 422 | Validation | integration.errors.storefrontCheckout.cloudflareDnsPatchFailed | Cloudflare did not allow updating the checkout DNS record. Confirm the token can edit DNS for this zone, then try again. |
| Integration | 60168 | STOREFRONT_CHECKOUT_CLOUDFLARE_RULES_PUT_FAILED | 422 | Validation | integration.errors.storefrontCheckout.cloudflareRulesPutFailed | Cloudflare did not accept the redirect rule needed for this checkout host. Check token permissions for Single Redirects and try again. |
| Integration | 60169 | STOREFRONT_CHECKOUT_CLOUDFLARE_TOKEN_AUTH_REJECTED | 422 | Validation | integration.errors.storefrontCheckout.cloudflareTokenAuthRejected | Cloudflare rejected this token while saving checkout DNS or redirect rules (unauthorized or forbidden). Use an API Token from My Profile → API Tokens with Bearer auth—not the Global API Key—and reconnect under Organization → Integrations → Cloudflare. |
| Integration | 60170 | STOREFRONT_CHECKOUT_CLOUDFLARE_TOKEN_DISABLED_OR_EXPIRED | 422 | Validation | integration.errors.storefrontCheckout.cloudflareTokenDisabledOrExpired | The Cloudflare API token is disabled or expired. Enable it in Cloudflare or create a new token with the required permissions, then reconnect under Organization → Integrations → Cloudflare. |
| Integration | 60171 | STOREFRONT_CHECKOUT_CLOUDFLARE_TOKEN_VERIFY_FAILED | 422 | Validation | integration.errors.storefrontCheckout.cloudflareTokenVerifyFailed | Cloudflare did not accept this token while saving checkout: {{detail}} Reconnect under Organization → Integrations → Cloudflare if the problem persists. |
| Integration | 60172 | STOREFRONT_CHECKOUT_CLOUDFLARE_TOKEN_VERIFY_FAILED_GENERIC | 422 | Validation | integration.errors.storefrontCheckout.cloudflareTokenVerifyFailedGeneric | Cloudflare did not accept this token while saving checkout DNS or redirect rules. Use a valid API Token (Bearer) with zone and Single Redirect permissions, and reconnect under Organization → Integrations → Cloudflare. |
| Integration | 60173 | STOREFRONT_CHECKOUT_CLOUDFLARE_TOKEN_INVALID_OR_INACTIVE | 422 | Validation | integration.errors.storefrontCheckout.cloudflareTokenInvalidOrInactive | The Cloudflare API token is missing, invalid, revoked, or inactive. Create a new token with the required permissions and reconnect Cloudflare. |
| Integration | 60174 | WORDPRESS_AUTH_REJECTED | 422 | Validation | integration.errors.wordpress.authRejected | WordPress rejected the credentials. Re-check the site URL, username, and Application Password (must be created under WP Admin → Users → Profile → Application Passwords). |
| Integration | 60175 | WORDPRESS_BASE_URL_INVALID | 422 | Validation | integration.errors.wordpress.baseUrlInvalid | WordPress base URL is invalid. It must be a public https URL pointing to your site root (e.g. https://example.com), not the /wp-admin or /wp-json path. |
| Integration | 60176 | WORDPRESS_API_ERROR | 422 | Validation | integration.errors.wordpress.apiError | WordPress returned an unexpected error. Check the WP REST API is reachable and not blocked by a security plugin or hosting firewall. |
| Integration | 60177 | WORDPRESS_BRAND_NOT_MAPPED | 400 | Validation | integration.errors.wordpress.brandNotMapped | This brand has no mapped WordPress site on this connection. Open the integration → Manage brand sites and assign a site for this brand first. |
| Integration | 60178 | WORDPRESS_MEDIA_UPLOAD_FAILED | 422 | Validation | integration.errors.wordpress.mediaUploadFailed | WordPress refused the media upload. Make sure the user has the upload_files capability and that the file size is below the host’s upload limit. |
| Integration | 60179 | STRIPE_SECRET_AUTH_REJECTED | 422 | Validation | integration.errors.stripe.secretAuthRejected | Stripe refused this secret key (unauthorized). Check that you pasted the full restricted secret key and that it is active. |
| Integration | 60181 | STRIPE_API_ERROR | 422 | Validation | integration.errors.stripe.apiError | Stripe could not verify this key (network, timeout, or unexpected response). Check the key and try again. |
| Integration | 60182 | STRIPE_ACCOUNT_ALREADY_LINKED | 422 | Validation | integration.errors.stripe.accountAlreadyLinked | This Stripe account is already linked to another integration row on this organization. Update that connection or remove the duplicate before rotating this row to the same account. |
| Integration | 60183 | STRIPE_INTEGRATION_ROW_ID_REQUIRED | 422 | Validation | integration.errors.stripe.integrationRowIdRequired | This organization has multiple Stripe connections. Open the row you are updating in Cognis and save again so we know which connection to update, or use the API field integrationId with that row’s Sid. |
| Integration | 60184 | SUPABASE_STORAGE_PROJECT_URL_INVALID | 422 | Validation | integration.errors.supabaseStorage.projectUrlInvalid | Supabase project URL is invalid. Use your project URL from the dashboard, e.g. https://your-ref.supabase.co. |
| Integration | 60185 | SUPABASE_STORAGE_AUTH_REJECTED | 422 | Validation | integration.errors.supabaseStorage.authRejected | Supabase rejected the service role key (unauthorized). Check that you pasted the full service role secret from Project Settings → API. |
| Integration | 60186 | SUPABASE_STORAGE_API_ERROR | 422 | Validation | integration.errors.supabaseStorage.apiError | Could not reach Supabase with these credentials (network, timeout, or unexpected response). Check the project URL and key, then try again. |
| Integration | 60187 | PORKBUN_AUTH_REJECTED | 422 | Validation | integration.errors.porkbun.authRejected | Porkbun rejected these credentials. Check your API key and secret key in Porkbun → Account → API Access, then try again. |
| Integration | 60188 | PORKBUN_API_ERROR | 422 | Validation | integration.errors.porkbun.apiError | Could not reach Porkbun. Check your network connection and try again. |
| Integration | 60189 | AIRWALLEX_AUTH_REJECTED | 422 | Validation | integration.errors.airwallex.authRejected | Airwallex rejected these credentials. Check your Client ID and API key, then try again. |
| Integration | 60190 | AIRWALLEX_API_ERROR | 422 | Validation | integration.errors.airwallex.apiError | Could not reach Airwallex. Check your network connection and try again. |
| Integration | 60191 | AIRWALLEX_MISSING_REQUIRED_SCOPES | 422 | Validation | integration.errors.airwallex.missingRequiredScopes | This API key is missing required scope(s): {{scopes}}. Enable Account Read, Payment Acceptance Read + Write, Payment Disputes Read, and Webhooks Read + Write (Global permissions) on the scoped key in Airwallex, then try again. |
| Integration | 60192 | AIRWALLEX_ACCOUNT_ALREADY_LINKED | 422 | Validation | integration.errors.airwallex.accountAlreadyLinked | This Airwallex Client ID is already connected for this organization. |
| Integration | 60193 | KLAVIYO_AUTH_REJECTED | 422 | Validation | integration.errors.klaviyo.authRejected | Klaviyo rejected this private API key. Check the key in Klaviyo → Settings → API keys, then try again. |
| Integration | 60194 | KLAVIYO_API_ERROR | 422 | Validation | integration.errors.klaviyo.apiError | Could not reach Klaviyo. Check your network connection and try again. |
| Integration | 60195 | KLAVIYO_ACCOUNT_ALREADY_LINKED | 422 | Validation | integration.errors.klaviyo.accountAlreadyLinked | This Klaviyo account is already connected under a different integration row in this organization. |
| Integration | 60196 | KLAVIYO_MISSING_REQUIRED_SCOPES | 422 | Validation | integration.errors.klaviyo.missingRequiredScopes | This private API key is missing required scope(s). Enable Accounts Read, Lists Read, and Events Write on a new Custom private key in Klaviyo → Settings → API keys, then try again. |
| Integration | 60197 | KLAVIYO_RATE_LIMITED | 422 | Validation | integration.errors.klaviyo.rateLimited | Klaviyo rate-limited this request. Wait a moment and try again. |
| Integration | 60198 | KLAVIYO_MULTIPLE_ACCOUNTS | 422 | Validation | integration.errors.klaviyo.multipleAccounts | This API key returned more than one Klaviyo account. Use a key scoped to a single account. |
| Integration | 60404 | GOOGLE_DRIVE_ACCESS_DENIED | 403 | Forbidden | integration.errors.googledrive.accessDenied | The organisation's Google Drive connection was denied access. An admin should verify the integration is still authorised. |
| Integration | 60405 | GOOGLE_DRIVE_USER_NOT_CONNECTED | 403 | Forbidden | integration.errors.googledrive.userNotConnected | Please connect your Google Drive account before uploading files. |
| Integration | 60407 | GOOGLE_DRIVE_ORG_TOKEN_MISSING | 403 | Forbidden | integration.errors.googledrive.orgTokenMissing | The organisation's Google Drive connection has expired. An admin must reconnect Google Drive. |
| Integration | 60408 | GOOGLE_DRIVE_USER_TOKEN_MISSING | 403 | Forbidden | integration.errors.googledrive.userTokenMissing | Your Google Drive session has expired. Please reconnect your Google Drive account. |
| Integration | 60409 | GOOGLE_DRIVE_USER_NO_FOLDER_ACCESS | 403 | Forbidden | integration.errors.googledrive.userNoFolderAccess | Your connected Google account does not have access to this brand's Drive folder. Make sure the correct Google account is connected in your Account Preferences, and that an admin has granted it access to the folder. |
| Integration | 60413 | GOOGLE_ADS_SCOPE_INSUFFICIENT | 403 | Forbidden | integration.errors.googleads.scopeInsufficient | Google Ads access was not granted. Approve all requested permissions, including Google Ads API access, and try again. |
| Integration | 60416 | GOOGLE_SEARCH_CONSOLE_SCOPE_INSUFFICIENT | 403 | Forbidden | integration.errors.googlesearchconsole.scopeInsufficient | Search Console access was not granted. Approve all requested permissions, including webmasters and site verification, and try again. |
| Integration | 60421 | GOOGLE_ANALYTICS_4_SCOPE_INSUFFICIENT | 403 | Forbidden | integration.errors.googleanalytics4.scopeInsufficient | Google account did not grant Analytics edit access. Reconnect and approve all requested permissions. |
| Integration | 60427 | GOOGLE_MERCHANT_CENTER_SCOPE_INSUFFICIENT | 403 | Forbidden | integration.errors.googlemerchantcenter.scopeInsufficient | Google account did not grant Merchant Center access. Reconnect and approve all requested permissions. |
| Integration | 60442 | CLOUDFLARE_RULES_PROBE_FORBIDDEN | 403 | Forbidden | integration.errors.cloudflare.rulesProbeForbidden | This token cannot read Single Redirect rules for that zone. Grant Zone → Dynamic URL Redirects (Write) for Single Redirects on the zone, plus zone read access, then try again. |
| Integration | 60443 | CLOUDFLARE_DNS_PROBE_FORBIDDEN | 403 | Forbidden | integration.errors.cloudflare.dnsProbeForbidden | This token cannot read DNS records for that zone. Grant Zone → DNS → Edit and zone read for the zone so Cognis can add Mailgun email records and checkout DNS, then try again. |
| Integration | 60459 | STOREFRONT_CHECKOUT_CLOUDFLARE_TOKEN_MISSING | 403 | Forbidden | integration.errors.storefrontCheckout.cloudflareTokenMissing | The Cloudflare integration has no saved API token. Reconnect Cloudflare with a valid token. |
| Integration | 60466 | STOREFRONT_CHECKOUT_CLOUDFLARE_RULES_FORBIDDEN | 403 | Forbidden | integration.errors.storefrontCheckout.cloudflareRulesForbidden | The Cloudflare API token cannot read or write Single Redirect rules for this zone. Update the token (Dynamic URL Redirects / Single Redirects for the zone), then try again. |
| Integration | 60545 | CLOUDFLARE_RATE_LIMITED | 429 | Rate Limit | integration.errors.cloudflare.rateLimited | Cloudflare rate-limited this request. Wait a minute and try again. |
| Integration | 60565 | STOREFRONT_CHECKOUT_CLOUDFLARE_RATE_LIMITED | 429 | Rate Limit | integration.errors.storefrontCheckout.cloudflareRateLimited | Cloudflare rate-limited this save. Wait a short time and try again. |
| Integration | 60580 | STRIPE_RATE_LIMITED | 429 | Rate Limit | integration.errors.stripe.rateLimited | Stripe rate-limited the verification request. Wait a moment and try again. |
| Integration | 69960 | STOREFRONT_CHECKOUT_CLOUDFLARE_TOKEN_DECRYPT_FAILED | 500 | Internal | integration.errors.storefrontCheckout.cloudflareTokenDecryptFailed | The saved Cloudflare token could not be read. Reconnect Cloudflare. |
| Integration | 69964 | STOREFRONT_CHECKOUT_CLOUDFLARE_RULES_TRANSPORT | 500 | Internal | integration.errors.storefrontCheckout.cloudflareRulesTransport | We could not reach Cloudflare to update redirect rules. Check connectivity and try again. |
| Integration | 69967 | STOREFRONT_CHECKOUT_CLOUDFLARE_RULES_LOAD_FAILED | 500 | Internal | integration.errors.storefrontCheckout.cloudflareRulesLoadFailed | Cloudflare returned an error while loading redirect rules for this zone. Try again later or reconnect Cloudflare. |
| Brand | 70001 | UNABLE_TO_FIND_SETTINGS | 404 | Not Found | user.errors.general.notFound | Not found |
| Brand | 70002 | BRAND_NOT_FOUND | 404 | Not Found | brand.errors.notFound | Brand not found |
| Brand | 70004 | PROFILE_NOT_FOUND | 404 | Not Found | brand.errors.profile.notFound | Brand profile not found |
| Brand | 70006 | SCROLL_STOPPER_NOT_FOUND | 404 | Not Found | brand.errors.scrollStopper.notFound | Scroll stopper not found |
| Brand | 70010 | BRAND_URL_NOT_FOUND | 404 | Not Found | brand.errors.url.notFound | Brand URL not found |
| Brand | 70013 | PRODUCT_IMAGE_NOT_FOUND | 404 | Not Found | brand.errors.productImage.notFound | Product image not found |
| Brand | 70020 | LP_VARIANT_NOT_FOUND | 404 | Not Found | brand.errors.landingPage.variantNotFound | Landing page variant not found |
| Brand | 70022 | LP_VARIANT_VERSION_NOT_FOUND | 404 | Not Found | brand.errors.landingPage.variantVersionNotFound | Landing page variant version not found |
| Brand | 70023 | LP_ROUTING_CONFIG_NOT_FOUND | 404 | Not Found | brand.errors.landingPage.routingConfigNotFound | Routing configuration not found |
| Brand | 70025 | LP_EXPERIMENT_NOT_FOUND | 404 | Not Found | brand.errors.landingPage.experimentNotFound | Experiment not found |
| Brand | 70111 | BRAND_URL_LOCKED_AFTER_LAUNCH | 400 | Validation | brand.errors.url.lockedAfterLaunch | This URL cannot be changed because it was used in a completed creative launch (tracking). You can still edit the name. |
| Brand | 70117 | NEXT_BATCH_NUMBER_INVALID | 422 | Validation | brand.errors.nextBatchNumber.invalid | Invalid batch number |
| Brand | 70118 | NEXT_BATCH_NUMBER_TOO_LOW | 422 | Validation | brand.errors.nextBatchNumber.tooLow | Batch number must be higher than the highest existing batch |
| Brand | 70119 | BRAND_LANDING_PAGE_DRAFT_ALREADY_EXISTS | 400 | Validation | controlPlane.errors.draftVersionAlreadyExists | A draft version already exists. Publish it or finish editing it before creating another. |
| Brand | 70126 | LP_EXPERIMENT_START_FAILED | 400 | Validation | brand.errors.landingPage.experimentStartFailed | Failed to start experiment. Ensure at least 2 variants, weights sum to 100, and one control variant. |
| Brand | 70127 | LP_EXPERIMENT_LIMIT_REACHED | 400 | Validation | brand.errors.landingPage.experimentLimitReached | Maximum number of active experiments reached for this page |
| Brand | 70128 | LP_PAGE_INACTIVE | 400 | Validation | brand.errors.landingPage.pageInactive | This landing page is archived and cannot be modified |
| Brand | 70129 | LP_PAGE_ACTIVATION_REQUIRES_LIVE_DEFAULT | 400 | Validation | brand.errors.landingPage.activateRequiresLiveDefault | Set a default variant with a published version before activating this page. |
| Brand | 70430 | LANDING_PAGES_EXPERIMENTAL_NOT_ENTITLED | 403 | Forbidden | brand.errors.landingPages.experimentalNotEntitled | Landing pages are not enabled for this organization. |
| Brand | 79903 | BRAND_UPDATE_FAILED | 500 | Internal | brand.errors.updateFailed | Failed to update brand |
| Brand | 79905 | PROFILE_UPDATE_FAILED | 500 | Internal | brand.errors.profile.updateFailed | Failed to update brand profile |
| Brand | 79907 | SCROLL_STOPPER_CREATE_FAILED | 500 | Internal | brand.errors.scrollStopper.createFailed | Failed to create scroll stopper |
| Brand | 79908 | SCROLL_STOPPER_UPDATE_FAILED | 500 | Internal | brand.errors.scrollStopper.updateFailed | Failed to update scroll stopper |
| Brand | 79909 | BRAND_URL_CREATE_FAILED | 500 | Internal | brand.errors.url.createFailed | Failed to create brand URL |
| Brand | 79912 | BRAND_LANDING_PAGE_CREATE_FAILED | 500 | Internal | brand.errors.landingPage.createFailed | Failed to create landing page |
| Brand | 79914 | PRODUCT_IMAGE_CREATE_FAILED | 500 | Internal | brand.errors.productImage.createFailed | Failed to create product image |
| Brand | 79915 | PRODUCT_IMAGE_UPDATE_FAILED | 500 | Internal | brand.errors.productImage.updateFailed | Failed to update product image |
| Brand | 79916 | SETTINGS_UPDATE_FAILED | 500 | Internal | brand.errors.settings.updateFailed | Failed to update brand settings |
| Brand | 79921 | LP_VARIANT_ARCHIVE_FAILED | 500 | Internal | brand.errors.landingPage.variantArchiveFailed | Failed to archive landing page variant |
| Brand | 79924 | LP_ROUTING_PUBLISH_FAILED | 500 | Internal | brand.errors.landingPage.routingPublishFailed | Failed to publish routing configuration |
| Product | 80001 | UNABLE_TO_FIND_PRODUCT | 404 | Not Found | product.errors.unableToFindProduct | Product not found |
| Product | 80002 | SETTINGS_NOT_FOUND | 404 | Not Found | product.errors.settingsNotFound | Product settings not found |
| Product | 80006 | RESEARCH_OUTPUT_NOT_FOUND | 404 | Not Found | product.errors.researchOutput.notFound | Research output not found |
| Product | 80104 | INVALID_AVATAR_SELECTION | 400 | Validation | product.errors.invalidAvatarSelection | One or more selected avatars are invalid for this product |
| Product | 80105 | INVALID_PROBLEM_SELECTION | 400 | Validation | product.errors.invalidProblemSelection | One or more selected problems are invalid for this product |
| Product | 80208 | PRODUCT_SLUG_DUPLICATE | 409 | Conflict | general.errors.invalidData | Your submission is invalid! |
| Product | 80403 | UNAUTHORIZED_PRODUCT_ACCESS | 403 | Forbidden | product.errors.unauthorizedAccess | You do not have access to this product |
| Product | 89907 | RESEARCH_OUTPUT_UPDATE_FAILED | 500 | Internal | product.errors.researchOutput.updateFailed | Failed to update research output |
| Ecom | 90001 | ECOM_COLLECTION_NOT_FOUND | 404 | Not Found | general.nothingFound | Nothing found |
| Ecom | 90003 | ECOM_COLLECTION_IMAGE_NOT_FOUND | 404 | Not Found | general.nothingFound | Nothing found |
| Ecom | 90006 | ECOM_PRODUCT_IMAGE_NOT_FOUND | 404 | Not Found | general.nothingFound | Nothing found |
| Ecom | 90016 | DOMAIN_NOT_FOUND | 404 | Not Found | ecom.errors.domainNotFound | Domain not found |
| Ecom | 90023 | DOMAIN_SET_SERVICE_TARGET_ENDPOINT_REMOVED | 410 | Not Found | ecom.errors.domainSetServiceTargetEndpointRemoved.description | Changing edge routing (web storefront vs LAP) after the domain exists is no longer supported. Create the domain with POST /org/:orgId/ecom/domains and optional body field serviceTarget (webshop or lap). LAP requires org access to LAP overview. If operators corrected database service_target manually, run Verify on the domain so the certificate map and URL map attach to the intended path matcher. |
| Ecom | 90024 | ECOM_TRANSLATION_NOT_FOUND | 404 | Not Found | general.nothingFound | Nothing found |
| Ecom | 90040 | ECOM_COMMERCE_ORDER_NOT_FOUND | 404 | Not Found | general.nothingFound | Nothing found |
| Ecom | 90047 | ECOM_COMMERCE_SHIPMENT_NOT_FOUND | 404 | Not Found | general.nothingFound | Nothing found |
| Ecom | 90050 | ECOM_COMMERCE_RETURN_NOT_FOUND | 404 | Not Found | general.nothingFound | Nothing found |
| Ecom | 90061 | ECOM_STOREFRONT_PRODUCT_REVIEW_NOT_FOUND | 404 | Not Found | general.nothingFound | Nothing found |
| Ecom | 90062 | ECOM_CHECKOUT_INTERCEPT_PIXEL_NOT_FOUND | 404 | Not Found | general.nothingFound | Nothing found |
| Ecom | 90067 | ECOM_CHECKOUT_ORDER_PUSH_CONFIG_NOT_FOUND | 404 | Not Found | general.nothingFound | Nothing found |
| Ecom | 90099 | ECOM_COMMERCE_DISCOUNT_RULE_NOT_FOUND | 404 | Not Found | general.nothingFound | Nothing found |
| Ecom | 90102 | ECOM_COLLECTION_PARENT_INVALID | 422 | Validation | general.errors.invalidData | Your submission is invalid! |
| Ecom | 90104 | ECOM_COLLECTION_IMAGE_FILE_INVALID | 404 | Validation | general.nothingFound | Nothing found |
| Ecom | 90105 | ECOM_COLLECTION_IMAGE_BRAND_INVALID | 404 | Validation | general.nothingFound | Nothing found |
| Ecom | 90107 | ECOM_PRODUCT_IMAGE_FILE_INVALID | 422 | Validation | general.errors.invalidData | Your submission is invalid! |
| Ecom | 90108 | ECOM_PRODUCT_IMAGE_BRAND_INVALID | 422 | Validation | general.errors.invalidData | Your submission is invalid! |
| Ecom | 90109 | ECOM_PRODUCT_NOT_SHOPIFY_LINKED | 422 | Validation | general.errors.invalidData | Your submission is invalid! |
| Ecom | 90110 | ECOM_PRODUCT_SHOPIFY_AMBIGUOUS | 422 | Validation | general.errors.invalidData | Your submission is invalid! |
| Ecom | 90111 | ECOM_COLLECTION_PRODUCT_INVALID | 422 | Validation | general.errors.invalidData | Your submission is invalid! |
| Ecom | 90118 | INVALID_DOMAIN | 422 | Validation | ecom.errors.invalidDomain.description | The domain you entered is invalid. Please enter a valid domain. |
| Ecom | 90119 | DOMAIN_USE_APEX_NOT_WWW | 422 | Validation | ecom.errors.domainUseApexNotWww.description | Enter your root domain (for example example.com), not www.example.com. We add www automatically and redirect it to your root domain. |
| Ecom | 90125 | ECOM_TRANSLATION_PRIMARY_LOCALE_FORBIDDEN | 422 | Validation | general.errors.invalidData | Your submission is invalid! |
| Ecom | 90126 | ECOM_TRANSLATION_INVALID_LOCALE | 422 | Validation | general.errors.invalidData | Your submission is invalid! |
| Ecom | 90127 | ECOM_TRANSLATION_ENTITY_NOT_IN_ORG | 422 | Validation | general.errors.invalidData | Your submission is invalid! |
| Ecom | 90128 | ECOM_SETTINGS_NOT_CONFIGURED | 422 | Validation | general.errors.invalidData | Your submission is invalid! |
| Ecom | 90131 | ECOM_COMMERCE_CATALOG_LINK_MISSING | 422 | Validation | general.errors.invalidData | Your submission is invalid! |
| Ecom | 90132 | ECOM_COMMERCE_CATALOG_VARIANT_DUPLICATE_COMBINATION | 422 | Validation | general.errors.invalidData | Your submission is invalid! |
| Ecom | 90133 | ECOM_COMMERCE_CATALOG_VARIANT_INVALID_OPTION_VALUE | 422 | Validation | general.errors.invalidData | Your submission is invalid! |
| Ecom | 90134 | ECOM_COMMERCE_CATALOG_VARIANT_PARTIAL_OPTION_ASSIGNMENT | 422 | Validation | general.errors.invalidData | Your submission is invalid! |
| Ecom | 90135 | ECOM_COMMERCE_CATALOG_VARIANT_COUNT_INVALID | 422 | Validation | general.errors.invalidData | Your submission is invalid! |
| Ecom | 90137 | ECOM_COMMERCE_CURRENCY_NOT_ALLOWED_FOR_BRAND | 422 | Validation | general.errors.invalidData | Your submission is invalid! |
| Ecom | 90141 | ECOM_COMMERCE_ORDER_INVOICE_NOT_ELIGIBLE | 422 | Validation | general.errors.invalidData | Your submission is invalid! |
| Ecom | 90143 | ECOM_COMMERCE_ORDER_FULFILLMENT_NOT_ALLOWED | 422 | Validation | general.errors.invalidData | Your submission is invalid! |
| Ecom | 90144 | ECOM_COMMERCE_ORDER_TRACKING_NUMBER_REQUIRED | 422 | Validation | general.errors.invalidData | Your submission is invalid! |
| Ecom | 90145 | ECOM_COMMERCE_ORDER_LINE_FULFILLMENT_INVALID | 422 | Validation | general.errors.invalidData | Your submission is invalid! |
| Ecom | 90151 | ECOM_COMMERCE_RETURN_STATUS_TRANSITION_INVALID | 422 | Validation | general.errors.invalidData | Your submission is invalid! |
| Ecom | 90153 | ECOM_COMMERCE_STRIPE_INTEGRATION_MISSING | 422 | Validation | general.errors.invalidData | Your submission is invalid! |
| Ecom | 90154 | ECOM_COMMERCE_STRIPE_INTEGRATION_SECRET_MISSING | 422 | Validation | general.errors.invalidData | Your submission is invalid! |
| Ecom | 90155 | ECOM_COMMERCE_ORDER_REFUND_NOT_ALLOWED | 422 | Validation | general.errors.invalidData | Your submission is invalid! |
| Ecom | 90156 | ECOM_COMMERCE_ORDER_REFUND_AMOUNT_INVALID | 422 | Validation | general.errors.invalidData | Your submission is invalid! |
| Ecom | 90157 | ECOM_COMMERCE_ORDER_ALREADY_FULLY_REFUNDED | 422 | Validation | general.errors.invalidData | Your submission is invalid! |
| Ecom | 90158 | ECOM_COMMERCE_ORDER_PAYMENT_NOT_REFUNDABLE | 422 | Validation | general.errors.invalidData | Your submission is invalid! |
| Ecom | 90159 | ECOM_COMMERCE_ORDER_REFUND_DUPLICATE_REQUEST | 422 | Validation | general.errors.invalidData | Your submission is invalid! |
| Ecom | 90160 | ECOM_COMMERCE_ORDER_CANCEL_REQUIRES_REFUND | 422 | Validation | general.errors.invalidData | Your submission is invalid! |
| Ecom | 90163 | ECOM_CHECKOUT_INTERCEPT_INTEGRATION_NOT_LINKED | 400 | Validation | general.errors.invalidData | Your submission is invalid! |
| Ecom | 90164 | ECOM_CHECKOUT_INTERCEPT_CHECKOUT_BASE_URL_MISMATCH | 400 | Validation | general.errors.invalidData | Your submission is invalid! |
| Ecom | 90165 | ECOM_CHECKOUT_INTERCEPT_GATE_INCOMPLETE | 400 | Validation | general.errors.invalidData | Your submission is invalid! |
| Ecom | 90169 | ECOM_COMMERCE_EXCHANGE_RATE_UNAVAILABLE | 422 | Validation | ecom.errors.commerceCatalogFxMissingRates | Could not load exchange rates for every enabled storefront currency. Try again later, or ensure your FX provider is configured for this environment. |
| Ecom | 90170 | PRODUCT_DISCOVERY_SOURCING_MODEL_NO_TOOL_CALLS | 422 | Validation | ecom.productDiscovery.errors.sourcingModelNoToolCalls | This AI model does not support gateway tool calls. Choose another model or use Google Custom Search sourcing. |
| Ecom | 90171 | PRODUCT_DISCOVERY_SOURCING_MCP_NOT_CONFIGURED | 422 | Validation | ecom.productDiscovery.errors.sourcingMcpNotConfigured | AI tool sourcing requires MCP delegation to be configured on the server. |
| Ecom | 90172 | PRODUCT_DISCOVERY_SOURCING_MCP_TOOLS_UNAVAILABLE | 422 | Validation | ecom.productDiscovery.errors.sourcingMcpToolsUnavailable | The server could not load web tools for this model. Check MCP connectivity or use Google Custom Search sourcing. |
| Ecom | 90173 | PRODUCT_DISCOVERY_GOOGLE_CSE_ZERO_ALIEXPRESS_URLS | 422 | Validation | ecom.productDiscovery.errors.googleCseZeroAliexpressUrls | Google Custom Search did not return any AliExpress item listings for this run (after retry). Try a more specific niche, different target markets, or AI tool sourcing. |
| Ecom | 90174 | PRODUCT_DISCOVERY_AI_TOOLS_ZERO_CANDIDATES | 422 | Validation | ecom.productDiscovery.errors.aiToolsZeroCandidates | AI research did not find any valid AliExpress listings for this run. Try a more specific niche, different target markets, or Google Custom Search sourcing. |
| Ecom | 90175 | PRODUCT_DISCOVERY_NORMALIZE_ZERO_CANDIDATES | 422 | Validation | ecom.productDiscovery.errors.normalizeZeroCandidates | Live listing checks removed every candidate before scoring (delisted links, blocked pages, or missing titles). Try a broader niche or Google Custom Search sourcing. |
| Ecom | 90176 | PRODUCT_INGEST_UNSUPPORTED_SOURCE_URL | 422 | Validation | ecom.productIngest.errors.unsupportedUrl | Unsupported URL. Pass an AliExpress item URL or a Fyndiq /produkt/ URL. |
| Ecom | 90177 | PRODUCT_INGEST_SCRAPE_FAILED | 422 | Validation | ecom.productIngest.errors.scrapeFailed | Could not scrape the listing page. The marketplace may be blocking automated access — try again later. |
| Ecom | 90178 | PRODUCT_INGEST_RUN_NOT_COMPLETED | 422 | Validation | ecom.productIngest.errors.runNotCompleted | This run has not completed yet — wait for the import-ready bundle before inserting. |
| Ecom | 90180 | PRODUCT_INGEST_MISSING_PRICE | 422 | Validation | ecom.productIngest.errors.missingPrice | Enter a selling price on the import panel before inserting this product. |
| Ecom | 90182 | PRODUCT_INGEST_INVALID_PRICING | 422 | Validation | ecom.productIngest.errors.invalidPricing | Enter a valid positive COGS and selling price. |
| Ecom | 90183 | PRODUCT_INGEST_INVALID_CATALOG_DRAFT | 422 | Validation | ecom.productIngest.errors.invalidCatalogDraft | Variant options or prices are invalid — check option names, values, and the 100-variant limit. |
| Ecom | 90184 | PRODUCT_PAGE_INGEST_UNSUPPORTED_SOURCE_URL | 422 | Validation | ecom.productPageIngest.errors.unsupportedUrl | Enter a valid https product page URL. |
| Ecom | 90185 | PRODUCT_PAGE_INGEST_SCRAPE_FAILED | 422 | Validation | ecom.productPageIngest.errors.scrapeFailed | Could not scrape the competitor product page. |
| Ecom | 90186 | PRODUCT_PAGE_INGEST_RUN_NOT_COMPLETED | 422 | Validation | ecom.productPageIngest.errors.runNotCompleted | Wait for the run to complete before importing. |
| Ecom | 90194 | BRAND_LAUNCH_PREREQUISITES_NOT_MET | 422 | Validation | ecom.automation.brandLaunch.errors.prerequisitesNotMet | Complete all brand launch prerequisites before starting a live run. |
| Ecom | 90195 | BRAND_LAUNCH_REUSE_CLOUDFLARE_NOT_MANAGED | 422 | Validation | ecom.automation.brandLaunch.errors.reuseCloudflareNotManaged | The selected Cloudflare account cannot manage DNS for this domain. Choose a domain in that account or pick a different Cloudflare integration. |
| Ecom | 90196 | PRODUCT_PAGE_INGEST_NO_GENERATED_IMAGES | 422 | Validation | ecom.productPageIngest.errors.noGeneratedImages | Select or generate at least one AI image before import. |
| Ecom | 90198 | ECOM_COMMERCE_DISCOUNT_RULES_COGNIS_CATALOG_ONLY | 422 | Validation | ecom.errors.commerceDiscountRulesCognisCatalogOnly | Cognis discount rules require the organization catalog source to be Cognis-native. |
| Ecom | 90201 | ECOM_COMMERCE_DISCOUNT_RULE_INVALID_CONFIGURATION | 422 | Conflict | ecom.errors.commerceDiscountRuleInvalidConfiguration | Discount rule configuration is invalid. |
| Ecom | 90203 | ECOM_COMMERCE_SHIPPING_COGNIS_CATALOG_ONLY | 422 | Conflict | ecom.errors.commerceDiscountRulesCognisCatalogOnly | Cognis discount rules require the organization catalog source to be Cognis-native. |
| Ecom | 90206 | ECOM_COMMERCE_SHIPPING_INVALID_CONFIGURATION | 422 | Conflict | general.errors.invalidData | Your submission is invalid! |
| Ecom | 90207 | ECOM_COMMERCE_SHIPPING_DEFAULT_ZONE_PROTECTED | 422 | Conflict | general.errors.invalidData | Your submission is invalid! |
| Ecom | 90212 | ECOM_COLLECTION_PRODUCT_DUPLICATE | 409 | Conflict | general.errors.invalidData | Your submission is invalid! |
| Ecom | 90213 | ECOM_COLLECTION_SLUG_DUPLICATE | 409 | Conflict | general.errors.invalidData | Your submission is invalid! |
| Ecom | 90214 | ECOM_PRODUCT_SLUG_TRANSLATION_DUPLICATE | 409 | Conflict | general.errors.invalidData | Your submission is invalid! |
| Ecom | 90215 | DOMAIN_ALREADY_EXISTS | 409 | Conflict | ecom.errors.domainAlreadyExists | Domain already exists |
| Ecom | 90217 | DOMAIN_VERIFICATION_FAILED | 409 | Conflict | ecom.errors.domainVerificationFailed | Domain verification failed |
| Ecom | 90220 | DOMAIN_ALREADY_ASSIGNED_TO_BRAND | 409 | Conflict | ecom.errors.domainAlreadyAssignedToBrand | Domain already assigned to another brand |
| Ecom | 90236 | ECOM_COMMERCE_CATALOG_VARIANT_SKU_CONFLICT | 409 | Conflict | general.errors.invalidData | Your submission is invalid! |
| Ecom | 90279 | PRODUCT_INGEST_ALREADY_IMPORTED | 409 | Conflict | ecom.productIngest.errors.alreadyImported | This run was already imported as a product. |
| Ecom | 90281 | PRODUCT_INGEST_DUPLICATE_SOURCE_URL | 409 | Conflict | ecom.productIngest.errors.duplicateSourceUrl | An ingest run for this URL already exists in this organization. |
| Ecom | 90287 | PRODUCT_PAGE_INGEST_ALREADY_IMPORTED | 409 | Conflict | ecom.productPageIngest.errors.alreadyImported | This run was already imported. |
| Ecom | 90288 | PRODUCT_PAGE_INGEST_DUPLICATE_SOURCE_URL | 409 | Conflict | ecom.productPageIngest.errors.duplicateSourceUrl | A run for this URL already exists in this organization. |
| Ecom | 90300 | ECOM_COMMERCE_DISCOUNT_RULE_DUPLICATE_CODE | 409 | Unauthorized | ecom.errors.commerceDiscountRuleDuplicateCode | A promo code with this name already exists for this brand. |
| Ecom | 90308 | ECOM_COMMERCE_SHIPPING_DUPLICATE_RATE_NAME | 409 | Unauthorized | general.errors.invalidData | Your submission is invalid! |
| Ecom | 90422 | DOMAIN_LAP_NOT_ENTITLED | 403 | Forbidden | ecom.errors.domainLapNotEntitled.description | Your organization does not have access to the Lead Aggregation Platform. Choose the web storefront routing, or ask an admin to grant LAP overview access. |
| Ecom | 90489 | PRODUCT_PAGE_INGEST_NOT_GRANTED | 403 | Forbidden | ecom.productPageIngest.errors.notGranted | Competitor page ingest is not enabled for this organization. |
| Ecom | 90490 | BRAND_LAUNCH_EXPERIMENTAL_NOT_ENTITLED | 403 | Forbidden | ecom.automation.brandLaunch.errors.experimentalNotEntitled | Brand launch automation is not enabled for this organization. |
| Ecom | 90491 | NATIVE_ECOM_EXPERIMENTAL_NOT_ENTITLED | 403 | Forbidden | ecom.errors.nativeEcomExperimentalNotEntitled | Native commerce admin is not enabled for this organization. |
| Ecom | 90492 | ECOM_CONFIG_BASICS_EXPERIMENTAL_NOT_ENTITLED | 403 | Forbidden | ecom.errors.configBasicsExperimentalNotEntitled | Brand e-com configuration basics is not enabled for this organization. |
| Ecom | 99921 | DOMAIN_PROVISION_FAILED | 500 | Internal | ecom.errors.domainProvisionFailed.description | The hostname looks valid, but registering it with the edge failed (for example missing configuration, permissions, or a certificate issue). Try again later or contact support if it persists. |
| Ecom | 99929 | ECOM_COMMERCE_CATALOG_REPO_UNAVAILABLE | 500 | Internal | general.errors.unexpected | Unexpected server error. We've been notified. |
| Ecom | 99930 | ECOM_COMMERCE_BRAND_CURRENCIES_REPO_UNAVAILABLE | 500 | Internal | general.errors.unexpected | Unexpected server error. We've been notified. |
| Ecom | 99938 | ECOM_COMMERCE_ORDERS_REPO_UNAVAILABLE | 500 | Internal | general.errors.unexpected | Unexpected server error. We've been notified. |
| Ecom | 99939 | ECOM_COMMERCE_CHECKOUT_ABANDONMENT_REPO_UNAVAILABLE | 500 | Internal | general.errors.unexpected | Unexpected server error. We've been notified. |
| Ecom | 99942 | ECOM_COMMERCE_ORDER_INVOICE_RENDER_FAILED | 500 | Internal | general.errors.unexpected | Unexpected server error. We've been notified. |
| Ecom | 99946 | ECOM_COMMERCE_SHIPMENTS_REPO_UNAVAILABLE | 500 | Internal | general.errors.unexpected | Unexpected server error. We've been notified. |
| Ecom | 99948 | ECOM_COMMERCE_REFUNDS_REPO_UNAVAILABLE | 500 | Internal | general.errors.unexpected | Unexpected server error. We've been notified. |
| Ecom | 99949 | ECOM_COMMERCE_RETURNS_REPO_UNAVAILABLE | 500 | Internal | general.errors.unexpected | Unexpected server error. We've been notified. |
| Ecom | 99952 | ECOM_COMMERCE_STRIPE_REFUND_CLIENT_UNAVAILABLE | 500 | Internal | general.errors.unexpected | Unexpected server error. We've been notified. |
| Ecom | 99966 | ECOM_CHECKOUT_INTERCEPT_STOREFRONT_TOKEN_MINT_FAILED | 500 | Internal | ecom.errors.checkoutIntercept.storefrontTokenMintFailed | Could not create a Shopify Storefront API token. Reconnect Shopify under Integrations or check app permissions, then try again. |
| Ecom | 99968 | ECOM_STOREFRONT_REFRESH_FAILED | 500 | Internal | ecom.errors.storefrontRefreshFailed | The slug was saved in Cognis, but the live storefront could not be refreshed. Collection links may stay stale for a few minutes — try saving again or contact support if this persists. |
| Ecom | 99993 | BRAND_LAUNCH_MAILGUN_NOT_CONFIGURED | 503 | Internal | ecom.automation.brandLaunch.errors.mailgunNotConfigured | Platform Mailgun email delivery is not configured. Brand launch cannot provision or verify sending domains until Mailgun is available. |
| Ecom | 99997 | ECOM_COMMERCE_DISCOUNT_RULES_REPO_UNAVAILABLE | 503 | Internal | general.errors.unexpected | Unexpected server error. We've been notified. |
| Docs | 100001 | DOC_LIBRARY_NOT_FOUND | 404 | Not Found | docs.errors.docLibraryNotFound | Documentation library not found |
| Docs | 100002 | ECOM_COMMERCE_SHIPPING_REPO_UNAVAILABLE | 503 | Not Found | general.errors.unexpected | Unexpected server error. We've been notified. |
| Docs | 100003 | DOC_PAGE_NOT_FOUND | 404 | Not Found | docs.errors.docPageNotFound | Documentation page not found |
| Docs | 100012 | DOC_HISTORY_NOT_FOUND | 404 | Not Found | docs.errors.docHistory.notFound | Documentation history not found |
| Docs | 100013 | DOC_SECTION_NOT_FOUND | 404 | Not Found | docs.errors.docSection.notFound | Documentation section not found |
| Docs | 100016 | DOC_SECTION_GROUP_NOT_FOUND | 404 | Not Found | docs.errors.docSectionGroup.notFound | Documentation section group not found |
| Docs | 100020 | DOC_VARIANT_NOT_FOUND | 404 | Not Found | docs.errors.docVariant.notFound | Documentation variant not found |
| Docs | 100022 | DOC_DOCUMENT_NOT_FOUND | 404 | Not Found | docs.errors.document.notFound | Document not found |
| Docs | 100104 | DOC_PAGE_CREATE_FAILED | 400 | Validation | docs.errors.docPageCreateFailed | Failed to create documentation page |
| Docs | 100105 | DOC_PAGE_UPDATE_FAILED | 400 | Validation | docs.errors.docPageUpdateFailed | Failed to update documentation page |
| Docs | 100106 | DOC_PAGE_DELETE_FAILED | 400 | Validation | docs.errors.docPageDeleteFailed | Failed to delete documentation page |
| Docs | 100109 | DOC_PAGE_PATCH_EMPTY | 400 | Validation | docs.errors.docPagePatchEmpty | Provide at least one field to update. |
| Docs | 100207 | DOC_PAGE_META_CONFLICT | 409 | Conflict | docs.errors.docPageMetaConflict | This page changed elsewhere. Refresh the page and try saving FAQs again. |
| Docs | 100208 | DOC_PAGE_BODY_CONFLICT | 409 | Conflict | docs.errors.docPageMetaConflict | This page changed elsewhere. Refresh the page and try saving FAQs again. |
| Docs | 100211 | DOC_LIBRARY_INTRO_CONFLICT | 409 | Conflict | docs.errors.docLibrary.updateFailed | Failed to update documentation library |
| Docs | 100218 | DOC_SECTION_GROUP_HAS_PAGES | 409 | Conflict | docs.errors.docSectionGroup.hasPages | This section group still has pages. Move or remove all pages from the group before deleting it. |
| Docs | 100402 | DOC_HISTORY_UNAUTHORIZED | 403 | Forbidden | general.errors.unauthorized | Unauthorized |
| Docs | 100419 | DOC_SECTION_EMBEDDINGS_NOT_ALLOWED | 403 | Forbidden | docs.errors.docSection.embeddingsNotAllowed | Vector embeddings for doc libraries are not enabled for this organization. |
| Docs | 109910 | DOC_LIBRARY_UPDATE_FAILED | 500 | Internal | docs.errors.docLibrary.updateFailed | Failed to update documentation library |
| Docs | 109914 | DOC_SECTION_CREATE_FAILED | 500 | Internal | docs.errors.docSection.createFailed | Failed to create documentation section |
| Docs | 109915 | DOC_SECTION_UPDATE_FAILED | 500 | Internal | docs.errors.docSection.updateFailed | Failed to update documentation section |
| Docs | 109917 | DOC_SECTION_GROUP_UPDATE_FAILED | 500 | Internal | docs.errors.docSectionGroup.updateFailed | Failed to update documentation section group |
| Docs | 109921 | DOC_VARIANT_UPDATE_FAILED | 500 | Internal | docs.errors.docVariant.updateFailed | Failed to update documentation variant |
| Frameworks | 110001 | FRAMEWORK_NOT_FOUND | 404 | Not Found | framework.errors.frameworkNotFound | Could not find framework from provided id |
| Frameworks | 110003 | FRAMEWORK_INSTANCE_NOT_FOUND | 404 | Not Found | framework.errors.frameworkInstanceNotFound | Could not find framework instance from provided id |
| Frameworks | 110102 | FRAMEWORK_UPDATE_FAILED | 422 | Validation | general.errors.invalidData | Your submission is invalid! |
| Frameworks | 110104 | FRAMEWORK_INSTANCE_CANNOT_DELETE_ACTIVE | 422 | Validation | general.errors.invalidData | Your submission is invalid! |
| Frameworks | 110105 | FRAMEWORK_NO_ACTIVE_INSTANCE | 422 | Validation | framework.errors.frameworkNoActiveInstance | This framework has no active instance. Open the framework in your org, create or activate an instance, then try again. |
| Creatives | 120001 | CREATIVE_NOT_FOUND | 404 | Not Found | creatives.errors.notFound | Creative not found |
| Creatives | 120002 | BRAND_NOT_FOUND | 404 | Not Found | creatives.errors.brand.notFound | Brand not found |
| Creatives | 120003 | BRAND_SETTINGS_NOT_FOUND | 404 | Not Found | creatives.errors.brandSettings.notFound | Brand settings not found |
| Creatives | 120010 | VIEW_NOT_FOUND | 404 | Not Found | creatives.errors.view.notFound | Creative view not found |
| Creatives | 120020 | CONTRIBUTOR_NOT_ASSIGNED_TO_CREATIVE | 404 | Not Found | creatives.errors.contributor.unlock.notAssigned | You are not assigned as a contributor on this creative. |
| Creatives | 120104 | MAX_STRATEGISTS_EXCEEDED | 422 | Validation | creatives.errors.maxStrategists.exceeded | Maximum number of creative strategists exceeded |
| Creatives | 120105 | MAX_EDITORS_EXCEEDED | 422 | Validation | creatives.errors.maxEditors.exceeded | Maximum number of editors exceeded |
| Creatives | 120106 | MAX_COPYWRITERS_EXCEEDED | 422 | Validation | creatives.errors.maxCopywriters.exceeded | Maximum number of copywriters exceeded |
| Creatives | 120107 | MAX_CONTRIBUTORS_EXCEEDED | 422 | Validation | creatives.errors.maxContributors.exceeded | Maximum number of contributors exceeded |
| Creatives | 120109 | CREATIVE_NAME_NOT_EDITABLE | 400 | Validation | creatives.errors.nameNotEditable | Creative names are generated from your org naming template and cannot be set manually. |
| Creatives | 120113 | VIEW_IS_DEFAULT | 422 | Validation | creatives.errors.view.isDefault | Cannot delete default view |
| Creatives | 120118 | CONTRIBUTOR_MARK_FINISHED_NO_ACTIVE_WORK_UNIT | 422 | Validation | creatives.errors.contributor.markFinished.noActiveWorkUnit | No active contributor work was found for this creative. Ask an editor to re-save your assignment or contact support. |
| Creatives | 120119 | CONTRIBUTOR_UNLOCK_NOT_COMPLETED | 422 | Validation | creatives.errors.contributor.unlock.noCompletedWork | Your work is not marked as finished yet, so it cannot be unlocked. |
| Creatives | 120121 | CONTRIBUTOR_APPROVAL_INCOMPLETE_CONTRIBUTOR_WORK | 422 | Validation | creatives.errors.contributorApproval.incompleteContributorWork | Every assigned contributor must mark their work as finished before moving out of contributor approval (or disable this rule in org settings). |
| Creatives | 120122 | LAUNCH_CONFIG_MANUAL_MODE_MISSING_UPLOAD_ID | 422 | Validation | creatives.errors.launchConfig.manualMode.missingUploadId | Manual-mode launch entries must each reference an uploaded variant. |
| Creatives | 120123 | LAUNCH_DUPLICATE_VARIANT | 422 | Validation | user.errors.invalidData | Your submission is invalid! |
| Creatives | 120124 | COMPETITOR_IMITATION_EXAMPLE_AD_REQUIRED | 422 | Validation | creatives.errors.competitorImitation.exampleAdRequired | Paste the competitor ad text to continue. |
| Creatives | 120125 | COMPETITOR_IMITATION_EXAMPLE_AD_TOO_LONG | 422 | Validation | creatives.errors.competitorImitation.exampleAdTooLong | The competitor paste exceeds the maximum allowed length. Shorten the text and try again. |
| Creatives | 120126 | COMPETITOR_IMITATION_CREATIVE_TYPE_REQUIRED | 422 | Validation | creatives.errors.competitorImitation.creativeTypeRequired | Select a creative type for competitor imitation. |
| Creatives | 120127 | COMPETITOR_IMITATION_COPY_GRIDS_CONFLICT | 422 | Validation | creatives.errors.competitorImitation.copyGridsConflict | You cannot copy grids from the source creative while using competitor imitation. Turn off “copy grids from source” or choose a different structure type. |
| Creatives | 120128 | COMPETITOR_GRID_NO_ROW_TYPES | 422 | Validation | creatives.errors.competitorGrid.noRowTypes | Your organization has no scripted-ad row types yet. Configure row types under grid settings before using competitor imitation. |
| Creatives | 120129 | COMPETITOR_GRID_AI_OUTPUT_INVALID | 422 | Validation | creatives.errors.competitorGrid.aiOutputInvalid | The AI could not map the pasted ad to your row types. Try again, or shorten or simplify the paste. |
| Creatives | 120208 | DUPLICATE_BATCH_VERSION_COUNTRY | 409 | Conflict | creatives.errors.duplicate.batchVersionCountry | A creative with this batch, version, and country already exists |
| Creatives | 120211 | VIEW_LABEL_EXISTS | 409 | Conflict | creatives.errors.view.labelExists | A view with this label already exists |
| Creatives | 120212 | VIEW_SLUG_EXISTS | 409 | Conflict | creatives.errors.view.slugExists | A view with this slug already exists |
| Creatives | 120216 | CREATIVE_WORK_ALREADY_INVOICED | 409 | Conflict | creatives.errors.work.alreadyInvoiced | This work has been invoiced and cannot be unlocked. |
| Creatives | 120417 | CREATIVE_PUT_FORBIDDEN_FOR_CONTRIBUTOR | 403 | Forbidden | creatives.errors.put.forbiddenForContributor | Contributors cannot update creative properties. Use the content grid and contributor actions instead. |
| Creatives | 129914 | CREATION_FAILED | 500 | Internal | creatives.errors.creation.failed | Failed to create creative |
| Creatives | 129915 | UPDATE_FAILED | 500 | Internal | creatives.errors.update.failed | Failed to update creative |
| AI | 130001 | AI_RUN_NOT_FOUND | 404 | Not Found | ai.errors.run.notFound | AI run not found |
| AI | 130002 | AI_RUN_FRAMEWORK_NOT_FOUND | 404 | Not Found | framework.errors.frameworkNotFound | Could not find framework from provided id |
| AI | 130004 | AI_RUN_PRODUCT_NOT_FOUND | 404 | Not Found | ai.errors.run.product.notFound | Product not found for AI run |
| AI | 130005 | AI_RUN_BRAND_NOT_FOUND | 404 | Not Found | ai.errors.run.brand.notFound | Brand not found for AI run |
| AI | 130103 | AI_RUN_FRAMEWORK_NO_ACTIVE_INSTANCE | 422 | Validation | framework.errors.frameworkNoActiveInstance | This framework has no active instance. Open the framework in your org, create or activate an instance, then try again. |
| AI | 130107 | AI_STEP_RETRY_NOT_FAILED | 422 | Validation | ai.errors.step.retry.notFailed | Only a failed step can be retried. |
| AI | 130108 | AI_STEP_RETRY_ALREADY_ACTIVE | 422 | Validation | ai.errors.step.retry.alreadyActive | This step is already queued or running. Wait for it to finish, or refresh the page if it still looks stuck on failed. |
| AI | 130109 | AI_STEP_RETRY_MAX_ATTEMPTS | 422 | Validation | ai.errors.step.retry.maxAttempts | Maximum retry attempts reached for this step. |
| AI | 130110 | AI_STEP_RETRY_RUN_STATE | 422 | Validation | ai.errors.step.retry.runState | This run cannot be retried in its current state. |
| AI | 130111 | AI_PROPAGATION_CHECK_NOT_ELIGIBLE | 422 | Validation | ai.errors.propagationCheck.notEligible | This step is not waiting for external propagation. |
| AI | 130112 | AI_PROPAGATION_CHECK_COOLDOWN | 422 | Validation | ai.errors.propagationCheck.cooldown | Please wait {{minutes}} minute(s) before checking again. |
| AI | 130113 | AI_PROPAGATION_CHECK_ALREADY_ACTIVE | 422 | Validation | ai.errors.propagationCheck.alreadyActive | A propagation check is already running for this step. |
| AI | 130114 | AI_PROPAGATION_CHECK_RUN_STATE | 422 | Validation | ai.errors.propagationCheck.runState | Propagation checks are only available while the run is in progress. |
| AI | 130415 | DESIGN_PROPOSAL_EXPERIMENTAL_NOT_ENTITLED | 403 | Forbidden | ai.errors.designProposal.experimentalNotEntitled | Design proposals are not enabled for this organization. |
| AI | 139906 | AI_RUN_CREATION_FAILED | 500 | Internal | ai.errors.run.creationFailed | Failed to create AI run |
| Audience | 140001 | AVATAR_NOT_FOUND | 404 | Not Found | audience.errors.avatar.notFound | Avatar not found |
| Audience | 140003 | PROBLEM_NOT_FOUND | 404 | Not Found | audience.errors.problem.notFound | Problem not found |
| Audience | 140006 | PAIN_POINT_NOT_FOUND | 404 | Not Found | audience.errors.painPoint.notFound | Pain point not found |
| Audience | 140105 | PROBLEM_PAIN_POINT_REQUIRED | 422 | Validation | audience.errors.problem.painPointRequired | At least one pain point is required |
| Audience | 140108 | ENTITY_USED_IN_CREATIVE_CANNOT_DELETE | 422 | Validation | audience.errors.entity.usedInCreative.cannotDelete | This item has been used in a creative and cannot be deleted. Archive it instead. |
| Audience | 140109 | ENTITY_NOT_USED_IN_CREATIVE_CANNOT_ARCHIVE | 422 | Validation | audience.errors.entity.notUsedInCreative.cannotArchive | This item has not been used in a creative and cannot be archived. Delete it instead. |
| Audience | 140112 | ENTITY_ALREADY_ARCHIVED | 422 | Validation | audience.errors.entity.alreadyArchived | This item is already archived |
| Audience | 140113 | ENTITY_ALREADY_DELETED | 422 | Validation | audience.errors.entity.alreadyDeleted | This item has already been deleted |
| Audience | 149902 | AVATAR_UPDATE_FAILED | 500 | Internal | audience.errors.avatar.updateFailed | Failed to update avatar |
| Audience | 149904 | PROBLEM_UPDATE_FAILED | 500 | Internal | audience.errors.problem.updateFailed | Failed to update problem |
| Audience | 149907 | PAIN_POINT_UPDATE_FAILED | 500 | Internal | audience.errors.painPoint.updateFailed | Failed to update pain point |
| Audience | 149910 | ENTITY_DELETE_FAILED | 500 | Internal | audience.errors.entity.deleteFailed | Failed to delete this item |
| Audience | 149911 | ENTITY_ARCHIVE_FAILED | 500 | Internal | audience.errors.entity.archiveFailed | Failed to archive this item |
| Meta | 150104 | META_VALIDATION_ERROR | 422 | Validation | meta.errors.validationError | Ad account timezone is required for Meta launches. |
| Meta | 150106 | META_BACKFILL_ATTRIBUTION_REQUIRED | 400 | Validation | org.errors.integrations.meta.backfill.attributionRequired | org.errors.integrations.meta.backfill.attributionRequired |
| Meta | 150107 | META_BACKFILL_TIMEZONE_REQUIRED | 400 | Validation | org.errors.integrations.meta.backfill.timezoneRequired | Set a timezone for this ad account before starting the lifetime backfill. |
| Meta | 150110 | META_SYSTEM_USER_TOKEN_LIFETIME_REQUIRED | 400 | Validation | org.errors.integrations.meta.systemUserToken.lifetimeRequired | This token expires on {{expiresDate}}. System user tokens must use 'Never' expiry (lifetime). In Business Settings → System Users, click 'Generate New Token', select the Cognis app, and set Token Expiration to 'Never'. |
| Meta | 150111 | META_SYSTEM_USER_TOKEN_REQUIRED | 400 | Validation | org.errors.integrations.meta.systemUserToken.required | A verified system user token is required to launch campaigns. Go to Meta Integration → System User and submit a lifetime token for the business that owns this ad account. |
| Meta | 150112 | META_OAUTH_STATE_INVALID | 400 | Validation | org.errors.integrations.meta.oauth.stateInvalid | Invalid OAuth state. Return to the integration page and start the Meta connection again. |
| Meta | 150113 | META_OAUTH_TOKEN_EXCHANGE_FAILED | 400 | Validation | org.errors.integrations.meta.oauth.tokenExchangeFailed | Meta could not exchange the authorization code for an access token. Try connecting again. |
| Meta | 150114 | META_OAUTH_BUSINESS_NOT_DISCOVERED | 400 | Validation | org.errors.integrations.meta.oauth.businessNotDiscovered | The specified business was not discovered during the Meta OAuth flow. Reconnect the integration and ensure this Business Manager is available to your Meta user. |
| Meta | 150115 | META_SYSTEM_USER_TOKEN_VERIFY_FAILED | 400 | Validation | org.errors.integrations.meta.systemUserToken.verifyFailed | The provided token could not be verified. Check that it is correct and try again. |
| Meta | 150116 | META_SYSTEM_USER_TOKEN_INVALID_OR_EXPIRED | 400 | Validation | org.errors.integrations.meta.systemUserToken.invalidOrExpired | The token is invalid or has expired. |
| Meta | 150117 | META_SYSTEM_USER_TOKEN_WRONG_APP | 400 | Validation | org.errors.integrations.meta.systemUserToken.wrongApp | This token is for Meta app {{tokenAppId}}, but this Cognis environment expects app {{expectedAppId}}. Generate the system user token for the Cognis Meta app, not another app. |
| Meta | 150118 | META_SYSTEM_USER_TOKEN_WRONG_TYPE | 400 | Validation | org.errors.integrations.meta.systemUserToken.wrongType | Expected a System User token but received type '{{tokenType}}'. Generate the token from Business Settings → System Users, not from a personal account. |
| Meta | 150119 | META_SYSTEM_USER_TOKEN_BUSINESS_ACCESS_DENIED | 400 | Validation | org.errors.integrations.meta.systemUserToken.businessAccessDenied | The system user token does not have access to business '{{businessName}}' ({{businessId}}). Ensure the system user belongs to this Business Manager. |
| Meta | 150120 | META_INTEGRATION_ACCESS_TOKEN_MISSING | 400 | Validation | org.errors.integrations.meta.integrationTokenMissing | Meta access token is missing. Connect a Meta account in the integration or submit a verified system user token for this ad account's business. |
| Meta | 150122 | META_INSIGHTS_ACCESS_MATRIX_DENIED | 400 | Validation | org.errors.integrations.meta.insights.accessMatrixPreflightDenied | No system user in the Meta access matrix can access ad account {{adAccountId}}. Open Organization → Integrations → Meta → Access matrix and re-verify, or grant system user access in Meta Business Manager. |
| Meta | 150123 | META_INSIGHTS_COVERAGE_GAP | 400 | Validation | org.errors.integrations.meta.insightsCoverage.gap | Meta insights data is incomplete for the requested date range. Missing days were detected on one or more ad accounts with daily sync enabled. Wait for gap-fill to finish or run a lifetime backfill. |
| Meta | 150124 | META_INSIGHTS_COVERAGE_WINDOW_UNRESOLVED | 400 | Validation | org.errors.integrations.meta.insightsCoverage.windowUnresolved | Cannot verify Meta insights coverage because the query date range could not be resolved. Pin a date range or use a supported time window. |
| Meta | 150125 | META_INSIGHTS_COVERAGE_ACCOUNT_INELIGIBLE | 400 | Validation | org.errors.integrations.meta.insightsCoverage.accountIneligible | One or more ad accounts in this query are not eligible for automated insights sync (sync disabled, missing timezone, or no resolvable integration). |
| Meta | 150126 | META_INSIGHTS_COVERAGE_NO_SYNC_TARGETS | 400 | Validation | org.errors.integrations.meta.insightsCoverage.noSyncTargets | No Meta ad accounts are eligible for insights sync in this organization, so warehouse reads cannot be verified. |
| Meta | 150208 | META_BACKFILL_ALREADY_IN_PROGRESS | 400 | Conflict | org.errors.integrations.meta.backfill.alreadyInProgress | Initial backfill already in progress or completed. It can only be triggered once per ad account. |
| Meta | 150209 | META_ATTRIBUTION_LOCKED | 400 | Conflict | org.errors.integrations.meta.attributionLocked | Attribution window cannot be changed after backfill has started. |
| Meta | 150227 | META_COVERAGE_GAP_SYNC_IN_PROGRESS | 400 | Conflict | org.errors.integrations.meta.coverageGapSync.inProgress | A coverage gap sync is already running for this ad account. Wait for it to finish or try again after 24 hours. |
| Meta | 150302 | META_AUTH_ERROR | 401 | Unauthorized | general.errors.unauthorized | Unauthorized |
| Meta | 150321 | META_INTEGRATION_OAUTH_SESSION_INVALIDATED | 401 | Unauthorized | org.errors.integrations.meta.oauth.sessionInvalidated | Your Meta access token is no longer valid. Reconnect the Meta integration to refresh your session. |
| Meta | 150503 | META_RATE_LIMIT | 429 | Rate Limit | general.errors.general | Error |
| Meta | 159901 | META_API_ERROR | 400 | Internal | general.errors.general | Error |
| Meta | 159905 | META_TRANSIENT_ERROR | 500 | Internal | general.errors.unexpected | Unexpected server error. We've been notified. |
| Invoice | 160002 | NOT_FOUND | 404 | Not Found | invoice.errors.notFound | Invoice not found |
| Invoice | 160103 | BILLING_PROFILES_REQUIRED | 422 | Validation | invoice.errors.billingProfilesRequired | Organization and member billing profiles must be set up before submitting the invoice |
| Invoice | 160104 | CANNOT_DELETE_DEFAULT_BILLING_PROFILE | 422 | Validation | invoice.errors.cannotDeleteDefaultBillingProfile | Cannot delete the default billing profile. Set another profile as default first. |
| Invoice | 160105 | UPDATE_STATUS_INVALID | 422 | Validation | invoice.errors.updateStatusInvalid | Can only update invoices in draft or revision requested status |
| Invoice | 160106 | TRANSITION_INVALID | 422 | Validation | invoice.errors.transitionInvalid | Cannot transition invoice to this status |
| Invoice | 160108 | ISSUE_STATUS_INVALID | 422 | Validation | invoice.errors.issueStatusInvalid | Invoice must be in ready to issue status to issue |
| Invoice | 160109 | ISSUE_NO_LINES | 422 | Validation | invoice.errors.issueNoLines | Invoice must have at least one line item to issue |
| Invoice | 160111 | SEND_STATUS_INVALID | 422 | Validation | invoice.errors.sendStatusInvalid | Invoice must be in issued status to send |
| Invoice | 160113 | DELETE_STATUS_INVALID | 422 | Validation | invoice.errors.deleteStatusInvalid | Only draft invoices can be deleted |
| Invoice | 160115 | LINE_ADD_STATUS_INVALID | 422 | Validation | invoice.errors.lineAddStatusInvalid | Can only add lines to invoices in draft or revision requested status |
| Invoice | 160117 | ALREADY_RETRIED | 422 | Validation | invoice.errors.alreadyRetried | This member has already been retried for this date |
| Invoice | 160118 | MEMBER_NOT_ELIGIBLE_FOR_RETRY | 422 | Validation | invoice.errors.memberNotEligibleForRetry | Member is not eligible for retry (no compensation or left organization) |
| Invoice | 160119 | RECOMPUTE_NOT_ELIGIBLE | 422 | Validation | invoice.errors.recomputeNotEligible | This invoice cannot be recomputed. Only invoices in Member Approval status with time-tracking (ClickUp) or auto-invoicing lines can be recomputed. |
| Invoice | 160120 | RECOMPUTE_CLICKUP_INVOICING_DISABLED | 422 | Validation | invoice.errors.recomputeClickUpInvoicingDisabled | Recomputing time from ClickUp is not enabled for this organization. Ask an admin to grant the invoicing.clickup_time feature or use manual line edits. |
| Invoice | 160121 | BILLING_PROFILE_TYPE_NOT_SUPPORTED | 422 | Validation | invoice.errors.billingProfileTypeNotSupported | This billing profile type is not accepted by this organization. Please choose a supported type. |
| Invoice | 160122 | SUPPORTED_BILLING_TYPE_IN_USE | 422 | Validation | invoice.errors.supportedBillingTypeInUse | {{types}} Allow all types first, have members switch, then remove. |
| Invoice | 160123 | AUTO_INVOICING_DISABLED | 422 | Validation | invoice.errors.autoInvoicingDisabled | Auto-invoicing is disabled for this org. Enable it in settings or use the override. |
| Invoice | 160124 | CREATE_FOR_SKIPPED_NOT_ELIGIBLE | 422 | Validation | invoice.errors.createForSkippedNotEligible | This member cannot use Create anyway. Only members skipped because an invoice already exists for the period are eligible. |
| Invoice | 160125 | BONUS_UPDATE_INVALID | 422 | Validation | invoice.errors.bonusUpdateInvalid | This bonus cannot be changed. Only pending manual bonuses can be edited or cancelled; automatic and team-leader pool bonuses cannot be cancelled here. |
| Invoice | 160501 | CLICKUP_RATE_LIMIT | 429 | Rate Limit | invoice.errors.clickUpRateLimit | ClickUp API rate limit exceeded; try again later |
| Invoice | 169907 | UPDATE_FAILED | 500 | Internal | invoice.errors.updateFailed | Failed to update invoice |
| Invoice | 169910 | ISSUE_FAILED | 500 | Internal | invoice.errors.issueFailed | Failed to issue invoice |
| Invoice | 169912 | SEND_FAILED | 500 | Internal | invoice.errors.sendFailed | Failed to send invoice |
| Invoice | 169914 | DELETE_FAILED | 500 | Internal | invoice.errors.deleteFailed | Failed to delete invoice |
| Invoice | 169916 | LINE_UPDATE_FAILED | 500 | Internal | invoice.errors.lineUpdateFailed | Failed to update invoice line |
| Control Plane | 170101 | FULL_TEST_COVERAGE_REQUIRED | 400 | Validation | controlPlane.errors.fullTestCoverageRequired | Full test requires an exact coverage check before execution. Please retry in a moment or narrow the signal scope. |
| Control Plane | 170102 | FULL_TEST_ROW_LIMIT_EXCEEDED | 400 | Validation | controlPlane.errors.fullTestRowLimitExceeded | Full test is limited to 2,000 rows for interactive use. For time-series signals, choose a larger time bucket (for example week instead of day, or month instead of week). You can also narrow the date range or tighten filters or grouping. |
| Control Plane | 170103 | DIRECTIVE_ACTION_SIGNAL_RESOLUTION | 400 | Validation | controlPlane.errors.directiveActionSignalResolution | Action {{actionType}} needs signal rows at {{entityType}} level. Add a matching group-by (for example meta_adset_id for ad set, meta_campaign_id for campaign) or change the action. |
| Control Plane | 170104 | DRAFT_VERSION_ALREADY_EXISTS | 400 | Validation | controlPlane.errors.draftVersionAlreadyExists | A draft version already exists. Publish it or finish editing it before creating another. |
| Control Plane | 170105 | DIRECTIVE_TEST_RUN_NO_WAREHOUSE_ENTITIES | 400 | Validation | controlPlane.errors.directiveTestRunNoWarehouseEntities | No matching entities in the warehouse for this date range. Load a preview with at least one row, select a row in the table, then run a test execution. |
| Control Plane | 170106 | DIRECTIVE_TEST_RUN_DIRECTIVE_VERSION_REQUIRED | 400 | Validation | controlPlane.errors.directiveTestRunDirectiveVersionRequired | Select or save a directive version before running a test execution. |
| Control Plane | 170107 | DIRECTIVE_TEST_RUN_TRIGGERS_NOT_SINGLE | 400 | Validation | controlPlane.errors.directiveTestRunTriggersNotSingle | At least one signal trigger with a pinned version must be configured for test execution. |
| Control Plane | 170108 | DIRECTIVE_TEST_RUN_FIRST_LINK_NO_SIGNAL_VERSION | 400 | Validation | controlPlane.errors.directiveTestRunFirstLinkNoSignalVersion | The first trigger link must include a pinned signal version. |
| Control Plane | 170109 | DIRECTIVE_TEST_RUN_SIGNAL_VERSION_NOT_FOUND | 400 | Validation | controlPlane.errors.directiveTestRunSignalVersionNotFound | The referenced signal version could not be found. |
| Control Plane | 170110 | DIRECTIVE_TEST_RUN_UNKNOWN_SOURCE | 400 | Validation | controlPlane.errors.directiveTestRunUnknownSource | The signal source could not be resolved. |
| Control Plane | 170111 | DIRECTIVE_TEST_RUN_SOURCE_NO_TARGET_ENTITY | 400 | Validation | controlPlane.errors.directiveTestRunSourceNoTargetEntity | The signal source has no target entity type for test execution. |
| Control Plane | 170112 | DIRECTIVE_TEST_RUN_WAREHOUSE_PREVIEW_NOT_READY | 400 | Validation | controlPlane.errors.directiveTestRunWarehousePreviewNotReady | Load a warehouse preview with at least one row before running a test. |
| Control Plane | 170113 | DIRECTIVE_TEST_RUN_WAREHOUSE_ROW_NOT_SELECTED | 400 | Validation | controlPlane.errors.directiveTestRunWarehouseRowNotSelected | Select a row in the warehouse table before running a test. |
| Control Plane | 170114 | DIRECTIVE_TEST_RUN_SELECTED_ENTITY_REQUIRED | 400 | Validation | controlPlane.errors.directiveTestRunSelectedEntityRequired | Send the selected warehouse entity (type and id) when running a test execution. |
| Control Plane | 170115 | DIRECTIVE_TEST_RUN_SELECTED_ENTITY_TYPE_MISMATCH | 400 | Validation | controlPlane.errors.directiveTestRunSelectedEntityTypeMismatch | The selected entity type does not match this directive’s pipeline resolution. Reload the preview and select a row again. |
| Control Plane | 170116 | DIRECTIVE_TEST_RUN_SELECTED_ENTITY_NOT_IN_WAREHOUSE | 400 | Validation | controlPlane.errors.directiveTestRunSelectedEntityNotInWarehouse | The selected entity was not found in the warehouse result for this query. Reload preview and try again. |
| Control Plane | 170117 | DIRECTIVE_TEST_RUN_SELECTED_RESOLVED_ENTITY_NOT_FOUND | 400 | Validation | controlPlane.errors.directiveTestRunSelectedResolvedEntityNotFound | The resolved entity you selected is not part of the policy output for this preview. Reload preview, pick a signal row, and choose a resolved entity again. |
| Control Plane | 170118 | SET_LIVE_REQUIRES_FULL_TEST | 400 | Validation | controlPlane.errors.setLiveRequiresFullTest | A successful full test run is required before setting a signal version live. Run a full test first. |
| Control Plane | 170119 | META_DIRECTIVE_APP_POLICY_DENIED | 400 | Validation | controlPlane.errors.metaDirectiveAppPolicyDenied | This Meta directive action is blocked by organization access policy ({{policyKey}}). |
| Control Plane | 170220 | SIGNAL_DELETE_BLOCKED | 409 | Conflict | controlPlane.errors.signalDeleteBlocked | This signal cannot be deleted because it is referenced by a live directive or has been used in a production run. |
| Control Plane | 170221 | SIGNAL_VERSION_META_CONFLICT | 409 | Conflict | controlPlane.errors.signalVersionMetaConflict | This signal draft was changed elsewhere. Refresh the page and try saving again. |
| Control Plane | 170222 | DIRECTIVE_DELETE_BLOCKED | 409 | Conflict | controlPlane.errors.directiveDeleteBlocked | This directive cannot be deleted because it is currently live or has been used in a production run. |
| Media Analysis | 180002 | — | 404 | Not Found | mediaAnalysis.errors.brandNotFound | Brand not found. |
| Media Analysis | 180003 | — | 404 | Not Found | mediaAnalysis.errors.assetNotFound | Media asset not found or does not belong to this brand. |
| Media Analysis | 180101 | — | 400 | Validation | mediaAnalysis.errors.notConfigured | Video Intelligence is not configured on this environment. |
| Media Analysis | 180104 | — | 400 | Validation | mediaAnalysis.errors.assetNotReady | Media asset is not ready for analysis. Wait for processing to complete. |
| Media Analysis | 180105 | — | 400 | Validation | mediaAnalysis.errors.assetNotOnGcs | Media asset is not stored on GCS and cannot be analyzed. |
| Media Analysis | 180206 | — | 409 | Conflict | mediaAnalysis.errors.runAlreadyActive | An analysis run is already in progress for this asset. |
| Media Analysis | 189907 | — | 500 | Internal | mediaAnalysis.errors.submitFailed | Failed to submit the analysis request to the provider. |
| Media Analysis | 189908 | — | 500 | Internal | mediaAnalysis.errors.pollTimeout | Analysis did not complete within the expected time window. |
| Media Analysis | 189909 | — | 500 | Internal | mediaAnalysis.errors.providerError | The analysis provider returned an error. |
| Media Analysis | 189910 | — | 500 | Internal | mediaAnalysis.errors.normalizationFailed | Failed to normalize the analysis result. |