Menu
Recursos
Erros
Todas as respostas de erro têm a mesma forma. O doc_url de cada erro aponta para o seu código nesta página.
Tipos de erro
invalid_request400O pedido está mal formado: JSON inválido, um campo que não cumpre o schema ou um cabeçalho com um valor errado. param nomeia o campo quando se aplica. Não tente de novo sem corrigir.authentication401A credencial está faltando, é inválida ou não serve mais (revogada, vencida, suspensa). A resposta traz WWW-Authenticate. Revise a API key ou renove o token.payment_required402A assinatura da organização está bloqueada por falta de pagamento: a API e o MCP ficam pausados até regularizar.permission403A credencial é válida mas não alcança: falta a permissão ou o papel à pessoa por trás (role_required), falta o escopo à credencial, o módulo não está ativo, a API e o MCP não estão habilitados (platform_not_enabled) ou a assinatura não os inclui (platform_requires_paid_plan), ou a organização é de demonstração (demo_read_only). Pedir de novo não muda nada.not_found404Não existe nesta organização, ou sua credencial não pode vê-lo; uma conta externa que não está vinculada responde external_account_not_linked. Nunca dizemos se um registro de outra organização existe: para você, não existe.conflict409O estado não permite a operação: o do registro (já restaurado, já em andamento), um limite (limit_reached), a integração (integration_not_connected, integration_reconnect_required) ou a plataforma externa, que a rejeitou (external_rejected) ou não confirmou um envio (external_outcome_unknown). O code diz qual; alguns trazem details. É guardado na idempotência: com a mesma chave volta a mesma resposta.confirmation_required409A operação pede confirmação (em massa, irreversível, que envia ou muda algo fora do MB Suite, que tem um custo à parte ou das que sempre pedem): primeiro dry_run: true, depois o mesmo pedido com o confirm_token.idempotency422A Idempotency-Key (no MCP, idempotency_key) já foi usada com outro pedido. Use uma chave nova para um pedido novo.rate_limit429Um limite: a rajada da sua credencial (rate_limited), o limite diário ou a espera de uma ação manual (daily_limit_reached, cooldown_active) ou a plataforma externa, que está limitando (external_rate_limited). Espere o que diz Retry-After (segundos) e tente de novo.quota429A organização chegou à sua cota diária. Ela reinicia às 00:00 UTC; details.quota diz qual e quando.maintenance503A plataforma ou o módulo estão em manutenção. Tente de novo depois de Retry-After.upstream502A IA não devolveu um resultado que sirva (ai_generation_failed): vazio, fora do formato ou cortado. Nada foi salvo e não é guardado na idempotência. Os SDKs não o repetem sozinhos: repetir chama a IA de novo (e gasta créditos se ela responder).internal500Algo falhou do nosso lado (a falha de um terceiro nunca é um 500: tem seu próprio código); já ficou registrado. Tente de novo com backoff e, se repetir, escreva para nós com o request_id.Códigos da plataforma
bearer_missing401 authenticationFalta Authorization: Bearer …. Envie sua API key (mbs_live_…) ou seu token de acesso (mbo_…).bearer_invalid401 authenticationO bearer não é uma API key do MB Suite (mbs_…) nem um token de acesso (mbo_…). Verifique se o prefixo está lá.api_key_missing401 authenticationA API key não tem o formato do MB Suite: mbs_live_ seguido de 46 caracteres (as criadas antes de 10-10-2026 têm 40 e continuam valendo).api_key_invalid401 authenticationA API key não existe ou foi copiada incompleta. A API key aparece uma única vez: se você a perdeu, crie outra.api_key_revoked401 authenticationA API key foi revogada e não volta. Crie uma nova em Configurações → API e MCP → API keys. Na tela, o mesmo código responde 409 se você tentar editar uma API key revogada.api_key_suspended401 authenticationA API key está suspensa: alguém a suspendeu, ou a pessoa que ela representa saiu da organização. Um owner ou admin pode reativá-la.api_key_expired401 authenticationA API key chegou à data de vencimento. Edite-a com um novo vencimento ou crie outra.api_key_rotated_out401 authenticationA API key foi rotacionada e as 24 horas de carência terminaram. Use a API key nova.api_key_user_disabled401 authenticationA pessoa que a API key representa está desabilitada no MB Suite.oauth_token_invalid401 authenticationO token de acesso não é válido.oauth_token_expired401 authenticationO token de acesso dura 1 hora. Renove-o com o refresh_token ou autorize de novo.oauth_token_revoked401 authenticationA autorização foi revogada: alguém a desconectou, a pessoa saiu da organização ou um refresh_token antigo foi reutilizado. Autorize de novo.oauth_token_wrong_resource401 authenticationO token foi pedido para outro recurso (resource): um emitido para o MCP não serve na API, nem o contrário. Autorize de novo com o resource desta porta.oauth_user_disabled401 authenticationA pessoa que autorizou o app está desabilitada no MB Suite.authentication_required401 authenticationA operação precisa de uma credencial.session_required401 authenticationA ação precisa de uma sessão iniciada no MB Suite. Só aparece na tela do MB Suite.permission_denied403 permissionA pessoa por trás da credencial não tem permissão para esta operação.crm_action_denied403 permissionA matriz de permissões do CRM não permite essa ação à pessoa por trás da credencial; param diz qual (por exemplo delete_deal). Uma API key nunca pode mais do que a sua pessoa.module_access_denied403 permissionA pessoa não tem o acesso que a operação pede a esse módulo nesta organização, ou o módulo não está ativo. details.module diz qual: pode ser outro módulo de que a operação também precisa (um relatório do CRM, enviar ao Planner).scope_insufficient403 permissionFalta à credencial o escopo que a operação pede (<módulo>:read ou <módulo>:write). Edite a API key; com OAuth, autorize o app de novo e ative «Leitura e escrita» (ou a linha do módulo sensível) no consentimento: escrever vem desligado mesmo quando o app pede.delete_not_allowed403 permissionA credencial não pode excluir. Ative «Permitir exclusões» na API key, ou peça <módulo>:delete ao autorizar com OAuth.role_required403 permissionSó alguns papéis executam esta operação: details.roles diz quais (owner, admin, member, crm_admin) e details.scope onde o papel é verificado: na organização do pedido (organization), só como membro direto dela (direct: o acesso que vem do workspace não conta) ou no workspace da Conta (workspace).demo_read_only403 permissionA organização é de demonstração: os dados são de exemplo e só podem ser lidos. Nada é gravado nem enviado para outra plataforma.organization_archived403 permissionA organização está arquivada: só é possível ler.organization_suspended403 permissionO MB Suite suspendeu o workspace (ou a agência da qual a Conta depende) por descumprir os Termos e Condições: a API e o MCP não respondem e nada é gravado. Não é de cobrança. Se você acha que é um erro, escreva para support@mb-suite.com.platform_disabled403 permissionO MB Suite não abriu a API e o MCP para esta organização ou para esta pessoa (um acesso antecipado que não a inclui, ou uma pausa geral). Não depende da organização: se você acha que é um erro, escreva para support@mb-suite.com.platform_not_enabled403 permissionA API e o MCP não estão habilitados nesta organização. Quem os habilita é um owner ou um admin em Configurações → API e MCP; numa Conta, pelo seu workspace. Enquanto isso, nenhuma API key nem app conectado responde e os webhooks não enviam eventos.platform_requires_paid_plan403 permissionA API e o MCP estão disponíveis nas assinaturas pagas ativas. A assinatura que vale para esta organização está no teste grátis (ou não há uma): funcionam quando estiver paga, em Configurações → Assinatura. Numa Conta, vale a assinatura de quem a paga: o seu workspace, ou a própria Conta se ela paga o próprio plano. details.plan diz se é o teste grátis (trial) ou se não há assinatura (no_plan).connected_content_not_granted403 permissionA organização permite «E-mail e calendário conectados», mas esta credencial não tem isso concedido. Edite a API key ou autorize o app de novo com essa permissão.child_keys_not_allowed403 permissionA agência não permitiu que esta Conta tenha API keys próprias. Elas são permitidas no workspace: Partners → Ver permissões.test_keys_not_available403 permissionRetirado: não é mais emitido. As API keys de teste (mbs_test_…) funcionam e operam na organização de prática do workspace.support_user_required403 permissionSó a equipe de suporte do MB Suite. Só aparece na tela do MB Suite.key_user_above_manager403 permissionVocê não pode criar, editar, rotacionar nem reativar uma API key em nome de alguém com um papel mais alto que o seu. Só aparece na tela do MB Suite.route_not_found404 not_foundNenhum endpoint responde a esse método e essa rota. Confira a referência ou GET /v1/openapi.json.operation_not_found404 not_foundA operação não existe para esta credencial: não está no catálogo, a organização não a tem, ou não é para credenciais externas. Se ela existe mas falta à credencial o escopo, a exclusão ou o papel, a resposta é um 403 que diz o que falta (scope_insufficient, delete_not_allowed, role_required).organization_not_found404 not_foundEssa organização não existe ou sua credencial não a alcança (MB-Organization ou org_id de uma Conta fora do alcance).not_found404 not_foundO registro pedido não existe nesta organização.trash_item_not_found404 not_foundEsse item não está mais na lixeira (foi restaurado, purgado ou passaram os 30 dias) ou, se você o pediu por entity_type + entity_id, não há uma cópia desse registro.webhook_not_found404 not_foundNão há um webhook com esse id nesta organização.delivery_not_found404 not_foundNão há uma entrega com esse id para esse webhook.call_link_target_not_found404 not_foundA pessoa ou o negócio ao qual você quer vincular a chamada não existe nesta organização: param diz qual (person_id ou deal_id).api_key_not_found404 not_foundA API key não existe mais. Só aparece na tela do MB Suite.sandbox_not_found404 not_foundO workspace ainda não tem organização de prática: ela nasce com a primeira API key de teste (Configurações → API e MCP → API keys, ambiente Teste). Se uma API key de teste recebe isso, crie-a de novo.invalid_input400 invalid_requestO input não cumpre o schema da operação. param nomeia o primeiro campo que falhou e details.issues, cada problema (até 10).unknown_field400 invalid_requestO input traz um campo que a operação não tem (um filtro mal escrito, um campo no lugar errado): é rejeitado em vez de ignorado, assim uma lista nunca volta sem filtrar. param nomeia o primeiro e details.unknown_fields, todos. Os mapas (campos personalizados, cabeçalhos) aceitam qualquer chave.invalid_cursor400 invalid_requestO cursor não é válido para esta lista: foi alterado, cortado ou não é dela (param é cursor). Envie next_cursor exatamente como veio, para a mesma lista, ou comece de novo sem cursor.invalid_json400 invalid_requestO corpo não é um JSON válido, ou não é um objeto.body_too_large400 invalid_requestO corpo passa de 1 MB.unsupported_media_type400 invalid_requestEnvie o corpo como JSON com Content-Type: application/json.method_not_allowed400 invalid_requestEssa rota não aceita esse método. O cabeçalho Allow diz quais aceita.405 com Allow quando a rota existe com outro método; 400 quando o método não é GET, POST, PATCH nem DELETE.dry_run_not_supported400 invalid_requestChegou dry_run numa leitura: uma leitura não muda nada e não tem o que pré-visualizar. Chame-a sem dry_run. Em qualquer escrita, pela API e pelo MCP, dry_run: true devolve a prévia (a própria da operação ou a genérica) sem escrever nada, e o needs_confirmation dela diz se executá-la pede o confirm_token.idempotency_key_invalid400 invalid_requestA Idempotency-Key está vazia ou tem mais de 255 caracteres.api_version_invalid400 invalid_requestMB-Version tem que ser uma data AAAA-MM-DD, como a versão vigente.api_version_unsupported400 invalid_requestEssa versão não está ativa. As versões ativas estão no registro de mudanças.scope_empty400 invalid_requestA API key precisa de pelo menos um módulo com leitura ou escrita. Só aparece na tela do MB Suite.scope_unknown_module400 invalid_requestUm dos módulos pedidos não tem operações para API keys. Só aparece na tela do MB Suite.child_scope_agency_only400 invalid_requestSó uma API key de workspace pode alcançar Contas. Só aparece na tela do MB Suite.child_scope_not_allowed400 invalid_requestSó um workspace pode trabalhar ou escutar nas suas Contas. Só aparece na tela do MB Suite.child_scope_unknown400 invalid_requestAlguma dessas Contas não é deste workspace. Só aparece na tela do MB Suite.connected_content_disabled400 invalid_requestA organização não permite «E-mail e calendário conectados»: um owner ativa na aba API keys. Só aparece na tela do MB Suite.key_user_not_member400 invalid_requestA pessoa escolhida não é membro desta organização. Só aparece na tela do MB Suite.test_keys_workspace_only400 invalid_requestAs API keys de teste são criadas num workspace: trabalham na organização de prática dele (uma Conta não tem prática própria). Só aparece na tela do MB Suite.test_key_no_accounts400 invalid_requestUma API key de teste trabalha só na organização de prática: não alcança Contas. Só aparece na tela do MB Suite.test_key_no_connected_content400 invalid_requestA organização de prática não tem e-mail nem calendário conectados: uma API key de teste não leva essa permissão. Só aparece na tela do MB Suite.test_key_user_not_admin400 invalid_requestUma API key de teste age como um owner ou admin do workspace: são eles que entram na organização de prática. Só aparece na tela do MB Suite.webhook_url_invalid400 invalid_requestO endereço do webhook não é uma URL válida. Só aparece na tela do MB Suite.webhook_url_not_https400 invalid_requestO endereço do webhook tem que começar com https://. Só aparece na tela do MB Suite.webhook_url_credentials400 invalid_requestO endereço do webhook não pode levar usuário nem senha: use um cabeçalho fixo. Só aparece na tela do MB Suite.webhook_url_blocked_host400 invalid_requestEsse host não pode ser destino de um webhook. Só aparece na tela do MB Suite.webhook_url_own_host400 invalid_requestOs endereços do MB Suite não podem ser destino de um webhook. Só aparece na tela do MB Suite.webhook_url_private_ip400 invalid_requestO destino resolve para um endereço privado ou interno. Um webhook vai para um servidor público. Só aparece na tela do MB Suite.webhook_url_unresolvable400 invalid_requestO host do destino não resolve no DNS. Só aparece na tela do MB Suite.confirmation_required409 confirmation_requiredA operação pede confirmação (em massa, irreversível, que envia ou muda algo fora do MB Suite, que tem um custo à parte ou das que sempre pedem): rode primeiro com dry_run: true e repita o mesmo pedido com o confirm_token (10 minutos, uma única vez: veja confirm_token_used). details.reason diz se o token venceu (expired), não corresponde a esta operação, input, pessoa e credencial (mismatch) ou veio malformado (malformed). Quando pede porque algo sai para fora ou tem custo, sem token traz details.reason: token_required, details.external (a plataforma) e details.effect (sends, sends_later ou pays); algumas poucas pedem só com certos dados (x-mb-confirm-when).confirm_token_used409 confirmation_requiredEsse confirm_token já foi usado: cada um executa a operação uma única vez, mesmo se essa execução falhou depois de começar (pode ter feito algo). Peça a prévia de novo (dry_run: true) e execute com o token novo. Para repetir um pedido sem risco de executá-lo duas vezes, envie-o com a mesma Idempotency-Key (no MCP, idempotency_key): a nova tentativa devolve o resultado guardado em vez de rodar de novo. details.reason é reused.idempotency_in_progress409 conflictOutro pedido com a mesma Idempotency-Key (no MCP, idempotency_key) ainda está rodando. Tente de novo em alguns segundos (Retry-After).webhook_inactive409 conflictO webhook está desligado: reative-o para reenviar entregas.platform_switch_is_workspace409 conflictA API e o MCP são habilitados pelo workspace, não por uma Conta: valem para todas as suas Contas. Só aparece na tela do MB Suite.module_has_own_switch409 conflict«API e MCP» não é ativado nem desativado como os outros módulos: tem o seu próprio interruptor. Quem o habilita ou desliga é um owner ou um admin do workspace em Configurações → API e MCP (com uma assinatura paga ativa), e vale para todas as suas Contas. organizations.modules.list o marca com blocked_reason: own_switch.api_key_already_rotated409 conflictA API key já foi rotacionada: use a nova. Só aparece na tela do MB Suite.api_key_not_active409 conflictA API key não está ativa para essa ação. Só aparece na tela do MB Suite.api_key_not_suspended409 conflictSó uma API key suspensa pode ser reativada. Só aparece na tela do MB Suite.trash_item_already_restored409 conflictEsse item já foi restaurado.trash_item_purged409 conflictEsse item foi purgado da lixeira e não pode ser restaurado.trash_item_expired409 conflictPassaram os 30 dias da lixeira: o item não pode mais ser restaurado.trash_item_not_restorable409 conflictA cópia não é restaurada automaticamente: é a de um registro absorvido numa mesclagem (details.reason: merged) ou uma cópia de consulta (reference_only), guardada para ver, não para devolver. A lista da lixeira já diz isso antes, com restorable: false e not_restorable_reason.label_pool_unknown409 conflictA etiqueta da lixeira pertence a um tipo de registro que não existe mais.trash_restore_parent_missing409 conflictO que esse item tinha não existe mais (o plano de uma campanha, a tarefa ou a publicação de um comentário, o projeto de uma keyword): nada foi gravado. Se está na lixeira, details.parent_trash_item_id diz qual restaurar primeiro; com details.parent_restorable: false não pode mais voltar, e este item também não (a lista da lixeira mostra isso com not_restorable_reason: parent_gone).integration_not_connected409 conflictA organização (ou a pessoa, se for o e-mail ou o calendário dela) não tem conectada a integração de que a operação precisa. details.platform diz qual (google_ads, meta_ads, google_business_profile, google_search_console, whatsapp, mailbox, calendar…). Conecte-a em Configurações → Integrações (no workspace, se a Conta a herda) e peça de novo. A plataforma não foi consultada.integration_reconnect_required409 conflictA conexão existe mas não serve mais: o token venceu ou foi revogado (details.reason: expired), a conta conectada perdeu o acesso ao que foi pedido (access_lost), falta uma permissão (missing_permission), não é a conta certa (wrong_account) ou falta um dado (incomplete). Reconecte-a em Configurações → Integrações; tentar de novo sem isso não muda nada.external_account_not_linked404 not_foundA conta, ficha, propriedade ou linha externa do pedido (uma conta de Ads, uma ficha do Business Profile, uma propriedade do Search Console) não está vinculada a esta organização: details.platform diz de qual plataforma e param, qual campo. Use uma das que o módulo lista; elas são vinculadas em Configurações → Fontes de dados. A plataforma não foi consultada.external_rejected409 conflictA plataforma externa respondeu que não: um dado que ela não aceita, uma conta desativada ou uma regra dela. details.platform diz qual, details.provider_code traz o código dela (ou null) e, quando não expõe nada interno, details.provider_message o texto dela. Tentar de novo igual não muda nada (com a mesma Idempotency-Key volta esta resposta): corrija o que ela diz e envie o pedido com uma chave nova.external_rate_limited429 rate_limitA plataforma externa está limitando os pedidos (a própria cota por minuto ou por dia). Nada mudou: espere Retry-After e tente de novo. details.platform diz qual. Não é um limite do MB Suite nem gasta a sua cota.external_global_limit429 rate_limitTodo o MB Suite chegou ao limite de hoje de pedidos a essa plataforma pela API e pelo MCP (algumas plataformas têm uma única cota para todas as organizações). Não é a cota da sua organização e nada mudou: libera às 00:00 UTC; Retry-After (também details.retry_after) diz quanto falta e details.platform qual é.platform_terms_restricted403 permissionOs termos dessa plataforma não deixam usar os seus dados ou a sua API por este caminho. Na tela do MB Suite funciona como sempre. details.platform diz qual (a do pedido, como google_ads ou linkedin_page), details.network a sua rede (google_ads, google_business_profile, linkedin, linkedin_members —os comentários, as menções e o restante do conteúdo dos seus membros—, tiktok ou youtube) e details.access o que permite: none (nenhuma credencial) ou own_key (só uma API key da organização pela API REST, não o MCP nem um app conectado). O guia Permissões e escopos lista as plataformas.external_outcome_unknown409 conflictUm envio ou uma escrita que não pode ser repetida sem efeito (um e-mail, um WhatsApp, um SMS, uma publicação) chegou à plataforma e não houve resposta: o tempo esgotou, a conexão caiu ou a plataforma falhou do lado dela. Pode ter saído. Não é repetido sozinho (por isso é 409 e não 503): verifique se saiu (a conversa, o histórico de envios) antes de enviar de novo com uma Idempotency-Key nova. details.platform diz qual.limit_reached409 conflictUm limite de quantidade ou de espaço foi atingido, do plano ou do módulo: details.resource diz de quê (accounts, labels, api_keys, webhooks, jobs, storage…) e details.limit quanto (alguns somam used, requested ou period; o armazenamento cheio, storage, vem em bytes e soma remaining_bytes e requested_bytes). Libere espaço (exclua, arquive ou desative), espere algum terminar ou mude de plano, e peça de novo com uma Idempotency-Key nova.daily_limit_reached429 rate_limitUma ação manual pela API ou pelo MCP tem um limite a cada 24 horas (auditorias, verificações de links…) e ele foi atingido: details.limit diz quantas e Retry-After (também details.retry_after) quando a próxima fica livre. O que está programado continua rodando.cooldown_active429 rate_limitA mesma ação manual rodou há pouco (uma sincronização, uma análise, um teste, um reenvio) e tem uma espera mínima: details.resource diz qual. Espere o que diz Retry-After (também details.retry_after) e peça de novo.ai_generation_failed502 upstreamA IA não devolveu um resultado que sirva (vazio, fora do formato ou cortado) ou o modelo falhou. Nada foi salvo; se a operação cobra créditos, a mensagem diz se foram devolvidos. Pode ser repetido (a resposta não é guardada na idempotência), mas os SDKs não o fazem sozinhos: chama a IA de novo.ai_credits_exhausted402 payment_requiredA bolsa de créditos de IA que paga a chamada não a cobre (desde 2026-11-01 toda operação que chama a IA a usa): details.reason diz por quê (insufficient_credits, sem saldo; category_budget, o teto da categoria, que só existe se um owner ou um admin definiu tetos por categoria; personal_limit, o limite do mês de quem chama) e details.credits_required quanto faltava. Quando o que impede são os créditos extras, details.detail diz por quê: extras_limit (chegou-se ao limite mensal de créditos extras definido pelo owner) ou frozen (os créditos extras estão congelados). A IA não foi chamada e nada foi salvo. Não se resolve pela API: no app (Agentes AI › Consumo) um owner ou um admin recarrega créditos extras, adiciona um nível de IA, redistribui créditos ou remove os tetos por categoria, e o owner aumenta o limite mensal de créditos extras; os limites mudam em Agentes AI › Limites. Avise a pessoa em vez de repetir.ai_personal_limit402 payment_requiredNão é a resposta de uma chamada: é como fica salvo o limite do mês de uma pessoa (402 ai_credits_exhausted com details.reason personal_limit) no estado do que não rodou, por exemplo em embedding_error de um documento ou em ai_error_code de um bloco de IA de um relatório. Ali também podem aparecer ai_credits_exhausted e payment_required. Peça de novo o que não rodou quando o limite permitir ou um owner ou um admin o mudar.job_not_found404 not_foundNão há um trabalho com esse id que você possa ver: não existe, venceu (os trabalhos e seus arquivos duram 7 dias) ou outra pessoa o iniciou (owner e admin veem todos).job_segment_taken409 conflictInterno do executor de trabalhos: outro processo assumiu o trecho e o continua. Não chega a quem chama; o trabalho continua.import_mapping_empty400 invalid_requestNenhuma coluna das linhas vai para um campo. Use os ids de campo como chaves (person.email, person.firstName, company.name, deal.title…) ou envie mappings (ou um modelo com template_id).import_template_mismatch400 invalid_requestO modelo importa para outro destino que o destination pedido. Omita destination (vale o do modelo) ou escolha outro modelo.import_template_not_found404 not_foundNão há um modelo de importação com esse id nesta organização. Liste-os com GET /v1/crm/import-templates.audit_note_invalid400 invalid_requestA nota da auditoria (MB-Audit-Note ou audit_note) precisa ser um texto de 1 a 500 caracteres em uma linha. Se não for ASCII, envie o cabeçalho codificado com encodeURIComponent.idempotency_key_reused422 idempotencyEssa Idempotency-Key (no MCP, idempotency_key) já foi usada nas últimas 24 horas com um pedido diferente. Use uma chave nova.rate_limited429 rate_limitRajada excedida: por API key a cada 10 segundos, por organização a cada minuto, ou por IP (no MCP, o por IP conta só os pedidos sem uma credencial válida: details.scope é ip_without_valid_credential). Espere os segundos de Retry-After (também em details.retry_after); details.limits traz o estado de cada limite.quota_exceeded429 quotaA organização chegou à cota diária de chamadas, leituras, escritas ou operações externas. details.quota traz type, limit, used, remaining e resetsAt (00:00 UTC do dia seguinte).payment_required402 payment_requiredA assinatura da organização está bloqueada por falta de pagamento: a API e o MCP ficam pausados até regularizar. Numa operação que usa créditos de IA, pode ser só a assinatura que paga esses créditos: aí só a IA fica pausada.platform_maintenance503 maintenanceManutenção em andamento. Tente de novo depois de Retry-After.internal_error500 internalErro inesperado do nosso lado. Tente de novo com backoff; se repetir, escreva para nós com o request_id. Com details.code: confirm_secret_missing o servidor está sem a configuração da confirmação do irreversível.Códigos de cada operação
Os que as operações de cada módulo devolvem. O texto é a `message` em inglês que vem na resposta.
access_request_not_allowed403 permissionOnly a direct member, an owner or admin of the organization or of its workspace, or support can ask for Phones.access_request_pending409 conflictThis organization already has a pending Phones access request: MB Suite reviews it within one business day and emails the decision.account_custom_field_not_found404 not_foundNo account custom field with that id in this workspace.account_has_active_subscription409 conflictThe account pays for its own subscription and it is still …: it has to be canceled before the account can be ….account_has_billed_phone_lines409 conflictThe account has … phone line… billed to the workspace: release … in CRM → Settings → Lines first.account_has_outstanding_debt409 conflictThe account has unpaid invoices of its own subscription: it cannot be deleted until they are paid.account_manages_own_members400 invalid_requestThis Account pays its own subscription (billing mode self_pays or independent), so its own team decides who is a direct member: only a person who is also a direct owner or admin of this Account can add people from the workspace this way. Otherwise the Account's owner invites them, or the workspace reaches the Account with the access the Account gives it.account_not_found404 not_foundNo account with that id in this workspace.account_not_in_connection400 invalid_requestThe organization's connection for this platform does not reach that account: link only what integrations.credentials.accounts.list returns for it.account_not_linked400 invalid_requestThe chosen account is not among the candidates of the last verification for this organization.account_required400 invalid_requestOnly an Account (a client organization of a workspace) receives members of its workspace this way; invite people to a workspace with members.invitations.create.account_restore_requires_app409 conflictThis account is paid by the workspace (parent_pays): restoring it puts it back on the workspace's invoice, so it is restored from the app (Accounts → Archived → Restore).accounts_not_listable409 conflictThis connection does not feed Data sources: there are no accounts to list.accounts_workspace_only403 permissionAccounts are managed from the agency workspace, not from inside an account.action_item_not_found404 not_foundNo action item with that id in this meeting.activity_entry_not_found404 not_foundNo activity entry with that id in this organization (an entry about an Account only exists for the people who can see that Account). If it was deleted in the last 30 days, it is in platform.trash.list, and platform.trash.restore brings it back.activity_not_found404 not_foundNo activity with that id in this organization.ad_campaign_not_found404 not_foundNo campaign with that id in this account: list them with the campaigns.list operation.ad_copy_not_found404 not_foundNo ad copy with that id in this organization.ad_creative_not_found404 not_foundNo Ad Creator creative with that id in this organization (Content Studio series are read with social_content_studio.series.get).ad_group_not_found404 not_foundNo ad group (ad set) with that id in this account: list them with the ad_groups.list operation.adhoc_pdf_expired409 conflictThis ad hoc PDF expired and was removed from storage.adhoc_pdf_missing404 not_foundThe PDF file of this ad hoc report is no longer in storage.adhoc_report_not_found404 not_foundNo ad hoc report with that id in this organization. List them with reports.adhoc.list.advertiser_changed_reverify409 conflictChange the advertiser first and verify again before choosing the pixel.agency_workspace_required403 permissionOnly agency workspaces have Accounts.ai_agent_access_denied403 permissionThis agent is restricted to other roles or members of the organization.ai_agent_avatar_not_owned400 invalid_requestThe uploaded avatar does not belong to this organization.ai_agent_draft_expired409 conflictThe files uploaded to this draft expired (drafts last 24 hours): upload them again before saving.ai_agent_editor_required403 permissionViewers cannot create, edit or delete AI agents.ai_agent_id_invalid400 invalid_requestagent_id is used only by the MB Suite app's agent builder: leave it out.ai_agent_in_live_seat409 conflictThis agent works in an AI Team seat of the CRM or the Social Inbox (it attends leads or customers live): changing or deleting it is done from the screen, by a person.ai_agent_knowledge_file_not_allowed400 invalid_requestKnowledge files are uploaded from the screen: through the API, send text entries only.ai_agent_knowledge_removal_not_allowed409 conflictRemoving an uploaded or indexed knowledge entry deletes its fragments and file: it is done from the screen. Send the full list including those entries.ai_agent_not_eligible400 invalid_requestThat AI agent cannot work a position of the CRM AI team: its channel must be whatsapp_crm (it talks to leads over the CRM's WhatsApp and email). Use one with that channel, create it with ai.agents.create (channel whatsapp_crm, or basedOnSystemId crm_setter, crm_qualifier or crm_seller), or send aiAgentId null for the CRM's default agent.ai_agent_not_found404 not_foundNo AI agent with that id in this organization.ai_agent_personalization_exists409 conflictThat system agent already has a personalized version in this organization.ai_agent_personalization_needs_origin400 invalid_requestA personalization (replaces_system_agent) needs based_on_system_id: the system agent it replaces.ai_agent_prompt_too_long400 invalid_requestThe instructions of '…' exceed the …-character limit of an organization agent: send system_prompt with your own.ai_agent_scope_invalid400 invalid_requestscope_org_ids must name an Account of this workspace.ai_agent_system_not_deletable400 invalid_requestSystem agents cannot be deleted.ai_agent_system_unknown400 invalid_requestThere is no MB Suite system agent '…' to personalize or duplicate: use a key from ai.system_agents.list.ai_agent_too_large400 invalid_requestThe agent is too large to save (prompt plus knowledge text): move long texts to fewer, shorter knowledge entries.ai_draft_empty400 invalid_requestThe message has nothing to reply to (no text, attachments or pending turn).ai_not_in_charge409 conflictNo AI position is working this record: to change its owner use crm.deals.update or crm.prospects.update.ai_position_config_invalid400 invalid_requestThe position's configuration does not validate after applying updates${path ? ai_position_inactive409 conflictThe position is turned off: turn it on first (crm.ai_team.positions.set_enabled) or pick another one.ai_position_not_configured409 conflictThat position has no working configuration yet: save it once with crm.ai_team.positions.update.ai_position_not_found404 not_foundNo AI team position with that id in this organization.ai_position_not_operative409 conflictThat position is a scoring position or the deal coach: it cannot own records. Assign them to a Setter, Qualifier or Seller.ai_scoring_screen_only403 permissionTurning a scoring position on queues up to 500 open deals or prospects for background AI scoring that an API key cannot meter yet: turn it on in the app (CRM → AI team). Turning it off works.ai_state_closed409 conflictThe AI already closed this conversation (booked, disqualified or handed off): there is nothing to pause.ai_state_conflict409 conflictAnother AI position is working this record: take it over first (crm.ai_team.take_over), then assign it.ai_state_not_found404 not_foundNo AI state with that id in this organization.ai_state_not_paused409 conflictThe AI is not paused in this record.ai_work_agent_not_yours400 invalid_requestA specialist sets up routines only for itself: leave agent_id out, or hand the conversation to MIA for another agent.ai_work_budget_invalid400 invalid_requestbudget_per_run goes from … (the estimate's minimum) to ….ai_work_deliverable_forbidden403 permissionOnly the routine's owner, an owner or an admin can delete what a routine left.ai_work_deliverable_not_found404 not_foundThe deliverable does not exist in this organization, or the caller can't see it.ai_work_errand_conversation_not_found404 not_foundThe conversation of this errand no longer exists.ai_work_errand_finished409 conflictThe errand already finished: there is nothing to cancel.ai_work_errand_no_access403 permissionErrands are for the people of this organization.ai_work_errand_not_found404 not_foundThe errand does not exist in this organization, or the caller can't cancel it.ai_work_errand_not_from_here400 invalid_requestAn errand is handed to an agent from a conversation or from the screen, never from inside an errand, a routine or a plan.ai_work_errand_org_mismatch400 invalid_requestAn errand lives in the organization of its conversation: call this without org_id and name the Accounts in org_ids.ai_work_errand_scope_invalid400 invalid_requestorg_ids: … is not this organization or an Account of it that the person reaches.ai_work_errands_not_enabled400 invalid_requestErrands are not enabled for this person in this organization yet.ai_work_instructions_required400 invalid_requestA routine without a template needs instructions (20 to 2,000 characters).ai_work_instructions_too_long400 invalid_requestUp to 2,000 characters.ai_work_instructions_with_template400 invalid_requestA routine with a template has no instructions of its own: adjust its inputs instead.ai_work_members_invalid400 invalid_requestmembers must be members of this organization.ai_work_not_enabled400 invalid_requestRoutines are not enabled for this person in this organization yet.ai_work_other_agent403 permissionA specialist works only with its own routines and what they leave: hand the conversation to MIA for this one.ai_work_proposal_not_found404 not_foundThe proposal does not exist in this organization, or the caller can't see it.ai_work_routine_changed409 conflictThe routine changed while you edited it: read it again.ai_work_routine_forbidden403 permissionOnly the routine's owner, an owner or an admin can change it.ai_work_routine_needs_owner400 invalid_requestIts owner no longer reaches this organization: an owner or an admin takes it over first (ai.work.routines.take_over).ai_work_routine_not_found404 not_foundThe routine does not exist in this organization, or the caller can't see it.ai_work_routine_not_owner403 permissionOnly the routine's owner changes what it does, its agent, the Accounts it covers, who sees it or its trigger (it runs with the owner's permissions): an owner or an admin can pause it, delete it or take it over.ai_work_routine_not_takeable400 invalid_requestOnly a routine paused because its owner no longer reaches the organization (owner_no_access) or any of its Accounts (scope_lost) can be taken over.ai_work_routine_paused400 invalid_requestThe routine is paused: resume it first (ai.work.routines.resume).ai_work_routine_trigger_accounts400 invalid_requestA routine with a trigger listens only to the events of its own organization: use scope this_org, or a schedule to cover Accounts.ai_work_schedule_invalid400 invalid_requestThe schedule is not valid: ….ai_work_scope_all_accounts_template400 invalid_requestScope all_accounts goes only with a template that knows when there is nothing to report (all_accounts true in ai.work.routines.templates): for this one, name the Accounts (accounts, up to 20).ai_work_scope_invalid400 invalid_requestWith all_accounts, don't send org_ids: it covers every Account of this workspace.ai_work_scope_no_accounts400 invalid_requestThis workspace has no Accounts that the routine's owner reaches with the template's modules on.ai_work_template_module_access400 invalid_requestThe routine reads with its owner's permissions, and its owner can't see … in ….ai_work_template_modules400 invalid_requestThe template needs … turned on in ….ai_work_template_unknown400 invalid_requestThat template isn't in this organization's routines catalog (ai.work.routines.templates).ai_work_trigger_agent_area400 invalid_request… doesn't work in …, where … happens: pick an agent that works there, or MIA.ai_work_trigger_filter_invalid400 invalid_requesttrigger.filter doesn't fit …: ….ai_work_trigger_invalid400 invalid_requesttrigger.event_type must be one of: ….ai_work_when_invalid400 invalid_requestA routine runs on a schedule or on an event, not both.ai_work_when_required400 invalid_requestSay when it runs: a schedule (frequency and time) or an event.alert_not_found404 not_foundNo alert with that id in this organization (alerts live in the workspace that created them).all_accounts_excluded400 invalid_requestAn account row cannot exclude every connected ad account: it would always add up to zero.all_recipients_suppressed409 conflictEvery recipient is on the suppression list.already_enrolled409 conflictThat address already has an active enrollment in this flow.already_member409 conflictThat email already belongs to a member of this organization.already_published409 conflictThis post already has a published or queued job on …. Duplicate it to publish it again.analyst_exists409 conflictThis organization already has a Sentiment Analyst: update it with social_inbox.positions.update.approval_comment_needs_step400 invalid_requestapproval_comment goes together with a status change to client_review, approved or changes_requested (updates.status): it is recorded as that approval step. For a plain note on the post use social_planner.comments.create.art_pending409 conflictThis post comes from a content plan without art: upload its media before moving it to client_review, approved, scheduled or published.assignee_invalid400 invalid_requestassignee_uid must be a member of this organization (or of its agency) or an active AI Community Manager (ai-<positionId>).assignee_not_member400 invalid_requestThe assignee must be a member of the organization.assignment_rule_not_found404 not_foundNo assignment rule with that id in this organization: take the ids from crm.assignment_rules.list.assignments_workspace_only400 invalid_requestAccount assignments live on the workspace: this organization is an Account.attachment_invalid400 invalid_requestAttachments must be files stored under this organization's email attachments.attachment_outside_org400 invalid_requestEvery attachment key must belong to this organization's note attachments.attachment_too_large400 invalid_requestThe attachment … is larger than 25 MB.attachment_unreadable400 invalid_requestThe attachment … could not be read.audience_already_linked409 conflictThat audience is already linked to this flow.audience_empty409 conflictThe audience has no members right now.audit_dispatch_failed500 internalThe site audit service rejected the audit; it was marked as failed. Retry in a few minutes.audit_issue_ignored409 conflictThat issue was marked as intentional for this audit: reactivate it (seo_site_auditor.issues.unignore) and audit again to turn it into a task.audit_issue_not_found404 not_foundThis audit has no issue with that id (see seo_site_auditor.issues.list).audit_issues_not_found404 not_foundThis audit has no issues to export (it failed or is still running).audit_no_pages409 conflictThis audit has no crawled pages to build the file from.audit_not_completed409 conflictThis audit has no results to export (it failed or is still running).audit_run_not_found404 not_foundNo audit with that id in this organization.audit_site_exists409 conflictThis organization already has an audited site: each account audits one site. Delete it (or change it) before restoring this one.audit_site_not_found404 not_foundNo audited site with that id in this organization.automation_run_in_progress409 conflictA run of this automation is already in progress: wait for it to finish (see media_planner.automation.runs.list).automation_run_not_found404 not_foundNo media plan automation run with that id in this workspace (list them with media_planner.automation.runs.list).bank_entry_not_found404 not_foundNo Content Library entry with that id in this organization.billing_mode_not_supported409 conflictThe platform mode cannot be changed in an independent Account.billing_transition_account_only403 permissionOnly the account itself (its own owners and admins) can accept or reject the request, from the account.billing_transition_account_past_due409 conflictThe account has an unpaid invoice (past_due): it has to settle it before its billing can change.billing_transition_exists409 conflictThis account already has an active request (pending or scheduled).billing_transition_not_cancellable409 conflictOnly a pending or scheduled request can be cancelled.billing_transition_not_found404 not_foundNo billing transition request with that id involves this organization.billing_transition_not_pending409 conflictThe request is no longer pending.billing_transition_requires_self_pays409 conflictOnly an account that pays its own subscription (billing mode self_pays) can be asked to move to agency billing.billing_transition_scheduled_app_only409 conflictThis request is already scheduled: cancelling it re-enables the renewal of the account's subscription in Stripe, which is done from the MB Suite app (Settings → Partners).booker_email_required400 invalid_requestThe person has no email and none was given: pass email (the calendar invitation and the booking emails go there).booking_event_type_not_found404 not_foundNo booking event type with that id in this organization.booking_max_reschedules409 conflictA booking is rescheduled at most … times.booking_not_cancellable409 conflictOnly a confirmed booking can be cancelled (this one is …).booking_not_confirmed409 conflictGuests are added only to a confirmed booking (this one is …).booking_not_found404 not_foundNo booking with that id in this organization.booking_not_reschedulable409 conflictOnly a confirmed booking can be rescheduled (this one is …).brand_import_dns_failed400 invalid_requestThe website's domain could not be resolved.brand_import_invalid_url400 invalid_requestwebsiteUrl must be an http or https URL.brand_import_not_html400 invalid_requestThe address did not return a web page.brand_import_site_error409 conflictThe website could not be reached.brand_import_timeout409 conflictThe website did not answer in time.brand_import_url_blocked400 invalid_requestThat address is not allowed (private, local or blocked host).brand_voice_document_incomplete409 conflictThe document lacks the file data needed to process it again: delete it and upload the file again.brand_voice_document_not_found404 not_foundNo Brand Voice document with that id in this organization.brand_voice_document_not_retryable409 conflictOnly a document whose processing failed (status error) can be processed again.brand_voice_no_sources409 conflictThere is nothing to analyze: connect Instagram, Facebook or YouTube, or upload general context documents to the organization profile.brand_voice_profile_changed409 conflictThe Brand Voice profile changed while this operation was running: read it again and retry.branding_domain_already_set409 conflictThis organization already has the custom domain …: remove it before adding another.branding_font_invalid400 invalid_requestUnknown font '…'. Use one of: ….briefing_invalid400 invalid_requestThe saved briefing no longer passes the current rules: regenerate it with an edited briefing.briefing_missing409 conflictThe strategy has no saved briefing to regenerate from.calendar_edit_not_allowed403 permissionOnly an owner or admin edits another seller's calendar, and only when they allow it (calendar sharing: allow admin edit).calendar_event_not_found404 not_foundNo mirrored event with that id in this seller's calendar.calendar_not_visible403 permissionThis seller does not share their calendar (and bookings) with you.calendar_sync_not_allowed403 permissionYou cannot see this seller's calendar, so you cannot sync it.calendar_vendor_not_found404 not_foundNo calendar with that vendor is available to this credential: API keys and apps read only the calendar of the user they act as.call_not_found404 not_foundNo call with that call_sid in this organization: call_sid is the id of a call of crm.calls.list.campaign_already_sending409 conflictThe campaign is already being sent.campaign_audience_missing409 conflictThe campaign's audience no longer exists.campaign_incomplete409 conflictThe campaign needs recipients (an audience or direct recipients) and content before it can be scheduled.campaign_label_not_found404 not_foundNo campaign label with that id in this organization (labels inherited from the workspace are managed from the workspace).campaign_not_cancellable409 conflictOnly scheduled, queued or sending campaigns can be cancelled.campaign_not_deletable409 conflictOnly draft or cancelled campaigns can be deleted; cancel a scheduled one first.campaign_not_editable409 conflictThe campaign was already sent (or is being sent): only its name can change.campaign_not_schedulable409 conflictOnly draft campaigns can be scheduled, and scheduled ones rescheduled.campaign_not_sendable409 conflictOnly draft or scheduled campaigns can be sent.campaign_not_unschedulable409 conflictOnly a scheduled campaign can be unscheduled; one that is queued, sending or sent is cancelled instead.campaign_override_conflict400 invalid_requestA row appears twice in campaign_overrides, or it is both left out and changed: see details.campaign_ids.campaign_sender_not_on_domain409 conflictThe sender … is not on the account's verified domain (…).campaign_without_audience409 conflictThe campaign has no audience.campaign_without_content409 conflictThe campaign has no content.campaign_without_recipients409 conflictThe campaign has no recipients.canvas_base_deleted409 conflictThe original image of this edit no longer exists.canvas_base_missing409 conflictThe file has no source image.canvas_base_too_large400 invalid_requestThe base image is larger than 25 MB, the editor's limit.caption_too_long400 invalid_requestThe caption plus its hashtags must fit in … characters (the Social Planner limit).carryover_allocations_empty400 invalid_requestAssign a non-zero amount to at least one row.carryover_already_applied409 conflictCarryover was already applied to this plan: revert it first.carryover_disabled409 conflictCarryover is not enabled in this plan (media_planner.plans.update with carryover_enabled).carryover_nothing_to_revert409 conflictThis plan has no applied or dismissed carryover to revert.carryover_over_allocated400 invalid_requestThe allocations add up to more than the available balance: …. Lower the amounts (the balance is in media_planner.carryover.candidates for a source plan, or in source.total_amounts for a manual one).carryover_same_plan400 invalid_requestA plan cannot carry over its own balance.carryover_source_consumed409 conflictThat plan's balance was already carried over into another plan.cascade_too_large409 conflictThe company has too many persons to cascade safely; use the simple delete.catalog_feed_url_app_only403 permissionChanging a catalog's feed URL re-syncs the whole catalog with AI embeddings: it is done from the MB Suite app (CRM → Settings → Catalogs), where the AI credits are checked. Name, frequency and enabled_for_sellers can be changed here.catalog_not_found404 not_foundNo catalog with that id in this organization.catalog_sync_in_progress409 conflictA sync is already running for this catalog; wait for it to finish.client_portal_access_denied403 permissionManaging the client portal's addresses also requires edit access to the Client Portal module.coach_not_configured409 conflictThe AI Deal Coach is off for this organization: an owner or admin turns it on in CRM settings → AI scoring → Coach.comment_delete_denied403 permissionOnly the author or an owner/admin can delete a comment.comment_empty400 invalid_requestThe comment is empty after sanitizing its HTML.comment_not_found404 not_foundNo comment with that id on this action.company_exists_not_visible409 conflictA company with this name already exists in the CRM, but it is outside what you can see (another user owns it). Nothing was created: ask an admin to assign it to you.company_not_found404 not_foundNo company with that id in this organization.connection_without_id400 invalid_requestThe connection has no id for this platform: send the platform's id field (for example external_customer_id for google_ads, property_id for google_analytics).contact_email_exists409 conflictA contact with that email already exists in this organization…: update it, or pass allow_duplicate to create another one.contact_label_not_found404 not_foundNo contact label with that id in this organization. If it was deleted in the last 30 days, it is in platform.trash.list, and platform.trash.restore brings it back.contact_method_required400 invalid_requestA contact needs at least one way to reach it: an email, a mobile or a phone.contact_not_found404 not_foundNo contact with that id in this organization (members and viewers only reach the contacts assigned to their Accounts). If it was deleted in the last 30 days, it is in platform.trash.list, and platform.trash.restore brings it back.content_plain_text_without_content400 invalid_requestcontent_plain_text only travels together with content (it is the plain-text version of that content).context_document_incomplete409 conflictThe document lacks the file data needed to process it again: delete it and upload the file again.context_document_not_found404 not_foundNo context document with that id in this organization's profile.context_document_not_ready409 conflictOnly a processed document (status ready) can be indexed again.context_document_not_retryable409 conflictOnly a document whose processing failed (status error) can be processed again.context_document_without_text409 conflictThe document has no extracted text to index.conversation_exists_on_line409 conflictThat number already has a conversation on that WhatsApp line (details.conversation_id): write in that conversation instead.conversation_line_mismatch409 conflictThe conversation belongs to another WhatsApp line (details.conversation_line), and Meta counts the 24-hour window per number: send from that line, or write from the other one with crm.conversations.start or crm.whatsapp.send_template without conversationId.conversation_not_found404 not_foundNo CRM conversation with that id in this organization.conversation_not_of_record400 invalid_requestThe conversation is not linked to that deal or prospect (its dealIds or prospectIds): pass the conversation the record is taken from, or none.conversions_not_verified409 conflictVerify the connection before enabling (no … selected).country_invalid400 invalid_requestNot ISO 3166-1 alpha-2 country codes: …. Use two-letter codes like ar, mx or us (or global).credential_not_found404 not_foundNo connection with that id in this organization (an Account's inherited connection is managed from its workspace).crm_enabled_required_while_linked409 conflictThe form is linked to a CRM lead source: unlink it before turning crm_enabled off.crm_entity_not_found404 not_foundNo CRM … with that id in this organization.crm_invalid_source400 invalid_requestsource_id is not a direct-message lead source of this organization for that network.crm_linked409 conflictThis direct message belongs to the CRM: the Inbox AI does not draft for it.crm_report_not_inheritable400 invalid_requestCRM reports of the workspace cannot be inherited by an account.crm_reports_access_denied403 permissionYou cannot read CRM reports in this organization.crm_user_already_added409 conflictThe user is already in the CRM team.crm_user_not_found404 not_foundThe user is not in the CRM team: take the ids from crm.team.list.cross_account_dashboard_not_found404 not_foundNo cross-account dashboard with that id in this workspace. List them with dashboards.cross_account.list.cross_account_explorer_view_not_found404 not_foundNo cross-account explorer view with that id in this workspace. List them with dashboards.cross_account_explorer_views.list.cross_account_table_single_platform400 invalid_requestA cross-account view table reads one platform across the accounts: use type single with its platform (platforms is for explorer views).currency_row_exists409 conflictThis account-mode plan already has a row in that currency: it has one row per currency.custom_field_invalid400 invalid_requestThe value of '…' must be ….custom_field_name_invalid400 invalid_requestThe name has no letters or digits to build the field key from; send a slug.custom_field_not_found404 not_foundNo custom field with that id in this organization.custom_field_not_writable400 invalid_request'…' is a files field: files are uploaded from the app, not through the API.custom_field_slug_taken409 conflictAn account custom field with the key '…' already exists.custom_field_unknown400 invalid_requestThere is no account custom field with the key '…'${defs.length ? custom_field_unknown_id400 invalid_requestUnknown field id(s): ….custom_fields_conflict400 invalid_requestSend customFields (replaces the whole map) or mergeCustomFields (changes only the keys sent), not both.custom_metric_name_taken409 conflictA custom metric with that name already exists in this workspace.custom_metric_not_found404 not_foundNo custom metric with that id in this workspace. List them with dashboards.custom_metrics.list.dashboard_not_found404 not_foundNo dashboard with that id in this organization. List them with dashboards.dashboards.list.data_source_ambiguous400 invalid_requestThe account '…' is connected on more than one platform (…): pass the id of dashboards.data_sources.list, platform:id.data_source_not_linked400 invalid_requestThese data sources are not connected to this organization: …. List the valid ones with dashboards.data_sources.list.data_source_slot_unknown400 invalid_requestThese keys are not data slots of the template: …. ${valid.length > 0 ? data_sources_forbidden403 permissionYou cannot manage the data sources of this organization: an Account's inherited platforms are managed by its workspace, and viewers manage none.date_in_past400 invalid_requestscheduledAt must be in the future.date_range_invalid400 invalid_requestSend start_date and end_date together (or neither, to use period).date_range_too_long400 invalid_requestThe date range can span at most … days.deal_merged409 conflictThe deal was absorbed by a merge.deal_not_closed409 conflictThe deal is open: only a won or lost deal can be reopened. To move it, use crm.deals.move.deal_not_found404 not_foundNo deal with that id in this organization.deal_not_of_person400 invalid_requestThe deal is not linked to every person being enrolled.deal_not_won409 conflictwonAt can only be edited on a won deal.deal_without_person409 conflictThe deal has no primary person to take the firmographics from: link one (crm.deals.update with primaryPersonId) or pass personId.default_data_source_invalid400 invalid_request'…' is not a data slot nor a platform of this template. Valid: ….delivery_empty409 conflictThe delivery has no content: add report templates (templateIds) or dashboard links (contentItems) first.delivery_label_not_found404 not_foundNo delivery label with that id in this organization. List them with deliveries.labels.list.delivery_no_recipients409 conflictThe delivery has no recipients: set emailConfig.recipients first.delivery_send_in_progress409 conflictThis delivery is being sent right now: wait for that send to finish (a minute or two) and retry.delivery_send_needs_schedule409 conflictThis delivery renders … report PDF… with live platform data (up to two minutes each), beyond the API's 60-second request budget. Schedule it instead with deliveries.deliveries.schedule (type one_shot, send_at a minute or more ahead): the scheduler sends it within 15 minutes and fires deliveries.delivery.sent or deliveries.delivery.failed.delivery_send_not_found404 not_foundNo send with that id in this delivery's history.design_invalid400 invalid_requestThe design could not be rendered: check its settings and sections.do_not_contact409 conflictNothing was sent: a recipient is marked do-not-contact or unsubscribed (details.recipients lists each one). Only a person of the team can confirm a message to them, and only one about their account, a charge or support, or one the person asked for; details.overridable is false when not even that can send it.do_not_contact_override_not_allowed403 permissionAn AI agent's API key cannot confirm a message to a person marked do-not-contact or unsubscribed: only a person of the team can.do_not_contact_reason_required400 invalid_requestdo_not_contact_override needs a reason (3 to 500 characters) outside the app: it is recorded with the send.document_unreadable400 invalid_requestNo text could be extracted from the file (unsupported, empty or unreadable).domain_in_use409 conflictThat domain is already registered in MB Suite's hosting. If it is yours, contact support.domain_reserved400 invalid_requestThat address belongs to MB Suite or its hosting. For an mb-suite.com address use the subdomain operation.duplicate_field_id400 invalid_requestThe field id '…' appears twice.duplicate_field_slug400 invalid_requestThe slug '…' appears twice.duplicate_ids400 invalid_requestordered_ids repeats …: …. Send each team member once.duplicate_label_ids400 invalid_requestlabelIds has repeated ids.duplicate_not_supported409 conflictOnly posts created in MB Suite can be duplicated (a post synced from a network has no editable content).duplicate_phase_id400 invalid_requestThe phase id '…' appears twice.duplicate_status_id400 invalid_requestThe status id '…' appears twice.duplicate_step_ids400 invalid_requestordered_ids has repeated ids.duplicate_template_ids400 invalid_requestEach template id can appear only once.email_audience_not_found404 not_foundNo audience with that id in this organization. If it was deleted in the last 30 days, it is in platform.trash.list, and platform.trash.restore brings it back.email_campaign_not_found404 not_foundNo email campaign with that id in this organization. If it was deleted in the last 30 days, it is in platform.trash.list, and platform.trash.restore brings it back.email_domain_already_set409 conflictThis organization already sends from …: remove it before adding another.email_domain_in_use409 conflictThat domain is already registered as the sending domain of another organization.email_domain_not_verified409 conflictThe sending domain is not verified yet: senders can be added once its DNS records are confirmed (branding.email_domain.verify).email_flow_archived409 conflictThe flow is archived: unarchive it (activate or pause) before enrolling contacts.email_flow_enrollment_not_found404 not_foundNo flow enrollment with that id in this organization.email_flow_not_found404 not_foundNo email flow with that id in this organization. If it was deleted in the last 30 days, it is in platform.trash.list, and platform.trash.restore brings it back.email_flow_step_not_found404 not_foundNo step with that id in this flow.email_invalid400 invalid_requestThe part before @ is not a valid mailbox name.email_mailbox_not_found404 not_foundNo mailbox with that owner is available to this credential: API keys and apps read only the mailbox of the user they act as.email_sender_missing409 conflictAdd a sender on the verified domain (Branding > Email) before sending test emails with an API key or an app.email_sender_not_found404 not_foundNo sender with that id in this organization's email domain.email_sending_paused409 conflictMB Suite paused this account's email sending (details.kind: bounce_rate when a campaign or flow had a hard bounce rate over 5%, manual when MB Suite decided it; details.held_at says since when): no campaign or flow email goes out until it is resumed. Contact support@mb-suite.com.email_suppressed409 conflictThat address is on the organization's suppression list (unsubscribed, bounced or complained).email_suppression_not_found404 not_foundThat email is not on this organization's suppression list.email_template_empty409 conflictThe template has no content to send.email_template_in_use409 conflictThe template is used by the flow "…": change that step first.email_template_not_found404 not_foundNo email template with that id in this organization. If it was deleted in the last 30 days, it is in platform.trash.list, and platform.trash.restore brings it back.email_thread_not_found404 not_foundNo thread with that id in this mailbox, or the mailbox is private to you.empty_body400 invalid_requestThe email body is empty after removing what is not allowed (scripts, forms, event handlers).empty_content400 invalid_request… has no text: write something (HTML or plain text).entity_not_found404 not_foundThe entity does not exist in this organization or is out of your scope.entry_not_editable400 invalid_requestSystem events (type auto_event) are written by MB Suite and cannot be edited.errand_budget_invalid400 invalid_requestbudget_credits is one of … (the options of the estimate).event_type_has_upcoming_bookings409 conflictThe event type has upcoming confirmed bookings: disable it instead.event_type_not_found404 not_foundNo booking event type with that id in this organization.event_type_not_of_vendor400 invalid_requestThat event type belongs to another person, not to vendor_user_id.event_type_of_another_seller403 permissionEvery id must be an event type of that seller.event_type_required400 invalid_requestPick an event type (event_type_id) or send all_event_types true.event_type_slug_taken409 conflictThe seller already has an event type with that slug.explorer_view_not_found404 not_foundNo explorer view with that id in this organization. List them with dashboards.explorer_views.list.fallback_user_required400 invalid_requestfallback specific_user needs fallback_user_id (a person or an AI agent of the CRM team).feed_url_invalid400 invalid_requestThe feed URL is not a valid URL.feed_url_not_https400 invalid_requestThe feed URL must use https.field_mapping_missing_contact400 invalid_requestA generic webhook source must map at least one incoming field to person.email or person.phone.field_mapping_unknown_crm_field400 invalid_requestfield_mapping[…].crm_field '…' is not a CRM field the ingestion can write. Accepted: ….field_mapping_unknown_custom_field400 invalid_requestNo CRM custom field with the slug ${missing.map((s) => field_not_applicable400 invalid_requestplatform_custom_name only applies to the 'other' platform.field_not_editable400 invalid_request'…' cannot be edited on ….field_not_in_mode400 invalid_requestThe field … does not apply to a plan in … mode.field_slug_change_not_supported400 invalid_requestThe field '…' keeps its slug '…': its values are stored under it.field_type_change_not_supported400 invalid_requestThe field '…' is of type …; an item field keeps its type (its values were saved in that format). Add a new field instead.file_too_large400 invalid_requestThe uploaded file has … bytes: the Files tab takes files from 1 byte up to 50 MB.filename_invalid400 invalid_requestThe file name does not produce a valid storage key: use letters, digits, dots, dashes or underscores.filter_not_allowed400 invalid_requestOnly dynamic lists have a filter.first_name_required400 invalid_requestA contact needs a first name.flow_step_without_template409 conflictEvery email step needs a template before the flow can be activated.flow_steps_invalid409 conflictSome steps are not configured: ….flow_too_many_steps409 conflictA flow can have at most … steps.flow_without_email_step409 conflictThe flow needs at least one email step before it can be activated.folder_cycle400 invalid_requestA folder cannot be moved inside itself or one of its subfolders.folder_name_invalid400 invalid_requestThe folder name is empty once control characters are removed.folder_too_large_to_delete409 conflictThis folder holds … subfolder(s) and … file(s): deleting its contents through the API is limited to … so they can be restored together. Move or delete files in bulk first (media_library.items.bulk.delete), or delete it with mode move_contents_up.format_not_available400 invalid_requestThe format '…' is not available on … (TikTok only takes reels; LinkedIn and LinkedIn profiles feed, carousel and document; X and Google Business Profile only feed).freemail_domain400 invalid_request… is a public mailbox provider and cannot be an own domain.from_alias_not_enabled400 invalid_requestThat alias is not enabled for the sender's mailbox.from_alias_unsupported400 invalid_requestSending from an alias is not available for Outlook mailboxes.goal_not_found404 not_foundNo goal with that id in this organization.goal_owner_not_member400 invalid_requestThe goal owner (userId) must be a member of the organization.goal_owner_required400 invalid_requestAn individual goal needs userId: the member it belongs to.group_requires_module400 invalid_requestgroup needs module: group ids repeat across modules. Call platform.catalog with module to list its groups.guest_not_member400 invalid_requestOnly people of the organization (or of its workspace, for an account) can be added as guests: details.emails lists the ones that are not.human_agent_not_approved409 conflictMeta did not accept the human-agent tag for this conversation (the 24-hour window is over).ignore_rule_exists409 conflictThis site already has an equivalent rule for that issue (same issue and URL pattern).ignore_rule_not_found404 not_foundThis site has no intentional rule with that id.import_requires_campaigns_mode400 invalid_requestCampaigns can only be imported into a plan in campaigns mode.import_same_plan400 invalid_requestThe source plan is the same plan: pick another one.import_template_dedup_mismatch400 invalid_requestdedup_strategy (…) and behavior.deduplication (…) disagree: the import uses behavior.deduplication; send only one.inbox_item_not_found404 not_foundNo inbox item with that id in this organization.inbox_label_not_found404 not_foundNo inbox label with that id in this organization.inbox_note_not_found404 not_foundNo note with that id on this inbox item.inbox_position_not_found404 not_foundNo active AI team position with that id in this organization.inbox_rule_not_found404 not_foundNo inbox rule with that id in this organization.inbox_snippet_not_found404 not_foundNo saved reply (snippet) with that id in this organization.inbox_sync_disabled409 conflictThe Social Inbox is off in this organization: an owner or admin turns it on from the Social Inbox screen (it is the organization's consent to bring in its messages). Nothing was synced.inbox_thread_not_found404 not_foundNo inbox thread with that id in this organization.inheritance_changed409 conflictThe platform's inheritance changed while saving: try again.inherited_view_not_found404 not_foundNo inherited explorer view with that reference id in this account. List them with dashboards.inherited_explorer_views.list.insufficient_balance409 conflictThe Phones balance does not cover this SMS (estimated … cents for … segment(s)). Top up the balance from the Phones screen.interest_not_found404 not_found'…' is not a prospect status (interest) of this organization: list them with crm.prospects.interests.list.invalid_account400 invalid_requestThe account is not an Account of this workspace.invalid_alert_user400 invalid_requestinvalid_connection400 invalid_requestThe connection is not valid for this platform: it needs the platform's id field (see the connection description).invalid_data_query400 invalid_request… cannot apply these filters: ….invalid_date400 invalid_requeststart_date and end_date must be valid dates (YYYY-MM-DD).invalid_domain400 invalid_requestNot a valid hostname: use letters, digits and hyphens, like app.youragency.com (no scheme, port or path).invalid_file_url400 invalid_requestThe file URL is not one of the allowed storage URLs: ….invalid_filter400 invalid_requestFilter on '…' with '…' cannot be applied: …invalid_logo_url400 invalid_requestlogo must be the URL of an image in this organization's MB Suite branding storage (the profile logo or a Branding asset). Upload new images from the screen.invalid_metric400 invalid_request'…' is not an alertable metric of …: use one listed by alerts.metrics.list.invalid_month_range400 invalid_requestfrom_month must be the same month as to_month or an earlier one.invalid_order400 invalid_requestorder must list the ids of the linked accounts.invalid_phone400 invalid_request'…' cannot be read as a phone number${country ? invalid_priority400 invalid_requestUnknown priority '…': use one of task_management.config.get.invalid_range400 invalid_requestcreated_after is later than created_before.invalid_site_url400 invalid_requestThe site URL is not valid: use the https address of a public website (e.g. https://example.com).invalid_status400 invalid_requestUnknown status '…': use one of task_management.config.get.invalid_storage_url400 invalid_requestThe file URL is not an MB Suite storage URL: ….invalid_subdomain400 invalid_requestA subdomain is 3 to 63 lowercase letters, digits or hyphens, not starting or ending with a hyphen.invalid_table_filter400 invalid_requestUnknown filter operator '…'.invalid_target400 invalid_requestThe target must be this workspace or one of its Accounts (one the credential reaches).invalid_template_filter400 invalid_requestA global filter of the template is not valid (a repeated id, a field its platform cannot filter by, an operator that does not apply to the field or a value that does not fit the operator): param names the filter and the part (filters.<n>.id, field, operator or value) and the message says why.invalid_template_filter_control400 invalid_requestA filter control of the template is not valid (param names which one): …invalid_template_pages400 invalid_requestThe page id '…' is repeated.invalid_time_range400 invalid_requestto must be after from.invalid_timezone400 invalid_requesttime_zone is not a valid IANA time zone (for example America/Argentina/Buenos_Aires).invalid_watcher400 invalid_requestinvitation_expired409 conflictThe invitation expired: cancel it and invite the person again.invitation_not_found404 not_foundNo invitation with that id in this organization.invitation_not_pending409 conflictThe invitation was already …: only a pending invitation can be resent or cancelled.item_name_invalid400 invalid_requestThe file name is empty once control characters and slashes are removed.item_status_not_found400 invalid_request'…' is not one of the project's item statuses (…); use "" for no status.item_without_project400 invalid_requestitem_id needs project_id (an item belongs to a project).kb_comment_not_found404 not_foundNo comment with that id on this article. If it was deleted in the last 30 days, it is in platform.trash.list, and platform.trash.restore brings it back.kb_delete_denied403 permissionOnly the article's creator or an owner/admin can delete it.kb_item_not_found404 not_foundThese ids are not articles you can see in this organization: ….kb_tag_name_taken409 conflictA tag named '…' already exists in this organization (id …): use it instead of creating another.kb_tag_not_found404 not_foundNo Knowledge Base tag with that id in this organization. If it was deleted in the last 30 days, it is in platform.trash.list, and platform.trash.restore brings it back.kb_visibility_change_denied403 permissionOnly the article's creator or an owner/admin can change its visibility.key_grant_not_org_member403 permissionSpecial permissions are given and managed only by an owner or admin of this organization, on a key that acts as a person of this organization: MB Suite staff cannot.key_user_cannot_access_item400 invalid_requestThe key's user cannot use the vault item '…' (custom access).key_vault_item_not_found400 invalid_requestNo vault item '…' in this organization.knowledge_entry_not_found404 not_foundNo knowledge file with that entry_id in the … block: crm.settings.scoring.get lists them.knowledge_text_empty400 invalid_requestThe text has nothing to index (only spaces or page numbers).label_not_found404 not_foundNo label with that id for that entity in this organization.label_unknown400 invalid_requestThese labels do not exist in this organization: …. List them with ….last_owner409 conflictThe organization must keep at least one owner: make someone else an owner first.last_sender409 conflictThe sending domain keeps at least one sender: add another before removing this one.lead_source_already_linked409 conflictThat lead source is already linked to another form.lead_source_exists409 conflictThe WhatsApp line of this lead source already has another active source: delete or pause that one first (one active source per line).lead_source_not_found404 not_foundNo lead source with that id in this organization: take the ids from crm.lead_sources.list.lead_source_not_targetable400 invalid_requestsourceId must be a generic or manual source; platform sources are fed by their own integration.lead_source_paused409 conflictThis lead source is paused: reactivate it or omit sourceId to use the API source.lead_source_system_locked409 conflictSystem sources (Manual, API) only accept routing defaults and AI scoring; locked fields: ….lead_source_type_invalid400 invalid_requestThe lead source is not of type mb_suite_form: pass create_source: true to create one for this form, or create it in CRM settings → Sources → MB Suite Form.lead_sources_not_found404 not_foundNone of the given ids is a lead source of this organization.line_has_active_lead_source409 conflictThis WhatsApp line feeds an active CRM lead source: delete the source before moving the line to another destination.line_module_mismatch400 invalid_requestThe sending line belongs to another part of the product than the conversation: send from the conversation's own line.line_module_required403 permissionWithout a conversation, templates are sent from the CRM module.line_not_active409 conflictThe line is not active: only an active line sends SMS.line_not_found404 not_foundNo WhatsApp line with that line_id in this organization: line_id is the id of a line of crm.lines.list.line_whatsapp_locked409 conflictThis line is dedicated to WhatsApp and cannot place outgoing calls.link_incomplete400 invalid_requestLinking a campaign needs mapped_campaign_id (the real campaign id) and external_customer_id (its connected ad account, from ads_visualizer.accounts.list) together.linkedin_mentions_invalid400 invalid_requestlinkedinMentions must be up to 20 valid LinkedIn mentions (urn:li:organization|person, name, kind).list_is_dynamic400 invalid_requestA dynamic list takes its members from its filter; they cannot be added by hand.list_not_dynamic400 invalid_requestOnly dynamic lists can be linked to a sequence for auto-enrollment.list_not_found404 not_foundNo list with that id in this organization.mailbox_private403 permissionThis mailbox is private to its owner (or to the users they chose).management_role_not_found404 not_foundNo management role with that id in this organization.media_folder_not_found404 not_foundNo folder with that id in this organization's media library. If it was deleted in the last 30 days, it is in platform.trash.list, and platform.trash.restore brings it back.media_foreign_storage400 invalid_requestA media file of the post points to another organization's storage.media_item_not_found404 not_foundNo file with that id in this organization's media library. If it was deleted in the last 30 days, it is in platform.trash.list, and platform.trash.restore brings it back.media_not_in_library400 invalid_requestMedia must be files of this organization's Media Library (their MB Suite storage URL). Upload them in MB Suite first.media_not_of_conversation400 invalid_requeststoragePath must be a file uploaded to this conversation (crm.whatsapp.uploads.create) or a file of the organization's media library: a file of another conversation is not sent.media_outside_org400 invalid_requeststoragePath must be a file of this organization's WhatsApp media or media library.media_plan_comment_not_found404 not_foundNo comment with that id on this campaign.media_plan_row_not_found404 not_foundThese ids are not rows of the plan: ….media_plan_template_not_found404 not_foundNo media plan template with that id in this organization.media_plan_too_large_for_trash409 conflictThis plan has … rows and the trash keeps up to … records with a plan: deleting it here would lose the rest for good. Delete some of its rows first (media_planner.campaigns.bulk.delete: each one goes to the trash on its own), then the plan.meeting_on_own_calendar400 invalid_requestA meeting is scheduled on your own calendar: omit vendorUserId (or pass your own uid).member_access_would_drop409 conflictThat person is … of the workspace and already reaches this Account with that role; as a direct member they would get … instead. Give at least …, or leave it as it is.member_caller_required403 permissionCRM analytics are computed for a member of the organization: run it as a real user, not as a system actor.member_label_not_found404 not_foundNo member label with that id in this organization.member_not_found404 not_foundNo member with that user id in this organization.merge_choice_unknown400 invalid_request'…' is not a field you can choose in a … merge. Fields: … (crm.merge.preview lists the conflicts).merge_entity_not_found404 not_foundOne of the entities does not exist in this organization.merge_same_entity400 invalid_requestsurvivorId and loserId must differ.message_not_found404 not_foundNo message with that id in this organization.metrics_context_too_large400 invalid_requestmetrics_context must be at most … characters as JSON.mia_outcome_unknown409 conflictA previous attempt of this change was interrupted halfway and may have run: it is not repeated. Read the current state before trying again.mixed_view_lists400 invalid_requestview_ids mixes Explorer views and CRM reports: reorder each list on its own.module_coming_soon409 conflictThis module is not released yet: it cannot be turned on or off until it is.module_is_paid409 conflictThis module is a paid add-on: it is activated (and charged) from Settings → Modules in the app, not here.module_locked409 conflictThis module is part of the base platform: it is always on and cannot be turned on or off.module_not_available404 not_foundThis module is not available for this organization (its plan category, or it is not released).module_not_configurable400 invalid_request'…' is not a module whose access an account can cap.module_not_enabled400 invalid_requestThe module '…' is not active in this account.module_not_found404 not_foundNo module '…' is available to MIA in this organization: use a module id from the index in your context.module_requires_paid_plan409 conflictThis Account is dormant (managed by its workspace, without a plan of its own): this module needs the Account to be activated with a paid plan first.monitor_assignment_not_found404 not_foundNo monitor is assigned to that platform in this organization.monitor_template_not_found404 not_foundNo monitor template with that id in this organization.month_filter_conflict400 invalid_requestUse month_key for one month, or from_month/to_month for a range, not both.name_required400 invalid_requestA campaign needs a name.nested_reply400 invalid_requestReplies are one level deep: reply to the top-level entry (this one's parent_entry_id).nested_subtask400 invalid_requestA subtask cannot have subtasks of its own: pass the id of a top-level task.no_active_project_type409 conflictAll project types are archived: unarchive one or create a type first (projects.types.create).no_campaigns_to_copy400 invalid_requestexclude_campaign_ids leaves out every row of the plan: there is nothing to copy.no_changes400 invalid_requestNothing to update.no_done_status409 conflictThis organization has no status in the DONE category to complete tasks with.no_parent_workspace400 invalid_requestOnly an account can use an inherited monitor: this organization is a workspace.no_publish_jobs409 conflictNo publish job could be created: none of the post's networks has a usable connection.no_valid_recipients400 invalid_requestNone of the given addresses is a valid email.not_a_direct_member409 conflictOnly a direct member can leave the organization; agency access to an Account is managed from the workspace.not_a_meeting400 invalid_requestOnly meetings have action items: this entry is not a meeting.not_an_account400 invalid_requestinclude_workspace_notes is for an Account: call it with the org_id of an Account (in a workspace, filter with child_org_id instead).not_an_image400 invalid_requestOnly images can be edited with the canvas editor.nothing_to_apply400 invalid_requestNo item of the pack is included: nothing to create.nothing_to_change400 invalid_requestSend add_tag_ids, remove_tag_ids or both.nothing_to_retry409 conflictThis post has no failed publish job to retry.order_mismatch400 invalid_requestorder must contain exactly the ids of the linked accounts of this platform, each once.organization_changed409 conflictThe organization changed while the slug was being saved: retry.owner_cannot_leave409 conflictAn owner cannot leave the organization: another owner has to change their role first.owner_not_found404 not_found'…' is not a member nor an AI position of this organization: members.members.list and crm.ai_team.positions.list list them.owner_not_member400 invalid_requestThe owner must be a member of the organization.parent_mismatch403 permissionExplorer views can only be inherited from this account's own workspace.parent_view_not_found404 not_foundThese views do not exist in the workspace: ….participant_not_found400 invalid_requestThese participants are not people with access to the organization nor AI agents of the CRM team: …. Take them from crm.team.list.partner_account_not_found404 not_foundNo account with that id belongs to this workspace.partner_invitation_email_invalid400 invalid_requestThe email address is not valid.partner_invitation_exists409 conflictThere is already a pending invitation for this email: resend it (partners.invitations.resend) or cancel it first.partner_invitation_not_found404 not_foundNo partner invitation with that id was sent by this organization.partner_invitation_not_pending409 conflictThe invitation is no longer pending (it was accepted, declined or cancelled).partner_invitation_own_member400 invalid_requestThat email belongs to a member of this workspace: a partner is another organization.partner_organization_not_found404 not_foundOne of the organizations of this request no longer exists.partners_accounts_access_required403 permissionInviting partners requires edit access to Accounts in this workspace: only agency workspaces link other organizations as accounts.partners_workspace_only409 conflictOnly a workspace (an organization without a parent) can do this: an account cannot invite partners or request billing changes.pdf_render_failed500 internalThe PDF could not be rendered. Retry later.pdf_render_timeout409 conflictRendering the PDF timed out. Try a shorter date range or fewer widgets, and retry.permission_preset_not_found404 not_foundNo permission preset with that id in this organization.permissions_owner_admin400 invalid_requestOwners and admins always have full access: their module permissions cannot be overridden.person_exists_not_visible409 conflictA person with this email already exists in the CRM, but it is outside what you can see (another user owns it). Nothing was created: ask an admin to assign it to you.person_not_found404 not_foundNo person with that id in this organization.person_not_in_deal400 invalid_requestThe person is not linked to this deal (primary person or one of its persons).phase_dates_inverted400 invalid_requestThe phase '…' ends before it starts.phone_not_of_person400 invalid_requestto is not one of the phones of the person the conversation is tied to (personId, the deal's primary person or the prospect's person): send it to one of her numbers, or leave dealId and prospectId out.photo_session_not_found404 not_foundNo photo session with that id in this organization.pipeline_archived400 invalid_requestThe pipeline '…' is archived: its deals are hidden from the board. Pick an active one (crm.pipelines.list).pipeline_not_empty409 conflictThe pipeline still has deals; move or delete them first.pipeline_not_found404 not_foundNo pipeline with that id in this organization.pipeline_required400 invalid_requestdefault_stage_id needs its default_pipeline_id (crm.pipelines.list).pixel_not_in_account400 invalid_requestThe chosen pixel does not belong to the verified advertiser.plain_text_without_html400 invalid_request… changes together with …: send both (or only …, and the plain text is derived).plan_ensure_invalid400 invalid_requestThe ensure read '…' of step … is not a read operation.plan_invalid400 invalid_requestThe plan does not match its schema${issue ? plan_not_found404 not_foundNo content plan with that id in this organization (a Content Studio series is not a plan).plan_ref_missing400 invalid_requestThe ensure read of step … references a value that no earlier step produced.plan_too_large400 invalid_requestThe plan exceeds … bytes.planner_post_invalid400 invalid_requestThe Social Planner rejected the post: … ….platform_custom_name_required400 invalid_requestAn 'other' platform row needs platform_custom_name (e.g. Pinterest).platform_immutable400 invalid_requestThe platform of a platforms-mode row cannot change: delete the row and create another one.platform_mismatch400 invalid_requesturl is a … link, not ….platform_not_in_connection400 invalid_requestA … connection does not list … accounts (it lists …).platform_not_managed_by_workspace409 conflictThis platform is not set to use the workspace's connection in that Account: the Account has to make it available first.platform_not_syncable400 invalid_requestOnly Google Ads, Meta Ads, TikTok Ads and LinkedIn Ads campaigns can be linked to a real campaign.platform_required400 invalid_requestA campaign needs its ad platform.platform_row_exists409 conflictThis plan already has a row for that platform: a platforms-mode plan has one row per platform (except 'other'), or the account total would be counted twice.portal_account_invalid400 invalid_requestThese ids are not accounts of this workspace: … (list them with platform.orgs.list).portal_client_not_found404 not_foundNo portal client with that id in this workspace.portal_domain_already_set409 conflictThe client portal already has …: remove it before adding another custom domain.portal_domain_not_found404 not_foundThat address is not one of this organization's client portal addresses.portal_domain_not_set409 conflictThe portal has no custom domain: add it with branding.portal_domains.add and verify it with branding.portal_domains.verify (or in the app, Settings → Client Portal → Configuration) before turning it on.portal_email_invalid400 invalid_requestThe email is not valid for a portal client: check its format; platform domains (mb-suite.com, mediabros.com, mediabros.app) are not allowed.portal_invitation_exists409 conflictThere is already a pending invitation for this email: resend it (client_portal.invitations.resend) or cancel it first.portal_invitation_not_found404 not_foundNo portal invitation with that id in this workspace.portal_not_configured409 conflictThis workspace's portal has no address yet: add its subdomain with branding.portal_domains.add (or in Settings → Client Portal → Configuration; client_portal.settings.get shows it) before inviting clients.portal_subdomain_not_set409 conflictThe portal has no subdomain yet: add it with branding.portal_domains.add (or in the app, Settings → Client Portal → Configuration) before turning it on.position_invalid_type400 invalid_requestThe Sentiment Analyst id holds another kind of position.post_changed409 conflictThe post changed while this operation was running: nothing was written, send it again.post_locked409 conflictA … post can't be edited: its content is already queued or live. Cancel the schedule first with social_planner.posts.cancel_schedule, or duplicate it with social_planner.posts.duplicate.post_not_found404 not_foundNo post with that id in this organization.post_not_ready400 invalid_requestThe post is not ready to …: see details.issues (missing content or media, a date in the past, a network not connected or without permission, invalid network settings…).post_not_scheduled409 conflictOnly a scheduled post can be rescheduled (this one is …): schedule it with social_planner.posts.schedule.post_read_only409 conflictPosts synced from a social network are read-only in MB Suite.post_reference_required400 invalid_requestSend url (the post's link on the network) or external_id with platform.preset_unknown400 invalid_requestUnknown date preset '…'. Valid presets: ….private_reply_not_supported400 invalid_requestThis source has no private reply (comment → direct message): only Facebook and Instagram comments do.private_task_in_project400 invalid_requestA private task cannot belong to a project.product_not_found404 not_foundNo product with that id in this organization.profile_photo_fetch_failed409 conflictThe profile photo could not be fetched.profile_photo_missing409 conflictThe user has no profile photo.profile_photo_not_public409 conflictA Google Workspace profile photo cannot be fetched by the server: upload one instead.project_item_not_found404 not_foundNo item '…' in this project: nothing was reordered.project_not_found404 not_foundNo project with that id in this organization (or it is private to other people). If it was deleted in the last 30 days, it is in platform.trash.list, and platform.trash.restore brings it back.project_scope_mismatch400 invalid_requestThe project belongs to another scope: use the project's account (or leave account_id out).project_type_archived400 invalid_requestArchived types are not offered for new projects: unarchive it or choose another.project_type_in_use409 conflictThis type still has ${usage.live === 1 ? "1 project" : project_type_missing409 conflictThe project's type no longer exists: set a type_id together with the status_id.project_type_not_found404 not_foundNo project type with that id in this organization.project_type_without_statuses409 conflictThe type '…' has no statuses.prospect_contact_not_visible403 permissionThis prospect's person or company belongs to another member and is outside what you can see: a seller with restricted scope cannot make it theirs or convert it. A Manager or an Admin can convert it, or assign it to them first.prospect_convert_failed409 conflictThe conversion was rejected: ….prospect_not_found404 not_foundNo prospect with that id in this organization.prospect_origin_conflict400 invalid_requestSend fromProspectId (the deal is that prospect converted) or linkedFromProspectId (the deal follows a previous prospect), not both.prospect_processed409 conflictThe prospect was already converted or merged.prospects_not_owned403 permissionSome of these prospects belong to another seller.publish_imminent409 conflictThe post goes out in less than 2 minutes (or is already due): MB Suite may be publishing it right now, so its time can't change. If it is still queued you can stop it with social_planner.posts.cancel_schedule.publish_in_progress409 conflictThis post is already being published.quote_emission_in_progress409 conflictAnother emission of this deal's quote is running; retry in a few seconds.quote_has_no_lines409 conflictThe deal's quote has no line items: set them with crm.deals.update_quote first.quote_page_not_found404 not_foundNo quote page with that id in this organization: take the ids from crm.quotes.pages.list.quote_page_not_in_template400 invalid_requestThe template '…' does not attach …: …. include_page_ids picks among the template's page_ids (crm.quotes.config.get); add the page to the template with crm.quotes.templates.save first.quote_pdf_failed500 internalThe PDF could not be generated; retry in a few seconds.quote_template_last409 conflictThe synthetic 'Estándar' template is the organization's only one and would come back right away: create another template first.quote_template_missing409 conflictThe organization has no quote template to build the document with.quote_template_not_found404 not_foundNo quote template with that id in this organization: omit template.id to create one.range_in_future400 invalid_requestto can't be after today (…, in the organization's time zone).range_incomplete400 invalid_requestSend both from and to (YYYY-MM-DD), or neither to use period.range_too_long400 invalid_requestThe range can span up to … days.rank_check_in_progress409 conflictA check of this project is already running: wait for it to finish (seo_rankings.projects.get shows lastCheckStatus).rank_duplicate_engine400 invalid_requestThe engine and country … appears twice.rank_engine_in_use409 conflictCannot remove …: … active keyword(s) are measured only there. Assign them another country (seo_rankings.keywords.bulk.set_engines) or deactivate them first.rank_engine_keys_required400 invalid_requestChoose at least one of the project's engine and country keys (google_AR, from seo_rankings.projects.get) to measure the keywords on.rank_import_device_not_in_project400 invalid_requestThe project does not measure on …: import into one of its devices (…).rank_import_engine_not_in_project400 invalid_requestThe project does not measure …: import into one of its engines (…).rank_invalid_domain400 invalid_requestThe domain is not a valid host name (example.com).rank_keyword_not_found404 not_foundNo tracked keyword with that id in this organization.rank_keywords_already_exist409 conflictThe project already has an active keyword with that text.rank_label_not_found404 not_foundNo keyword label with that id in this organization.rank_no_active_keywords409 conflictThe project has no active keywords to check: add or activate keywords first.rank_no_valid_keywords400 invalid_requestNo valid keyword was given (they are all empty after trimming).rank_position_key_not_measured400 invalid_requestThe project does not measure …: use one of its measured_pos_keys (…), or leave position_key out for the main one.rank_project_exists409 conflictThis account already has a rank tracking project (one per account): edit it with seo_rankings.projects.update.rank_project_not_found404 not_foundNo rank project with that id in this organization.rank_unknown_location400 invalid_request… is not one of the supported countries (…): send its DataForSEO locationName and languageCode.reassignment_target_missing400 invalid_requestThe reassignment target stage does not exist.reassignment_to_won_stage400 invalid_requestDeals cannot be moved into the won stage by reassignment.receiver_not_in_crm_team400 invalid_requestOnly direct members of the organization who are on the CRM team can ring on a line.receiver_not_seller400 invalid_requestUser … is not a CRM seller (no crm_users entry).receiver_without_crm_access400 invalid_requestUser … has no access to the CRM.receiver_without_phones_access400 invalid_requestThe user … has no access to Phones in this organization: only people who can use Phones can ring.recipient_without_access400 invalid_requestnotify_extra_user_ids must be people with access to this organization: ….recipients_required400 invalid_requestAn alert needs at least one recipient: a member who can see the watched organization (alerts.recipients.list) or an external email.recording_notice_required400 invalid_requestTurning call recording on means accepting the recording notice (version …) for this organization: the people on the call must be told it is recorded. Send recording_notice_accepted: true to accept it.records_not_owned403 permissionSome of these records belong to another seller: a seller only archives her own and the unassigned ones.reply_not_pinnable400 invalid_requestReplies cannot be pinned: pin the top-level entry.reply_not_supported400 invalid_requestThis item cannot be replied to through the API of its network (an Instagram photo tag or a LinkedIn direct message is read-only).reply_too_long400 invalid_requestThe reply is too long for this channel: … of … ….reply_window_closed409 conflictThe reply window of this network is closed for this conversation.reply_window_expired409 conflictThe network's reply window for this conversation is closed (24 hours from the person's last message for an integration; up to 7 days only for a person replying from the screen).report_block_slot_unknown400 invalid_request'…' is not a data slot of the template (nor a platform or a connection id). Valid slots: ….report_block_type_unknown400 invalid_requestUnknown block type '…'. Valid types: ….report_instance_finalized409 conflictThis report instance is finalized and read-only: duplicate it to edit a copy.report_instance_not_finalized409 conflictOnly finalized report instances can be published to the client portal.report_instance_not_found404 not_foundNo report instance with that id in this organization. List them with reports.instances.list.report_instance_without_account409 conflictOnly reports generated for an account can be published to that account's portal.report_not_found404 not_foundNo report with that id in this organization. List them with reports.reports.list.report_pdf_missing404 not_foundThe PDF file of this report instance is no longer in storage: generate it again with reports.instances.export_pdf.report_pdf_not_found404 not_foundThis report instance has no PDF yet: generate it with reports.instances.export_pdf.report_section_template_not_found404 not_foundNo section template with that id in this organization. List them with reports.section_templates.list.report_template_not_found404 not_foundNo report template with that id in this organization. List them with reports.templates.list.report_theme_not_found404 not_foundNo report theme with that id here (system themes too). List them with reports.themes.list.reserved_field_slug400 invalid_request'…' is a base column of the items; choose another slug.role_above_credential_ceiling403 permissionAn API key or an app can give at most the … role: making someone an admin or an owner is done in MB Suite, signed in.routing_field_reserved400 invalid_requestThe routing field cannot be the honeypot field.rule_assignee_invalid400 invalid_requestassign.user_id must be a member or an active AI Community Manager (ai-<positionId>).rule_cm_missing400 invalid_requestreply_with_cm.position_id is not an active AI Community Manager of this organization.rule_crm_source_missing400 invalid_requestsend_to_crm.source_id is not a direct-message lead source of this organization.rule_destination_required400 invalid_requestEach LinkedIn rule needs the destinationId of a verified conversion rule.rule_destination_unknown400 invalid_requestThe chosen conversion rule does not belong to the verified ad account.rule_event_not_standard400 invalid_requestThe event is not a TikTok standard event.rule_fixed_value_invalid400 invalid_requestA fixed value must be greater than 0.rule_labels_missing400 invalid_requestadd_labels.label_ids must include at least one inbox label of this organization.rule_multiple_responses400 invalid_requestA rule can have at most one reply action (reply_snippet or reply_with_cm).rule_notify_invalid400 invalid_requestnotify.user_ids must include at least one member of this organization.rule_response_needs_condition400 invalid_requestA rule that replies needs at least one condition (keywords, source, account, post, schedule or first message only): otherwise it would answer the whole inbox.rule_scope_widening409 conflictThis change makes the rule '…' global: every lead without a more specific rule would follow it. Send confirm_global: true to do it on purpose, or keep source_id / pipeline_id.rule_snippet_missing400 invalid_requestreply_snippet.snippet_id does not exist in this organization.rule_stage_required400 invalid_requestA stage_entered rule needs the stageId that triggers it.rule_value_required400 invalid_request… requires a value: it is not sent without an amount.schedule_invalid400 invalid_requestThe schedule has no upcoming run: a one_shot needs send_at in the future; a recurring one needs a valid frequency, day, hour and time zone.scheduled_at_in_past400 invalid_requestscheduled_at must be in the future.scheduled_at_not_editable409 conflictThe send date of a scheduled campaign does not change through update: reschedule it with email_marketing.campaigns.schedule (or take it back to draft with email_marketing.campaigns.unschedule).scheduled_at_too_far400 invalid_requestscheduled_at can be at most one year ahead.seller_not_found400 invalid_requestUser … is not a CRM seller.sender_cannot_send_email403 permissionThe owner of that mailbox cannot send emails in this organization.sender_email_domain_mismatch400 invalid_requestThe sender must be an address of the verified domain (…@…).sender_exists409 conflictA sender with that address already exists.sender_ids_mismatch400 invalid_requestsenderIds must list every sender id exactly once.sender_name_required400 invalid_requestThe sender name cannot be empty.sender_name_too_long400 invalid_requestThe sender name is too long (max … characters).sender_not_allowed403 permissionYou cannot send from that sender: use one of contacts.email.list_senders (a sender of the organization's verified domain).seo_action_template_not_found404 not_foundNo SEO action template with that id is reachable from this organization.seo_item_not_found404 not_foundNo SEO planner action with that id in this organization.seo_pack_item_not_found404 not_foundNo item with that id in the pack.seo_pack_not_found404 not_foundNo SEO action pack with that id is reachable from this organization.sequence_cycle409 conflictThis would create a loop between sequences: … (via …). A contact would keep cycling between them.sequence_enrollment_not_found404 not_foundNo sequence enrollment with that id in this organization.sequence_enrollment_status_conflict409 conflictThe enrollment is not in a status that allows this operation: see details.status and details.allowed.sequence_inactive409 conflictstartAt only works on an active sequence: in an inactive one the contacts wait as pending and all start when it is activated, so the time would be lost. Activate it first, or enroll without startAt.sequence_mode_downgrade409 conflictAn advanced sequence cannot go back to simple mode.sequence_not_found404 not_foundNo sequence with that id in this organization.sequence_notify_recipient_invalid400 invalid_requestThe recipient of a 'notify user' step must be a member of this organization (never an AI position).sequence_remove_target_not_allowed403 permissionA 'remove from sequence' step can only point to a sequence you can manage: "…" belongs to someone else.sequence_ruleset_not_found404 not_foundNo sequence sending rules with that id in this organization.sequence_schedule_not_found404 not_foundNo sequence schedule with that id in this organization.sequence_sender_not_allowed403 permissionOnly CRM admins can send from another seller's Gmail.sequence_sender_not_verified400 invalid_requestThe SES sender … is not a verified sender of this organization's email domain.sequence_steps_incomplete409 conflictThe sequence has … incomplete 'move deal stage' step(s): set the destination pipeline and stage in each before activating it.sequence_whatsapp_template_unsupported400 invalid_requestThe WhatsApp template "…" (…) of step … cannot be sent from MB Suite: …. Choose another template for that step.sequence_without_steps409 conflictThe sequence has no steps: add at least one before enrolling contacts.series_not_found404 not_foundNo Content Studio series with that id in this organization (Ad Creator creatives are not series).ses_identity_not_found409 conflictThe email provider has no identity for this domain: remove it and add it again.simulate_empty400 invalid_requestmode text needs a text to test.simulate_missing400 invalid_requestmode post needs root_resource_id (the post).single_won_stage400 invalid_requestOnly one stage can be the won stage.sitemap_not_found404 not_foundNo sitemap with that feedpath is submitted to this property: see seo_indexation.sitemaps.list.slot_conflict409 conflictThat slot overlaps another confirmed booking of the seller.slot_taken409 conflictSomeone else just booked that slot: read crm.booking.availability again and pick another one.slug_taken409 conflictAnother organization already uses that slug: choose a different one.sms_not_supported409 conflictThis line cannot send SMS (the number has no SMS capability).snooze_in_past400 invalid_requestsnoozed_until must be a future time (ms since epoch).source_blocks_not_found400 invalid_requestNone of the source blocks exist in the saved report.source_blocks_without_data409 conflictThe source blocks returned no data to analyze.source_not_allowed400 invalid_requestPlans created through the API are imports (source 'import'); 'chat' is MIA's plan card.stage_not_empty409 conflictThe removed stage still has deals; reassign them first.stage_not_found404 not_foundNo pipeline of this organization has the stage of rules[…].stage_not_in_pipeline400 invalid_requestThe stage of rules[…] is not a stage of its pipeline "…".stage_too_large409 conflictThe stage has too many deals to reassign at once; move them in parts first.status_not_allowed400 invalid_requestOnly workflow statuses can be set (draft, internal_review, client_review, changes_requested, approved). Use social_planner.posts.schedule or social_planner.posts.publish_now to publish.status_not_done400 invalid_requestUse a status of the DONE category to complete a task (task_management.config.get lists them).status_not_found400 invalid_request'…' is not a status of the type '…' (…).status_not_open400 invalid_requestUse a status of the OPEN category to reopen a task (task_management.config.get lists them).storage_object_not_found404 not_foundNothing was uploaded to that storagePath: upload the file first with the URL from crm.files.uploads.create (it expires 10 minutes after it is issued).storage_path_invalid400 invalid_requeststoragePath must be a file uploaded for this record with crm.files.uploads.create (organizations/{orgId}/crm/files/{entityType}/{entityId}/…).strategy_generating409 conflictThe strategy is already generating: wait for that run to finish.strategy_not_found404 not_foundNo strategy with that id in this organization.strategy_not_ready409 conflictThe strategy has no generated result to export yet (it is generating for the first time or its generation failed).subdomain_reserved400 invalid_requestThat subdomain is reserved by MB Suite.subscription_required402 payment_requiredThe organization's subscription is not active: the activity timeline is read-only until it is settled.subtask_scope400 invalid_requestA subtask follows its parent: change the scope of the parent task.suppression_compliance_locked403 permissionThe address … unsubscribed or complained: only the person can opt back in (through a form or the preferences link), not an API key or an app. A credential can only undo, within an hour, an unsubscribe it added itself through the API.system_credential400 invalid_requestSystem-level connections cannot be disconnected.system_media_plan_template_not_found404 not_foundNo published system media plan template with that id.system_monitor_not_found404 not_foundNo published system monitor with that id.system_report_template_not_found404 not_foundNo published system report template with that id. List them with reports.system_templates.list.system_template_not_found404 not_foundNo published system template with that id. List them with dashboards.templates.list (source SYSTEM).system_theme_read_only409 conflictSystem themes cannot be edited or deleted: create your own with reports.themes.create (you can copy its colors from reports.themes.get).target_access_denied403 permissionYou do not have full access to Tasks in the destination organization.target_org_invalid400 invalid_requesttargetOrgId must be this organization or one of its accounts.target_org_not_found404 not_foundNo account with that id belongs to this workspace.target_required400 invalid_requestOne of dealId, personId, companyId or prospectId is required.task_access_denied403 permissionCreating a task needs full access to the Tasks module in this organization.task_label_not_found404 not_foundNo task label with that id in this organization. If it was deleted in the last 30 days, it is in platform.trash.list, and platform.trash.restore brings it back.task_not_found404 not_foundNo task with that id in this organization (private tasks only exist for their creator and assignee). If it was deleted in the last 30 days, it is in platform.trash.list, and platform.trash.restore brings it back.task_pack_item_not_found404 not_foundNo item with that id in the pack. If it was deleted in the last 30 days, it is in platform.trash.list, and platform.trash.restore brings it back.task_pack_not_found404 not_foundNo task pack with that id. If it was deleted in the last 30 days, it is in platform.trash.list, and platform.trash.restore brings it back.template_filters_unsupported400 invalid_requestThis template has no default data source whose platform supports global filters${platformId ? template_header_variables_unsupported400 invalid_requestMB Suite cannot send WhatsApp templates with variables in the header yet (it only sends the body's variables): use a template whose header has no {{n}}.template_media_header_unsupported400 invalid_requestMB Suite cannot send WhatsApp templates with a non-TEXT header (IMAGE, VIDEO, DOCUMENT or LOCATION) yet (it does not attach the header's file or location): use a template with no header or with a text header.template_not_found404 not_foundNo dashboard template with that id is available to this organization. List them with dashboards.templates.list.template_not_published400 invalid_requestThe monitor template is a draft: publish it first (monitors.templates.publish).template_parent_mismatch403 permissionAn inherited template can only come from this account's own workspace.template_platform_mismatch400 invalid_requestThe monitor template is built for …, not for ….template_too_large400 invalid_requestThe template would exceed … bytes: fewer pages or widgets.template_variables_not_sequential400 invalid_requestTemplate variables must be sequential starting at {{1}}.territory_not_found404 not_foundThese territories do not exist: …. Take the ids from crm.territories.list.test_key_no_special_permissions400 invalid_requestA test key works on the practice organization: it cannot reveal vault passwords, edit live AI agents or create AI agents.text_too_long400 invalid_requestThe text exceeds the … … this network accepts.thumbnail_only_for_videos400 invalid_requestOnly videos and documents take a thumbnail (an image is its own preview).thumbnail_path_invalid400 invalid_requestthumbnail_storage_path must be a thumbnail uploaded with media_library.uploads.create (purpose video_thumbnail or document_thumbnail).too_many_accounts400 invalid_requestAt most … new Account assignments per call.too_many_items400 invalid_requestApplying this pack would create … actions (max …).too_many_labeled_contacts409 conflictMore than … contacts carry this label: the trash could not put it back on all of them. Delete it from the app.too_many_labeled_items409 conflictMore than … credentials carry this label: delete it from the app.too_many_labeled_tasks409 conflictMore than … tasks carry this label: delete it from the app.too_many_projects_affected400 invalid_requestThis change would update … projects at once (more than one batch): split it (for example, remove one status at a time).too_many_replies409 conflictThis entry has more than … replies: delete some replies first.too_many_tagged_articles409 conflictMore than … articles carry this tag: the trash could not put it back on all of them. Delete it from the app.too_many_tasks400 invalid_requestApplying this pack would create … tasks (max …).tracking_not_configured409 conflictThe tracking pixel is not set up in this organization: enable it first with organizations.tracking.enable.trigger_event_required400 invalid_requestA flow triggered by an event needs trigger_event_name (contact_added or contact_labeled).unknown_campaign_ids400 invalid_requestSome ids are not rows of the original plan: see details.campaign_ids (row ids come from media_planner.campaigns.list).unknown_dimension400 invalid_request'…' is not a dimension of ….unknown_issue_id400 invalid_request'…' is not an issue of the audit engine${suggestions.length > 0 ? unknown_label_ids400 invalid_requestThese label ids are not campaign labels of this organization or its workspace: ….unknown_metric400 invalid_request'…' is not a metric of ….unknown_platform400 invalid_request'…' is not a platform of the Explorer.unsupported_filter400 invalid_requestinclude_workspace_notes lists newest first and without the pinned filter.unsupported_order400 invalid_requestPinned and unpinned entries can only be listed newest first: drop order=asc or the pinned filter.updates_conflict400 invalid_requestSend the fields at the top level or inside updates, not both (… came outside).url_not_in_property400 invalid_requestThe URL is not inside the property: a URL-prefix property needs the same protocol and host and a URL under its path; a domain property covers any protocol and subdomain. Google may also refuse a URL the connected account cannot inspect.url_not_recognized400 invalid_requesturl is not a valid link.user_not_found404 not_foundNo MB Suite user with that id.user_not_member404 not_foundThat user is not a member of this organization.user_slug_taken409 conflictAnother seller of the organization already uses that slug.utm_url_invalid400 invalid_requesturl is not a valid web address. Send an http or https URL such as https://example.com/landing (https:// is added when the scheme is missing); other schemes (ftp:, mailto:, javascript:) cannot carry UTM parameters.validation_failed400 invalid_requestSome values do not pass the form's field rules: see details.fields.vault_access_user_invalid400 invalid_requestThese access.user_ids are not members of this organization: ….vault_account_invalid400 invalid_request'…' is not an account of this workspace.vault_app_only403 permissionPasswords and secure links are only available in the MB Suite app: never through an API key, an OAuth app or the support channel.vault_item_access_denied403 permissionVault item '…' has custom access that does not include you.vault_item_not_found404 not_foundNo vault item '…' in this organization.vault_label_not_found404 not_foundNo vault label with that id in this organization. If it was deleted in the last 30 days, it is in platform.trash.list, and platform.trash.restore brings it back.vault_link_not_owner403 permissionOnly the person who created this …, an owner or an admin can manage it.vault_request_account_required400 invalid_requestA workspace asks for access on behalf of one of its accounts: send assigned_child_org_id.vault_request_not_found404 not_foundNo access request with that id in this organization.vault_request_not_pending409 conflictThe access request is no longer pending.vault_request_recipient_email_required400 invalid_requestThe access request has no recipient email: create the request with recipient.email to have MB Suite email it.vault_request_recipient_is_self400 invalid_requestThe access request's recipient is the person behind this API key or app: the secure link only goes to the client. Create the request with the client's email as recipient.vault_reveal_needs_vault_scope400 invalid_requestRevealing vault passwords also needs the vault scope (read or write) on the key.vault_reveal_not_granted403 permissionThis API key cannot reveal this credential's password: an owner or admin adds the credential to the key's Vault reveal list (only on the key's own organization).vendor_not_crm_user400 invalid_requestThe seller (userId) is not a member of the CRM team.vendor_not_found404 not_foundvendor_user_id is not a person with access to this organization: take it from crm.calendar.vendors.list or crm.team.list.viewer_not_allowed400 invalid_requestMembers with the viewer role cannot operate the CRM.visibility_agency_requires_account400 invalid_requestThe 'agency' visibility exists only in an account (child organization): it hides the project from the account's own members.visible_to_requires_custom400 invalid_requestvisible_to_user_ids only applies to the 'custom' visibility.web_form_already_linked409 conflictThis form is already linked to another lead source: unlink it first with web_forms.forms.unlink_crm.web_form_not_found404 not_foundNo web form with that id in this organization. If it was deleted in the last 30 days, it is in platform.trash.list, and platform.trash.restore brings it back.web_form_submission_is_test409 conflictThat response is a test from the editor or web_forms.forms.test_submit (origin __test__), not one that came in through the public endpoint: there is nothing to record.web_form_submission_not_found404 not_foundNo response with that id in this form.web_form_submission_rejected409 conflictThat response was rejected by the form's filters (spam, honeypot or reCAPTCHA): it was stored without its values, so its notification cannot be re-sent.web_form_submission_too_old409 conflictOnly a response received in the last … minutes can be recorded as a test made through the public endpoint.webhook_log_already_retried409 conflictThis entry was already re-processed successfully.webhook_log_not_found404 not_foundNo webhook log with that id in this organization.webhook_log_not_retryable409 conflictOnly error entries of generic webhook and MB Suite form sources carry a payload that can be re-processed.whatsapp_line_not_crm409 conflictThat WhatsApp line is not a CRM line: lead sources are created only on CRM lines.whatsapp_line_not_subscribed409 conflictThat WhatsApp line is not subscribed to MB Suite's webhook yet: add it again from CRM → Settings → Lines → WhatsApp.whatsapp_number_not_in_waba409 conflictOne of the new numbers does not belong to the WhatsApp account it was sent with.whatsapp_numbers_in_app400 invalid_requestWhatsApp numbers are linked and unlinked from the app (Data sources, or CRM → Settings → Phones and WhatsApp).whatsapp_owner_unknown409 conflictThe Meta business of one of the new numbers could not be identified: try again in a moment.whatsapp_reminder_requires_phone400 invalid_requestA WhatsApp reminder needs the phone field enabled and required.whatsapp_same_business_account409 conflictBoth lines belong to the same WhatsApp Business account: templates are already shared.whatsapp_template_not_found404 not_foundNo synced WhatsApp template matches that name and id on this line's WhatsApp Business account; run crm.whatsapp.templates.sync first.won_at_in_future400 invalid_requestwonAt cannot be in the future.won_stage_invalid400 invalid_requestThe pipeline '…' has no won stage: mark the deal won without wonStageId and it keeps its stage.workspace_member_not_found404 not_foundNo direct member of this Account's workspace matches that user id or email.workspace_required400 invalid_requestAlerts are created in the workspace and watch its Accounts through target_org_id: call this on the workspace (its org_id, or none; over REST, without MB-Organization).
social_competitor_not_found404 not_foundNo competitor with that id in this organization.