{ "error": { "type": "authentication_error", "code": "invalid_api_key", "message": "The API key provided is invalid or has been revoked.", "request_id": "req_abc123" }}
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Metrito","colors":{"primary":"#1e55eb","light":"#4d7ef5","dark":"#1240c4"},"logo":{"light":"https://mintcdn.com/metrito/ugGCJynfl_zNmmAv/logo/light.svg?fit=max\u0026auto=format\u0026n=ugGCJynfl_zNmmAv\u0026q=85\u0026s=eee0f00d0cf6c9fba76e8db5d185a2c9","dark":"https://mintcdn.com/metrito/ugGCJynfl_zNmmAv/logo/dark.svg?fit=max\u0026auto=format\u0026n=ugGCJynfl_zNmmAv\u0026q=85\u0026s=031de14128a9997a861966065e47727d"},"favicon":"https://mintcdn.com/metrito/x6bH2SLJCt2f_Gmm/favicon.svg?fit=max\u0026auto=format\u0026n=x6bH2SLJCt2f_Gmm\u0026q=85\u0026s=2bc6a1740e7cf0c25095ac6cd12864d1","navbar":{"primary":{"type":"button","label":"Acessar plataforma","href":"https://app.metrito.com"}},"footer":{"socials":{"instagram":"https://instagram.com/metrito.com.br","linkedin":"https://linkedin.com/company/metrito"}},"seo":{"metatags":{"og:locale":"pt_BR","og:site_name":"Metrito Docs"},"indexing":"all"},"contextual":{"options":["copy","view","chatgpt","claude","cursor"],"display":"header"},"styling":{"latex":true},"navigation":{"global":{"anchors":[{"anchor":"Site Oficial","icon":"globe","href":"https://metrito.com"},{"anchor":"Plataforma","icon":"gauge","href":"https://app.metrito.com"}]},"languages":[{"language":"pt-BR","href":""}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"metrito","hasAudioNarration":false,"actualSubdomain":"metrito","customDomains":["docs.metrito.com"],"gitSource":{"type":"github","owner":"metrito","repo":"metrito-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"entitlements":{},"buildId":"6af37bdc6282fe24fd37b9a9","clientVersion":"0.0.4117","searchFilterCounts":[{"language":"pt-BR","tag":"Guias","count":47},{"language":"pt-BR","tag":"Referência de API","count":18},{"language":"pt-BR","tag":"Rastreamento","count":17},{"language":"pt-BR","tag":"Integrações","count":15},{"language":"pt-BR","tag":"API de Rastreamento","count":8},{"language":"pt-BR","tag":"Dashboard","count":6},{"language":"pt-BR","tag":"Visão Geral","count":4},{"language":"pt-BR","tag":"Destinos e eventos","count":4},{"language":"pt-BR","tag":"Conversões nas plataformas","count":4},{"language":"pt-BR","tag":"Começar a rastrear","count":4}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true,"deflection":{"enabled":true,"email":"contato@metrito.com","showHelpButton":true}},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/rate-limits","slug":"/api-reference/rate-limits","pageMetadata":{"title":"Rate Limits","description":"Limites de requisição, headers e como lidar com throttling","href":"/api-reference/rate-limits"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Limites de requisição, headers e como lidar com throttling\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={code:`code`,hr:`hr`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,..._provideComponents(),...props.components},{CodeBlock,Heading,Table,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Todas as rotas do Metrito possuem rate limiting para garantir estabilidade e uso justo da plataforma.`}),`\n`,_jsx(Heading,{level:`2`,id:`limites-por-tier`,children:`Limites por Tier`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Tier`}),_jsx(_components.th,{children:`Limite`}),_jsx(_components.th,{children:`Janela`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`API Key padrão`}),_jsx(_components.td,{children:`120 req`}),_jsx(_components.td,{children:`1 minuto`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Growth`}),_jsx(_components.td,{children:`300 req`}),_jsx(_components.td,{children:`1 minuto`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Enterprise`}),_jsx(_components.td,{children:`1.000 req`}),_jsx(_components.td,{children:`1 minuto`})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`headers-de-resposta`,children:`Headers de Resposta`}),`\n`,_jsxs(_components.p,{children:[`Toda resposta das rotas `,_jsx(_components.code,{children:`/v3/`}),` inclui headers de rate limit:`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Header`}),_jsx(_components.th,{children:`Descrição`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`X-RateLimit-Limit`})}),_jsx(_components.td,{children:`Limite máximo de requisições na janela`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`X-RateLimit-Remaining`})}),_jsx(_components.td,{children:`Requisições restantes na janela atual`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`X-RateLimit-Reset`})}),_jsx(_components.td,{children:`Timestamp Unix de quando a janela reseta`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`Retry-After`})}),_jsx(_components.td,{children:`Segundos até poder tentar novamente (apenas em 429)`})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`lidando-com-rate-limiting`,children:`Lidando com Rate Limiting`}),`\n`,_jsxs(_components.p,{children:[`Quando o limite é excedido, a API retorna `,_jsx(_components.code,{children:`429 Too Many Requests`}),`:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`8`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`8`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"error\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"rate_limit_error\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"code\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"rate_limit_exceeded\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"message\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Rate limit exceeded. Maximum 120 requests per 60s.\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"request_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"req_abc123\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Recomendações:`})}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Respeite o header `,_jsx(_components.code,{children:`Retry-After`}),` antes de tentar novamente`]}),`\n`,_jsx(_components.li,{children:`Implemente backoff exponencial para retries`}),`\n`,_jsxs(_components.li,{children:[`Agrupe múltiplas consultas em uma única chamada quando possível (ex: multiple fields em `,_jsx(_components.code,{children:`POST /v3/query`}),`)`]}),`\n`,_jsxs(_components.li,{children:[`Cache respostas que não mudam frequentemente (`,_jsx(_components.code,{children:`GET /v3/fields`}),`)`]}),`\n`]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`request-id`,children:`Request ID`}),`\n`,_jsxs(_components.p,{children:[`Toda resposta inclui o header `,_jsx(_components.code,{children:`X-Request-Id`}),`. Use este ID ao entrar em contato com o suporte.`]}),`\n`,_jsx(CodeBlock,{numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`X-Request-Id: req_k8mN2pQ4rT6wX1`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`idempotência`,children:`Idempotência`}),`\n`,_jsxs(_components.p,{children:[`Endpoints de escrita (`,_jsx(_components.code,{children:`POST /v3/tracking/events`}),`, `,_jsx(_components.code,{children:`POST /v3/tracking/containers/:id/events`}),`) suportam o header `,_jsx(_components.code,{children:`Idempotency-Key`}),`.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`5`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`5`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -X`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` POST`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` https://api.metrito.com/v3/tracking/events`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Authorization: Bearer mtk_live_abc123...\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Idempotency-Key: meu-evento-unico-123\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Content-Type: application/json\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -d`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{ \"config\": { \"name\": \"Purchase\" } }'`})]}),`\n`]})})}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Comportamento`}),_jsx(_components.th,{children:`Descrição`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Primeira chamada`}),_jsx(_components.td,{children:`Processa normalmente e armazena resultado`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Chamada repetida (mesmo key, 24h)`}),_jsxs(_components.td,{children:[`Retorna resultado armazenado com header `,_jsx(_components.code,{children:`X-Idempotent-Replayed: true`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Após 24h`}),_jsx(_components.td,{children:`Key expira, chamada é processada novamente`})]})]})]}),`\n`,_jsxs(Warning,{children:[`O `,_jsx(_components.code,{children:`Idempotency-Key`}),` é vinculado à API key. Chaves diferentes podem usar o mesmo valor sem conflito.`]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`formato-de-erro-padronizado`,children:`Formato de Erro Padronizado`}),`\n`,_jsxs(_components.p,{children:[`Todas as rotas `,_jsx(_components.code,{children:`/v3/`}),` retornam erros no formato:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`8`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`8`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"error\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"authentication_error\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"code\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"invalid_api_key\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"message\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"The API key provided is invalid or has been revoked.\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"request_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"req_abc123\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`3`,id:`tipos-de-erro`,children:`Tipos de Erro`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Tipo`}),_jsx(_components.th,{children:`HTTP Status`}),_jsx(_components.th,{children:`Descrição`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`authentication_error`})}),_jsx(_components.td,{\"data-numeric\":`true`,children:`401`}),_jsx(_components.td,{children:`Credencial ausente, inválida ou expirada`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`authorization_error`})}),_jsx(_components.td,{\"data-numeric\":`true`,children:`403`}),_jsx(_components.td,{children:`Permissão insuficiente (escopo)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`validation_error`})}),_jsx(_components.td,{\"data-numeric\":`true`,children:`400`}),_jsx(_components.td,{children:`Parâmetro ausente ou inválido`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`not_found_error`})}),_jsx(_components.td,{\"data-numeric\":`true`,children:`404`}),_jsx(_components.td,{children:`Recurso não encontrado`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`rate_limit_error`})}),_jsx(_components.td,{\"data-numeric\":`true`,children:`429`}),_jsx(_components.td,{children:`Limite de requisições excedido`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`api_error`})}),_jsx(_components.td,{\"data-numeric\":`true`,children:`500`}),_jsx(_components.td,{children:`Erro interno do servidor`})]})]})]}),`\n`,_jsx(Heading,{level:`3`,id:`códigos-de-erro`,children:`Códigos de Erro`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Código`}),_jsx(_components.th,{children:`Descrição`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`invalid_api_key`})}),_jsx(_components.td,{children:`API key inválida ou revogada`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`expired_api_key`})}),_jsx(_components.td,{children:`API key expirada`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`insufficient_scope`})}),_jsx(_components.td,{children:`API key não possui o escopo necessário`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`rate_limit_exceeded`})}),_jsx(_components.td,{children:`Limite de requisições excedido`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`invalid_parameter`})}),_jsx(_components.td,{children:`Parâmetro de request inválido`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`missing_parameter`})}),_jsx(_components.td,{children:`Parâmetro obrigatório ausente`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`resource_not_found`})}),_jsx(_components.td,{children:`Recurso não encontrado`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`idempotency_conflict`})}),_jsx(_components.td,{children:`Conflito de idempotência`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`internal_error`})}),_jsx(_components.td,{children:`Erro interno`})]})]})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Rate Limits","description":"Limites de requisição, headers e como lidar com throttling","href":"/api-reference/rate-limits"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Limites por Tier","slug":"limites-por-tier","depth":2,"children":[]},{"title":"Headers de Resposta","slug":"headers-de-resposta","depth":2,"children":[]},{"title":"Lidando com Rate Limiting","slug":"lidando-com-rate-limiting","depth":2,"children":[]},{"title":"Request ID","slug":"request-id","depth":2,"children":[]},{"title":"Idempotência","slug":"idempotência","depth":2,"children":[]},{"title":"Formato de Erro Padronizado","slug":"formato-de-erro-padronizado","depth":2,"children":[{"title":"Tipos de Erro","slug":"tipos-de-erro","depth":3,"children":[]},{"title":"Códigos de Erro","slug":"códigos-de-erro","depth":3,"children":[]}]}],"codeExamples":{}},"jsLinks":[],"subdomain":"metrito","siteName":"Metrito","title":"Rate Limits - Metrito","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"pt-BR":{"href":"/api-reference/rate-limits","matchLevel":0}}},"lastModified":"2026-03-25T23:32:31.975Z","originalFileLocation":"api-reference/rate-limits.mdx","locale":"pt-BR"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Limites de requisição, headers e como lidar com throttling\">\u003cmeta data-mint-head name=\"application-name\" content=\"Metrito\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/metrito/P4pPgjQrCtwnK4vV/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/metrito/P4pPgjQrCtwnK4vV/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/metrito/P4pPgjQrCtwnK4vV/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/metrito/P4pPgjQrCtwnK4vV/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/metrito/P4pPgjQrCtwnK4vV/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/metrito/P4pPgjQrCtwnK4vV/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/metrito/P4pPgjQrCtwnK4vV/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/metrito/P4pPgjQrCtwnK4vV/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/metrito/P4pPgjQrCtwnK4vV/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Rate Limits - Metrito\">\u003cmeta data-mint-head property=\"og:description\" content=\"Limites de requisição, headers e como lidar com throttling\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Metrito Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.metrito.com/api-reference/rate-limits\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://metrito.mintlify.site/_mintlify/api/og/v2?division=Vis%C3%A3o+Geral\u0026amp;title=Rate+Limits\u0026amp;description=Limites+de+requisi%C3%A7%C3%A3o%2C+headers+e+como+lidar+com+throttling\u0026amp;theme=5d60f10be1e303ce0c6fd5de\u0026amp;signature=60e0db66800bf1f7d9ebb684181f6df954693cdbf8a5e957f85b82fbcdaf9096\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Rate Limits - Metrito\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Limites de requisição, headers e como lidar com throttling\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://metrito.mintlify.site/_mintlify/api/og/v2?division=Vis%C3%A3o+Geral\u0026amp;title=Rate+Limits\u0026amp;description=Limites+de+requisi%C3%A7%C3%A3o%2C+headers+e+como+lidar+com+throttling\u0026amp;theme=5d60f10be1e303ce0c6fd5de\u0026amp;signature=60e0db66800bf1f7d9ebb684181f6df954693cdbf8a5e957f85b82fbcdaf9096\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/metrito/P4pPgjQrCtwnK4vV/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Metrito\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#1e55eb\">\u003cmeta data-mint-head name=\"og:locale\" content=\"pt_BR\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.metrito.com/api-reference/rate-limits\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/rate-limits.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.metrito.com/#organization\",\"name\":\"Metrito\",\"url\":\"https://docs.metrito.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/metrito/ugGCJynfl_zNmmAv/logo/light.svg?fit=max\u0026auto=format\u0026n=ugGCJynfl_zNmmAv\u0026q=85\u0026s=eee0f00d0cf6c9fba76e8db5d185a2c9\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.metrito.com#website\",\"name\":\"Metrito\",\"url\":\"https://docs.metrito.com\",\"publisher\":{\"@id\":\"https://docs.metrito.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.metrito.com/api-reference/rate-limits#webpage\",\"url\":\"https://docs.metrito.com/api-reference/rate-limits\",\"name\":\"Rate Limits\",\"description\":\"Limites de requisição, headers e como lidar com throttling\",\"dateModified\":\"2026-03-25T23:32:31.975Z\",\"isPartOf\":{\"@id\":\"https://docs.metrito.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.metrito.com/api-reference/rate-limits#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.metrito.com/api-reference/rate-limits#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Visão Geral\",\"item\":\"https://docs.metrito.com/api-reference/introduction\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Rate Limits\",\"item\":\"https://docs.metrito.com/api-reference/rate-limits\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.metrito.com/api-reference/rate-limits#article\",\"headline\":\"Rate Limits\",\"name\":\"Rate Limits\",\"description\":\"Limites de requisição, headers e como lidar com throttling\",\"url\":\"https://docs.metrito.com/api-reference/rate-limits\",\"mainEntityOfPage\":{\"@id\":\"https://docs.metrito.com/api-reference/rate-limits#webpage\"},\"dateModified\":\"2026-03-25T23:32:31.975Z\",\"publisher\":{\"@id\":\"https://docs.metrito.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.metrito.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Metrito\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Metrito\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/api-reference/rate-limits.md","siteName":"Metrito","nav":{"global":{"anchors":[{"anchor":"Site Oficial","icon":"globe","href":"https://metrito.com"},{"anchor":"Plataforma","icon":"gauge","href":"https://app.metrito.com"}]},"languages":[{"language":"pt-BR","tabs":[{"tab":"Guias","pages":[{"title":"Guias","href":""}]},{"tab":"Referência de API","groups":[{"group":"Visão Geral","icon":"book","pages":[{"title":"Visão Geral","href":"/api-reference/introduction"},{"title":"Autenticação","href":"/api-reference/authentication"},{"title":"OAuth 2.0","description":"Permita que plataformas de terceiros se conectem a workspaces do Metrito com consentimento do usuário","href":"/api-reference/oauth"},{"title":"Rate Limits","href":"/api-reference/rate-limits"}]},{"group":"Plataforma","icon":"grid-2","pages":[{"title":"Login","description":"Autentica o usuário com e-mail e senha e retorna um token JWT para uso nas demais rotas autenticadas.\n\nO token retornado deve ser enviado no header `Authorization: Bearer {token}` em todas as requisições autenticadas.\n","deprecated":null,"version":null,"openapi":"/openapi/platform.yaml post /v3/auth/login","href":"/api-reference/autenticar-na-plataforma"},{"title":"Listar Projetos","deprecated":null,"version":null,"openapi":"/openapi/platform.yaml get /v3/projects","href":"/api-reference/listar-projetos-do-usuário"},{"title":"Listar Conexões","deprecated":null,"version":null,"openapi":"/openapi/platform.yaml get /v3/projects/{project_id}/connections","href":"/api-reference/listar-conexões-de-um-projeto"},{"title":"Atualizar Objetos de Anúncios","deprecated":null,"version":null,"openapi":"/openapi/platform.yaml put /v3/connections/{connection_id}/objects","href":"/api-reference/atualizar-objetos-de-anúncios"}]},{"group":"API de Dados","icon":"chart-mixed","pages":[{"title":"Listar Campos Disponíveis","deprecated":null,"version":null,"sidebarTitle":"Listar campos disponíveis","openapi":"/openapi/data.yaml get /v3/fields","href":"/api-reference/listar-campos-disponíveis"},{"title":"Consultar Métricas","deprecated":null,"version":null,"openapi":"/openapi/data.yaml post /v3/query","href":"/api-reference/consultar-métricas-de-anúncios"}]},{"group":"API de Rastreamento","icon":"satellite-dish","pages":[{"group":"Containers","pages":[{"title":"Obter Container","deprecated":null,"version":null,"openapi":"/openapi/tracking.yaml get /v3/tracking/containers/{container_id}","href":"/api-reference/obter-container"}]},{"group":"Gatilhos","pages":[{"title":"Listar Gatilhos","deprecated":null,"version":null,"openapi":"/openapi/tracking.yaml get /v3/tracking/containers/{container_id}/triggers","href":"/api-reference/listar-gatilhos"},{"title":"Criar Gatilho","deprecated":null,"version":null,"openapi":"/openapi/tracking.yaml post /v3/tracking/containers/{container_id}/triggers","href":"/api-reference/criar-gatilho"},{"title":"Atualizar Gatilho","deprecated":null,"version":null,"openapi":"/openapi/tracking.yaml put /v3/tracking/containers/{container_id}/triggers/{trigger_id}","href":"/api-reference/atualizar-gatilho"},{"title":"Deletar Gatilho","deprecated":null,"version":null,"openapi":"/openapi/tracking.yaml delete /v3/tracking/containers/{container_id}/triggers/{trigger_id}","href":"/api-reference/deletar-gatilho"}]},{"group":"Eventos","pages":[{"title":"Enviar Evento","deprecated":null,"version":null,"openapi":"/openapi/tracking.yaml post /v3/tracking/events","href":"/api-reference/enviar-evento"}]},{"group":"Pedidos","pages":[{"title":"Webhook de Pedido","deprecated":null,"version":null,"openapi":"/openapi/tracking.yaml post /v2/tracking/generic","href":"/api-reference/webhook-de-pedidotransação"}]},{"group":"Mensagens","pages":[{"title":"Decodificar Mensagens","deprecated":null,"version":null,"openapi":"/openapi/tracking.yaml post /v3/tracking/messages/decode","href":"/api-reference/decodificar-mensagens-whatsapp"}]}]}]}]}]},"basePath":"","title":"Rate Limits - Metrito","buildId":"dpl_41S5Z2jG9QnfDRwN1KZrLdBwj7DM","deploymentId":"dpl_41S5Z2jG9QnfDRwN1KZrLdBwj7DM","dynamics":[],"chunks":[]}