A API roda em uma máquina na AWS, junto com as peças de que depende: proxy reverso com certificado TLS renovado automaticamente, cache e fila de mensagens. O banco de dados fica separado, em um serviço gerenciado de banco relacional.A infraestrutura é definida como código em duas camadas. A primeira (o bucket de estado e a permissão que dá à automação de deploy acesso à AWS sem chave fixa) é aplicada manualmente, uma única vez. A segunda (a própria máquina, o banco, as regras de rede) é aplicada automaticamente: toda alteração de infraestrutura passa por uma checagem antes de ser aceita, e é aplicada de fato ao entrar na branch principal, sempre a partir de uma máquina fora da própria API, para que uma alteração de infraestrutura nunca dependa da máquina que ela mesma pode estar recriando.O deploy da aplicação em si (a cada mudança de código, não de infraestrutura) roda a partir da própria máquina da API: builda a imagem nova, aplica as migrações de banco pendentes e sobe os containers atualizados.
A interface web do Hub roda na Vercel, não na AWS. Todo envio passa por um build e checagem de lint antes de qualquer deploy: o deploy automático nativo da Vercel foi desligado de propósito para garantir que essa checagem sempre aconteça primeiro. Cada alteração em revisão ganha um endereço de pré-visualização próprio, publicado automaticamente, sem afetar o que já está em produção.
Cada automação tem sua própria máquina na AWS, na mesma região da API, provisionada pelo mesmo modelo reutilizável de infraestrutura como código, adaptado só com os dados daquela automação. A máquina não tem endereço fixo de internet: ela só faz conexões de saída (para a API e para a fila de mensagens), então não precisa ser alcançável de fora, exceto para acesso administrativo, que é restrito por regra de rede própria daquela máquina.Os passos de colocar uma automação nova no ar (registrar o executor de deploy próprio daquela máquina, cadastrar os segredos de deploy, registrar o worker na API) são manuais por decisão, não por falta de automação: são passos que acontecem uma única vez por automação, e automatizá-los exigiria dar à infraestrutura como código acesso a credenciais de curta duração de um jeito que não compensa pela raridade do evento.
Cada automação tem exatamente uma máquina dedicada. Ela é criada uma única vez, no momento em que a automação é registrada, e fica desligada por padrão: liga automaticamente quando chega uma execução para processar, como efeito colateral da criação do job, sem que isso atrase a confirmação de quem disparou. Quem faz essa chamada de ligar é a própria API, usando uma permissão presa à sua própria identidade na AWS, sem credencial separada guardada em lugar nenhum.Hoje não existe desligamento automático por ociosidade: a máquina só desliga quando a automação é desativada. Uma automação que processa execuções esporádicas fica com a máquina ligada entre uma execução e outra, não só durante o processamento. Isso é relevante para quem pensa em custo por automação: não existe uma economia automática de “desligar quando não há trabalho” hoje.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Vade Mecum","colors":{"primary":"#00c08b","light":"#00c08b","dark":"#00c08b"},"logo":"https://mintcdn.com/dom-med/nKes8yCwdf98aqfa/logo/dom-med.png?fit=max\u0026auto=format\u0026n=nKes8yCwdf98aqfa\u0026q=85\u0026s=b5c9c9da6f484a2801f4bc832bae62cf","favicon":"https://mintcdn.com/dom-med/VnMdy37Eakp2d-NC/favicon.svg?fit=max\u0026auto=format\u0026n=VnMdy37Eakp2d-NC\u0026q=85\u0026s=06cac25de75439cd273d9ce3e86fb259","appearance":{"default":"dark","strict":true},"navbar":{"links":[{"href":"https://github.com/Dom-Med/vademecum.hub.dommed","label":"Repositório"}],"primary":{"type":"button","label":"Dashboard","href":"https://hub.vertgroup.com.br"}},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"dom-med","hasAudioNarration":false,"actualSubdomain":"dom-med","customDomains":["docs.vertgroup.com.br"],"gitSource":{"type":"github","owner":"dom-med","repo":"vademecum.hub.dommed","deployBranch":"master","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"collectionId":"8fc74ddc-0a89-45c0-93a9-66ff0be9cbfb","liveDeploymentHistoryId":"6aa3fe87965e5dba175d4159","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6aa3fe87965e5dba175d4159"},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6aa3fe87965e5dba175d4159","clientVersion":"0.0.3894","searchFilterCounts":[{"language":"default","tag":"API","count":29},{"language":"default","tag":"Automation","count":8},{"language":"default","tag":"Job","count":7},{"language":"default","tag":"Visão Geral","count":5},{"language":"default","tag":"Plataforma","count":5},{"language":"default","tag":"Sector","count":5},{"language":"default","tag":"Metodologia","count":4},{"language":"default","tag":"02.Identity - User","count":4},{"language":"default","tag":"Negócio","count":3},{"language":"default","tag":"Operação","count":3}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","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":"editor-v7-file-tree","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":"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":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","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":"per-site-search-delta","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":"editor-branches-v2-autocommit","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-branches-v2","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":"editor-private-page-search","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":"teamspace","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":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","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":"byok-sep-25","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":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"client-snapshot-docs-config","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}],"isAtlas":false,"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"platform/infraestrutura","slug":"/platform/infraestrutura","pageMetadata":{"title":"Infraestrutura","description":"Onde cada componente roda e o modelo de máquina dedicada por automação","href":"/platform/infraestrutura"},"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: \"Onde cada componente roda e o modelo de máquina dedicada por automação\"\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={p:`p`,strong:`strong`,..._provideComponents(),...props.components},{Heading}=_components;if(!Heading)_missingMdxReference(`Heading`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`2`,id:`backend`,children:`Backend`}),`\n`,_jsx(_components.p,{children:`A API roda em uma máquina na AWS, junto com as peças de que depende: proxy reverso com certificado TLS renovado automaticamente, cache e fila de mensagens. O banco de dados fica separado, em um serviço gerenciado de banco relacional.`}),`\n`,_jsx(_components.p,{children:`A infraestrutura é definida como código em duas camadas. A primeira (o bucket de estado e a permissão que dá à automação de deploy acesso à AWS sem chave fixa) é aplicada manualmente, uma única vez. A segunda (a própria máquina, o banco, as regras de rede) é aplicada automaticamente: toda alteração de infraestrutura passa por uma checagem antes de ser aceita, e é aplicada de fato ao entrar na branch principal, sempre a partir de uma máquina fora da própria API, para que uma alteração de infraestrutura nunca dependa da máquina que ela mesma pode estar recriando.`}),`\n`,_jsx(_components.p,{children:`O deploy da aplicação em si (a cada mudança de código, não de infraestrutura) roda a partir da própria máquina da API: builda a imagem nova, aplica as migrações de banco pendentes e sobe os containers atualizados.`}),`\n`,_jsx(Heading,{level:`2`,id:`frontend`,children:`Frontend`}),`\n`,_jsx(_components.p,{children:`A interface web do Hub roda na Vercel, não na AWS. Todo envio passa por um build e checagem de lint antes de qualquer deploy: o deploy automático nativo da Vercel foi desligado de propósito para garantir que essa checagem sempre aconteça primeiro. Cada alteração em revisão ganha um endereço de pré-visualização próprio, publicado automaticamente, sem afetar o que já está em produção.`}),`\n`,_jsx(Heading,{level:`2`,id:`workers`,children:`Workers`}),`\n`,_jsx(_components.p,{children:`Cada automação tem sua própria máquina na AWS, na mesma região da API, provisionada pelo mesmo modelo reutilizável de infraestrutura como código, adaptado só com os dados daquela automação. A máquina não tem endereço fixo de internet: ela só faz conexões de saída (para a API e para a fila de mensagens), então não precisa ser alcançável de fora, exceto para acesso administrativo, que é restrito por regra de rede própria daquela máquina.`}),`\n`,_jsx(_components.p,{children:`Os passos de colocar uma automação nova no ar (registrar o executor de deploy próprio daquela máquina, cadastrar os segredos de deploy, registrar o worker na API) são manuais por decisão, não por falta de automação: são passos que acontecem uma única vez por automação, e automatizá-los exigiria dar à infraestrutura como código acesso a credenciais de curta duração de um jeito que não compensa pela raridade do evento.`}),`\n`,_jsx(Heading,{level:`2`,id:`máquina-dedicada-por-automação`,children:`Máquina dedicada por automação`}),`\n`,_jsxs(_components.p,{children:[`Cada automação tem exatamente uma máquina dedicada. Ela é criada uma única vez, no momento em que a automação é registrada, e fica `,_jsx(_components.strong,{children:`desligada por padrão`}),`: liga automaticamente quando chega uma execução para processar, como efeito colateral da criação do job, sem que isso atrase a confirmação de quem disparou. Quem faz essa chamada de ligar é a própria API, usando uma permissão presa à sua própria identidade na AWS, sem credencial separada guardada em lugar nenhum.`]}),`\n`,_jsx(_components.p,{children:`Hoje não existe desligamento automático por ociosidade: a máquina só desliga quando a automação é desativada. Uma automação que processa execuções esporádicas fica com a máquina ligada entre uma execução e outra, não só durante o processamento. Isso é relevante para quem pensa em custo por automação: não existe uma economia automática de “desligar quando não há trabalho” hoje.`})]})}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":"Infraestrutura","description":"Onde cada componente roda e o modelo de máquina dedicada por automação","href":"/platform/infraestrutura"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Backend","slug":"backend","depth":2,"children":[]},{"title":"Frontend","slug":"frontend","depth":2,"children":[]},{"title":"Workers","slug":"workers","depth":2,"children":[]},{"title":"Máquina dedicada por automação","slug":"máquina-dedicada-por-automação","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"dom-med","siteName":"Vade Mecum","title":"Infraestrutura - Vade Mecum","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-08-24T11:32:31.945Z","originalFileLocation":"platform/infraestrutura.mdx"},"headHtml":"\u003cmeta data-mint-head name=\"description\" content=\"Onde cada componente roda e o modelo de máquina dedicada por automação\">\u003cmeta data-mint-head name=\"application-name\" content=\"Vade Mecum\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/dom-med/OM0s8tsKlRGadK6s/_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/dom-med/OM0s8tsKlRGadK6s/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/dom-med/OM0s8tsKlRGadK6s/_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/dom-med/OM0s8tsKlRGadK6s/_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/dom-med/OM0s8tsKlRGadK6s/_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/dom-med/OM0s8tsKlRGadK6s/_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/dom-med/OM0s8tsKlRGadK6s/_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/dom-med/OM0s8tsKlRGadK6s/_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/dom-med/OM0s8tsKlRGadK6s/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Infraestrutura - Vade Mecum\">\u003cmeta data-mint-head property=\"og:description\" content=\"Onde cada componente roda e o modelo de máquina dedicada por automação\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Vade Mecum\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.vertgroup.com.br/platform/infraestrutura\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Infraestrutura - Vade Mecum\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Onde cada componente roda e o modelo de máquina dedicada por automação\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/dom-med/OM0s8tsKlRGadK6s/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Vade Mecum\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#00c08b\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.vertgroup.com.br/platform/infraestrutura\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/platform/infraestrutura.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.vertgroup.com.br/#organization\",\"name\":\"Vade Mecum\",\"url\":\"https://docs.vertgroup.com.br\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/dom-med/nKes8yCwdf98aqfa/logo/dom-med.png?fit=max\u0026auto=format\u0026n=nKes8yCwdf98aqfa\u0026q=85\u0026s=b5c9c9da6f484a2801f4bc832bae62cf\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.vertgroup.com.br#website\",\"name\":\"Vade Mecum\",\"url\":\"https://docs.vertgroup.com.br\",\"publisher\":{\"@id\":\"https://docs.vertgroup.com.br/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.vertgroup.com.br/platform/infraestrutura#webpage\",\"url\":\"https://docs.vertgroup.com.br/platform/infraestrutura\",\"name\":\"Infraestrutura\",\"description\":\"Onde cada componente roda e o modelo de máquina dedicada por automação\",\"dateModified\":\"2026-08-24T11:32:31.945Z\",\"isPartOf\":{\"@id\":\"https://docs.vertgroup.com.br#website\"},\"breadcrumb\":{\"@id\":\"https://docs.vertgroup.com.br/platform/infraestrutura#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.vertgroup.com.br/platform/infraestrutura#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Vade Mecum\",\"item\":\"https://docs.vertgroup.com.br\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Infraestrutura\",\"item\":\"https://docs.vertgroup.com.br/platform/infraestrutura\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.vertgroup.com.br/platform/infraestrutura#article\",\"headline\":\"Infraestrutura\",\"name\":\"Infraestrutura\",\"description\":\"Onde cada componente roda e o modelo de máquina dedicada por automação\",\"url\":\"https://docs.vertgroup.com.br/platform/infraestrutura\",\"mainEntityOfPage\":{\"@id\":\"https://docs.vertgroup.com.br/platform/infraestrutura#webpage\"},\"dateModified\":\"2026-08-24T11:32:31.945Z\",\"publisher\":{\"@id\":\"https://docs.vertgroup.com.br/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.vertgroup.com.br#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Vade Mecum\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Vade Mecum","nav":{"global":null,"tabs":[{"tab":"Negócio","pages":[{"title":"Negócio","href":"/business"}]},{"tab":"Operação","pages":[{"title":"Operação","href":"/operations"}]},{"tab":"Plataforma","groups":[{"group":"Visão Geral","pages":[{"title":"Plataforma","href":"/platform"}]},{"group":"Arquitetura","pages":[{"title":"Arquitetura do backend","href":"/platform/arquitetura"},{"title":"Workers","href":"/platform/workers"}]},{"group":"Integração","pages":[{"title":"Contratos de integração","description":"Autenticação e convenções da API","href":"/platform/contratos"}]},{"group":"Infraestrutura","pages":[{"title":"Infraestrutura","href":"/platform/infraestrutura"}]}]},{"tab":"API","pages":[{"title":"API","href":"/api-reference/01identity--auth/login"}]},{"tab":"Automações","pages":[{"title":"Automações","href":"/automations"}]},{"tab":"Metodologia","pages":[{"title":"Metodologia","href":"/metodologia"}]}]},"title":"Infraestrutura - Vade Mecum","buildId":"dpl_8LJVMfxYNq6LJkohTrn2iyWT8umj","deploymentId":"dpl_8LJVMfxYNq6LJkohTrn2iyWT8umj","dynamics":[],"chunks":[]}